MeteorJS vs AngularJS ain't a thing
Heed my warning: This article was written years and years ago when Meteor was a wee lil’ lad. Way before Apollo GraphQL was even a twinkle in Sashko’s eyes. Take what follows as nothing more than an entertaining glimpse into the past. 😉👍
I am sure you see/hear it frequently…
What should I learn, Meteor or Angular?
We all know that is the wrong question, so below you will find my answer ☺
My opinion on Meteor
Meteor actually modifies NodeJS and becomes your server. It supplies everything you need to run a web/mobile app. You add frameworks on-top of Meteor’s platform. Meteor comes with a bunch of built-in frameworks. One of the “built-ins” is a View framework called Blaze which is a better comparison to Angular. Meteor’s “built-ins” can be replaced. If you want to replace Blaze with Angular then you can! Simply run:
$ meteor add urigo:angular
Boom you have Cheetos in your Jiffy.
My opinion on Angular
Angular is sorta the King of modern front-end frameworks. It hits a sweet spot of being able to control almost the entire front-end while allowing any backend. Its thoughtfulness of what and how it controls has made it stand the test of time (in software years). The collaboration with Famo.us is one recent example.
If you want to play it safe and develop a front-end in a very well defined space then AngularJS is the battle-tested man for the job.
Why I think people get confused
It makes sense that newcomers are confused in thinking Meteor and Angular are similar when they really are not.
- Real-time UI: Angular provides real-time front-end data binding between elements. At first glance, it looks like Meteor does too but at deeper inspection, you'll realize Meteor is reactive on the back-end and front-end! Something Angular could never do since it is a front-end only framework.
- Community References: Angular is super popular. Its popularity makes it a good reference and a great buzz-word to get traffic to your blog or twitter post. But (as this post points out) Angular vs. Meteor is an inaccurate comparison. People title blog posts this way purely to achieve emotional marketing.
If you want to be “known” then make sure to beat up the biggest/most-popular kid on the playground.
Angular wants to control your UI, Meteor wants to control your whole app. So who are the worthy adversaries of these monsters?
Notable Angular (UI Framework) Challengers
Notable Meteor (Node Platform) Challengers
So bro, answer me… what should I learn?
Second, It depends on your end goals…
… Wanna work for Facebook? Learn React, Flux, PHP, etc.
… Wanna work for Google? Learn Angular, Dart, Polymer, Python, etc.
… Wanna work for a 2 to 4-year-old startup? Learn M-E-A-N
… Wanna work for a 5 to 10-year-old startup? Learn Angular & Ruby on Rails
… Wanna create a new startup and impress everyone with how fast you add new features? Learn Meteor (& add whatever UI framework you want)
One last note for beginners. When building a web app you are going to deal with a lot of components (servers, databases, frameworks, pre-processors, packages, testing, …). To manage all this we created automated builders like Grunt & Gulp. After all, making web apps is serious and complicated business… or did we just make it complicated so it seems serious??
If you rather not bother with all that complicated build stuff then choose Meteor, it does it all auto-magically.