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.
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.