Apollo: The Ultimate Meteor's New Aim
What is Apollo?
Apollo Server is between the databases/APIs and the client, while Apollo Client passes the data into application with view layer. The queries in specific format from client to server are made in Apollo GraphQL syntax. The Server translates those queries into the right syntax for each source and returns into JSON data to the client.
Benefits of Apollo
- Control - Apollo gives the amount of control on the data. Just like Meteor's all-real-time model, Apollo gives the fine control that how and when the user data should be synced from the server.
- GraphQL - Apollo uses GraphQL. Most of the people consider that GraphQL is the better alternative to REST due to its flexibility: instead of setting up multiple API endpoints each of all offering a fixed range of data, and then let each client specify exactly what data it needs.
- Database Independent - Like Meteor and its integration to MongoDB, Apollo is database-independent. The user can only use it with MongoDB, but also can connect it as well to MySQL, PostegreSQL, or even external APIs.
- Portability - The most important benefit of Apollo is portability. Using Apollo doesn't tie the user down to Meteor, but it make each pieces of the user stack much more independent. This is the thing to keep in mind if the user ever want to migrate out of the Meteor ecosystem.
To sum up the things, transferring a Meteor app from pub/sub to Apollo do require a great amount of work, because the user need to migrate existing parts of the app, and also because the user need to create new parts from scratch.
Deligence Technologies is Meteor Prime Partner and we have completed 18 different Meteor Apps. We have already done our hands dirty with Apollo.
In this app we have integrated Apollo with Meteor React. Here we are using MongoDB & MySQL as databases. Here user can select desired database and can insert any post in same. Inserted post will get visible inside respective column.