I have been developing with MEAN for about a year. I heard about growing popularity of Meteor. If anyone has firm development experience with Meteor and MEAN, please share your comparative views for both platforms.
Thanks!
I'll just add two points to Joshua David's answer:
Meteor, since it's a single framework, offers a more streamlined, coherent development workflow. The Meteor CLI does most of the heavy lifting for you, from dependencies like Node/Mongo, to package management, to automatically watch and reload during development. With MEAN there's going to be more manual plumbing required.
Meteor's core value is the simplest data synchronization between the server and the client (realtime is just a side benefit). And it does not require you to use the built-in Blaze rendering engine. In fact we are moving toward a frontend-agnostic platform. If you want, you can easily use Angular with Meteor, and we have an official tutorial for that. The best part is, with Meteor you get the realtime magic and optimistic UI updates in Angular as well! In the upcoming 1.2 release we are going to offer official support for React, and will continue to work on making it easier to choose other frontend frameworks in the future.
I have used both - so here is my opinion on both the stacks.
Meteor :
Meteor is very good for building realtime apps. In meteor your database (MongoDB) is realtime - so all your connected users see the updated data. There is no need of any extra work like setting up sockets and other stuff.
Both Client and Server share the same code which means the amount of coding needed to achieve something is reduced. What took weeks will now take days or even hours to implement.
Meteor has got good community support and the development is going on actively. More and more people are collaborating to release libraries for Meteor. So, no doubt you will get good support from the proactive community.
MEAN
MEAN stack is older and mature in my opinion. So, naturally you will find a lot of libraries and frameworks to support you. The ecosystem is larger and you will get a lot of help from people around you. If your app is more API driven and doesn't need realtime features (may be very less) you may rather go with MEAN stack.
Both Meteor and MEAN stack use Node.js and MongoDB. So, the only thing that is different is the involvement of Angular in MEAN stack and realtime database in Meteor. If you are a fan of Node.js or server side JavaScript then you can have that in both the stacks. The question is do you want to use Angular on the frontend or just Meteor? This is a matter of preference and the task at hand.
Hope this helps!
May be Evan You (@yyx990803) from Meteor team can give a better comparative analysis. I'll invite him.