doriansmiley / lotusJS-MWV

MVW framework for applications based on lotusJS web components
2 stars 0 forks source link

Create Apollo Client 2.0 demo for GraphQL #12

Open doriansmiley opened 6 years ago

doriansmiley commented 6 years ago

Video: Stack overview https://www.youtube.com/watch?v=ykp6Za9rM58 Client: https://www.youtube.com/watch?v=eHjP2WFt0zU

Blog: https://dev-blog.apollodata.com/apollo-client-2-0-5c8d0affcec7

GraphCool Framework, this tool works with Apollo Server https://github.com/graphcool/framework

Apollo Client: https://www.apollographql.com/client https://github.com/apollographql/apollo-client

Apollo Engine: https://www.apollographql.com/engine/ https://www.npmjs.com/package/apollo-engine

Apollo Server: https://www.apollographql.com/docs/apollo-server/

Schema Stitching is amazing! Learn about it. Basically you can modularize a schema so it can be served from a disperate server. This is a critical thing for SaaS components which will want to combine resources from all over the web. Using mediators to speak GraphQL with Schema Stitching will allow web components to interact with data form all over the internet in a nice loosely coupled way. Ir also ensures data models are portable between applications, something which is sorely needed and will lead to less adapters being used by web components themselves. It's even possible that the entire adapter patterns for mediators could disappear as GraphQL schemas become the native data models for components.

GraphQL is a huge freaking deal. With schema stitching you can actually standardize data models across the web. Independent data sources can define their data for consumption in third part applications in a universal format. This is ground breaking. When combined with web components you can model, consume, and visualize every piece of data in a plug and play manner that is independent of implementation details. This will change everything.

doriansmiley commented 6 years ago

I think this demo will show just how powerful component mediators are for web components. The enforce good encapsulation of code for fetching and binding data so the web component itself is highly reusable in other applications. The primary reason lotus-mvw is different from other frameworks is the mediation of web component which makes it easy to incorporate the same component in many different applications.

GraphQL is an excellent choice to for this demo simply because mediators make it easy to determine where data requirements for the client are defined. Mediators play a critical role in fetching data from graphQL and transforming it for the web component using adapters.

ghost commented 6 years ago

Thanks for the links, and great idea for a demo!

doriansmiley commented 6 years ago

@KipOmaha there's also AWS App Sync. They offer a managed service that implements GraphQL and the Apollo client.

ghost commented 6 years ago

Thanks @doriansmiley do you recommend creating an account with AWS for testing or can I just use graphQL? AWS would seem simpler.

ghost commented 6 years ago

On a side note I've been looking at WolframAlpha'a search engine machine. I want to incorporate a database system into a lotus canvas template 'machine' that uses real time data and static data like the one on wolfram alpha.

I think GraphQL would fit that need and AWS would compliment that very nicely. Do you have any knowledge about Wolfram that I can draw from [A good article or blog] though?