Hi everyone,
The last weeks there has been a lot of drama everywhere about Meteor. Like, this thread for example: Why I'm not choosing Meteor for the foreseeable future for my projects - #63 by shock
I got exposed to Meteor not so long ago; in fact, when I heard about it - I was unaware of its very existence. I’ve been a Rails guy for quite a long time, and I have been working in the technology field forever. I love to create new things. I am not a fanboy that runs behind a new library because other people think its awesome. I look at technology with the perspective from a development point of view and the commercial aspects when adopting new ones.
I completely understand why there has been such a negative spiral of talk lately. And, I would lie if I wouldn’t partially agree with most arguments and emotions. However, I believe there should also be an unbiased opinion about why I am choosing Meteor for my projects. I do not draw the crowd for a blunt medium article, but I believe I can at least balance it out by sharing my thoughts here.
1. Nothing has really changed at the moment
Yes, the roadmap has been announcement (poorly) and the way it has been, was quite damaging (of course, no official response on that will ever see daylight I guess). Even though the future is all about React according to MDG, I’ve seen so many announcements and promises, it wouldn’t surprise me when the very the next thing would simply replace React at the very last minute. So, if you are a big Blaze fan who does killing with Jade and Iron, well, nothing is going to stop you.
2. Nothing compares at the moment
Yes, there is Phoenix and Rails and yada, yada, yada. However, Meteor is still one of the best working platforms out of the box. Period. It’s living up to the seven principles it promises:
- Data on the Wire
- One Language
- Database Everywhere
- Latency Compensation
- Full Stack Reactivity
- Embrace the Ecosystem
- Simplicity Equals Productivity
Of course there will always be someone who disagrees. However, if you ever read the manual at least once, these principles are perfectly dumbed down to understand for anyone that Meteor is living up to them. It doesn’t promise MVC, it doesn’t promise other things.
3. Vendor packages that have already reached maturity
With vendors like Kadira, Xolvio, Meteor Toys and many, many others, the Meteor platform is a force to reckon with for additional tooling. I’ve worked with Rails for years, and touched TDD only after years when the right tools came available. Monitoring for web applications have been lifted up to the next level; from console output to visible graphs; following what is really happening. Toys to quickly tweak and track what is happening with cute buttons. Tools that have forever changed the way I look at web application development.
4. Reactive programming
Rails for example is still scratching the ice of the truck outside in this regard. Face it. I hate to use MDG marketing slang - but it is what it is - tomorrows solution today. There will surely be another Meteor-like thing next year. But how will you deal with things now? Web application development has always been fast paced, and I bet someones mommy on it (sorry, mine has been archived) it will be all about being reactive.
5. Integration
With methods and DDP, consuming and integrating data is a piece of cake. DDP clients are available for Ruby, Python, Java, C# and JS. Meteor has a lot of features that aren’t even tapped in yet.
6. Serious production apps
Already have various companies Meteor projects running in production. They have evolved the future of Meteor as a platform by sharing their knowledge and made pavements. Its no longer 0.x (the platform, not the company), and even if there are many, many things to improve (which is normal to any software solution), there is no real pain involved. If you think that a couple of gigs of memory are a huge pain, you probably have never tried clustering a WAS or JBOSS before.
7. Enough material to go around
A lot of complaints are about tutorials, documentation and being outdated. Well, the manual is very complete and - admitted - not perfect, it has been my best friend. Other initiatives like the Meteor Cookbook might include outdated examples, but it has been a compilation of experience for over two years. Don’t start learning to make risotto when frying an egg is still on your TODO. The Meteor homepage has good startup tutorials, and you can find a lot on MeteorJS Club
and start learning. If you worry about production applications, you should be open for investing in your projects by learning and purchasing resources.
There are plenty reasons why you shouldn’t choose Meteor for your real projects:
- you have no experience with web application development and all the pains that come with it
- you want a super all featured product, open source and free and expect premium support and fit your specific use case
- you want to import Photoshop templates by typing in some magic command and have a fully animated website with parallax fancy banners and never worry about events
- you have found a better alternative
Just wanted to share this.