MicrosoftDocs / AdaptiveCards

Docs for Adaptive Cards
https://docs.microsoft.com/en-us/adaptive-cards/
Creative Commons Attribution 4.0 International
72 stars 138 forks source link

gRPC #217

Open SandyPetrella opened 5 years ago

SandyPetrella commented 5 years ago

Any plans to implement gRPC as the communication mechanism?


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

matthidinger commented 5 years ago

Hi Sandy, thanks for reaching out to us. Can you elaborate on what you need by gRPC support? Adaptive Cards thus far has not made an opinion on transport, it's really up to each app to handle how they want Action.Submit to relay messages back to the card author. The only thing we do today is open websites using Action.OpenUrl. I'd love to understand more about your requirements here

SandyPetrella commented 5 years ago

Hi Matt. First, love the adaptivecards concept. Also, I apologize for not fully understanding the implementation process - just getting started with this. I will say I've been writing software since my first professional app on MS-DOS 3.0 in 1989 (a DOS based email client talking to UNIX mail). One of the problems I have with the RESTful/JSON world is the constant back and forth of objects from binary to text back to binary. So one of the reasons I'm looking at gRPC (was never a fan of WCF even though I've used it) is the ability to keep the data in its "natural" state - if that is ever really possible. I guess then less of gRPC as a transport and then more of a "binary" adaptivecard. Such that my calls to get and set card data in a data store could just pass back and forth the native object and hand that to the card rather than just JSON. So basically a binary definition of a card. I realize that is not likely and still be cross-platform.

I am building a recipe "system" and want to present the recipe in the form of cards. I also plan to let the recipe owner hit an Edit button of some sort and turn the same data into an editable card. So two different cards but the same data packet - rather than two cards with different instructions and the same data.

That said, what you have built will more than do what I need. Having to move data in an out of JSON is a small price to pay for what you have made possible for me to be able implement across platforms.

klausries commented 4 years ago

I have a similiar issue, I looked at many systems and I like the AdaptiveCards approach.

It would be even better for AdaptiveCards if the type system were based on a common foundation. JSON-LD would e.g. define "@type" and "@context". YAML would allow to use tags instead of "type" and other advantages. It seems straightforward to apply for 1.2. Protobufs -- which is the foundation for gRPC -- would be an even stronger type system and APIs/objects being build build. I am considering to use YAML as an input language and Protobufs as the binary format.

However mapping the upcoming templating system might be worthwhile design test, I find this difficult to do myself. Especially the interpolation of repeating elements a type "RepeatingItems" might be more natural (but also the $when).

RobloxMODApk1 commented 2 years ago

Roblox Mod Apk helps you to make your mind and body sharp as in this you need to add your creativity. This game also helps you to make friends online as millions of people are in this game. You can easily buy anything using the game currency Robux.

RobloxMODApk1 commented 2 years ago

Get All Android APKs on Apkshut. What are waiting for!!!!!!!!!!!!!!!!