Hello Meteor community,
After a lot of work, we managed to release Grapher 1.3. I chose to make a separate post out of it, since I want this focused solely on this 1.3 release.
I believe that currently, what Grapher offers is jaw-breaking in terms of performance. Click here to learn more about Hypernova. It outmatches relational SQL databases in terms of bandwidth (fact!) and it will also outmatch it in certain scenarios also.
My guess is that it’s faster than a traditional SQL+ORM (Let’s say Doctrine) on top of it. However, I know that big claims need to be backed up by big evidence, and if someone wants to step up and prove me wrong (so I can focus on coding and other stuff) I’ll be very happy. If not, I will eventually test this hypothesis.
If you are already using Grapher 1.2, read the MIGRATION.md
file. It should take you less than one hour to adapt your code base.
We’ve introduced denormalization, result caching, resolver queries which will replace all your Meteor methods that fetch data, we’ve cleared all the bugs, and we improved performance even more. Alongside that, we created a new documentation aimed to walk you through Grapher in a natural way, and showing all the goodies it has.
We’ve opened to path to use Grapher outside Meteor in React Native apps or any other language (PHP, Python, Ruby, etc)
We cleaned the design of Grapher Live, making it more pretty to look at, and made Grapher React use the HOC pattern recommended by Facebook + included with nice displayNames for easy debugging. As a side note, Grapher works with Redux.
Grapher can work easily with Redis Oplog, giving you absolute power when building Meteor Apps.
Special thanks to @herteby who made this awesome package herteby:denormalize which enables Grapher to become to most efficient data layer for MongoDB yet. And also for his integration with Vue (https://github.com/Herteby/grapher-vue) and thanks to you all for the encouragements and nice words.
I firmly believe that this is the start of a revolution in the way you think about data. I also think Apollo will have it’s place and it cannot be replaced by Grapher, because Grapher has it’s roots deep in MongoDB, but you can have reducers (leaves) or resolver queries, that communicate with any API.
The next probable steps:
- Achieve a test coverage of 80%
- Invest in security (maybe hire a consulting agency)
- Move Grapher-Client to NPM
- Abstract Hypernova so it can be used by Apollo, other clients
- Some other features that will be requested by the community
Enjoy!
PS: We’ve also opened https://opencollective.com/grapher/ . All contributions will be redirected to Grapher in form of bounty hunts.