Meteor Hacks, run by Arunoda Susiripala, covers scaling and tooling for apps built on the Meteor JavaScript framework.
HN commenters credit the founder with major contributions to Meteor, including MongoDB oplog tailing, and link it in discussions of Meteor scaling and FastRender.
Thank you.
Saying that Node has a package manager is a huge understatement. Node has one hell of a package manager, but you have to hack[1] around Meteor to use npm modules, even in the latest version.
My impression of Meteor, and the impression a number of node people seem to share, and which I've seen reinforced on HN, is:
Meteor is in an almost adversarial relationship with the node.js open-source community, because while they're good hackers building something cool, they took millions of dollars in funding[2] and want to keep their options open for monetizing that codebase.
This makes every decision they make differently than other open-source real-time frameworks (to build their own package manager, require a contributor agreement on an MIT licensed project, and use a nonstandard install process[3,4]) considerably more worrisome.
And it's frustrating, because there's nothing going on in Meteor that necessitates going outside of the "node.js ecosystem" -- aka NPM [4,5,6].
That impression might be unfair in some way, and obviously the meteor people spend a lot of time responding to just these sort of concerns from the node.js community.
But "Meteor" means "worry" to me.
---
[1] http://meteorhacks.com/complete-npm-integration-for-meteor.html
[2] http://venturebeat.com/2012/07/25/meteor-funding/
[3] https://atmosphere.meteor.com/
[4] https://github.com/meteor/meteor/pull/516#issuecomment-12919473
[5] http://derbyjs.com/
[6]…
I want to clear some things:
0. Meteor is in version 0.6.6.4 so there are things not as good as they could/will be.
1. scaling: meteor is 100% scalable. There are meteor smartcollections which use the MongoDB optlog. Nice read: http://meteorhacks.com/lets-scale-meteor.html .
2. Right now you have to stick to MongoDB this will change in a later version.
3. Meteor will get a new rendering engine which will allow you to put angularjs( god only knows why ) or haml or some other templating thingy in meteor.
4. You can use meteor with phonegap right now.
Will meteor solve all your problems? No!
Will meteor will make you not think? No!
It's a great new piece of technology and you will learn new pattern and things. the livedata package and ddp package are great packages on their own.
It occurs to me you might like this:
* https://atmosphere.meteor.com/
* http://www.discovermeteor.com/ - It's definitely my favorite Meteor textbook, and not just because it's an interactive Meteor app.
Re: "There is not yet a way to break up an app into pages"
- https://atmosphere.meteor.com/package/router
Re: the toys on madewith.meteor.com
There actually are a quite a number of production apps, rapidly growing, including:
- Gander.io - email syncing across devices
- JSpot (JoinJSpot.com) - Jewish dating site
- 26Plays.com - playlist manager
- ApplyBin - application manager
- EdThena - ed tech
- Torsh.co - ed tech
And a certain interactive textbook. :)
Re: scaling, multiple instances, etc.:
http://meteorhacks.com/meteor-cluster-introduction-and-how-it-works.html
Thanks for that link. I did a bit of reading, and found this [1].
> These are the main bottlenecks when scaling Meteor, and they introduce two main issues: 1. The polling and comparing logic takes a lot of CPU power and network I/O. 2. After a write operation, there is no way to propagate changes to other Meteor instances in real-time. Changes will only be noticed the next time Meteor polls (~10 seconds).
This seems like quite a limitation. So I wonder if there are any libraries out there that successfully solved this?
[1] https://meteorhacks.com/does-meteor-scale.html
FastRender [1] for Meteor is a similar but not analogous project. Similar in that it improves initial render speed. Different in that it does so by delivering the data required to render the page along with the initial payload so things are still client-side rendered, not rendered for you on the server.
For what its worth, FastRender was first released in 2013. The just-released Meteor 1.3 now has ES2016 module support which should enable more improvements in this area.
1. https://meteorhacks.com/fast-render-internals-and-how-it-works.html
There will be breaking changes as Meteor moves from 0.6.5.1 to 0.7 to 0.8 up until it reaches 1.0. This is part of the bargain of working with pre 1.0 software (APIs etc. will be stabilized once 1.0 is reached).
I have found these "breaks" are minor and usually require a few minutes to fix. That said, I also tend to lag behind by a few weeks as other in the community work through the details of the breaking changes.
Meteor Hacks (http://meteorhacks.com) and EventedMind (https://www.eventedmind.com) are two great resources.