Common Misconceptions about Meteor...

1. It’s too much “magic”.

Some say that Meteor has too many features. Renowned author and innovator Arthur C. Clarke said:

"Any sufficiently advanced technology is indistinguishable from magic."

Agree with Clarke’s point of view or not, many believed Rails to be “magic” when it first emerged. Yet today there is a vibrant and thriving business structure around Rails.

2. Building software should be hard and labor intensive.

Other people believe Meteor makes it too easy to build web applications. Yes, to achieve an end-result with Meteor compared to other frameworks typically involves less code. (However, less shouldn’t necessarily be equated with easy.) Nonetheless, less code generally means less time involved. With that, there is more time and resources to dedicate for other parts of business. Furthermore, less code means less liability in the long run for businesses.

3. Not enough structure and conventions.

Some prefer frameworks with rules and structure. However, there are plenty of dev languages and frameworks that have evolved as we learn about programming, and best ways to do it. We actually have increased flexibility to explore these ideas with Meteor. Nevertheless, there are many resources on Meteor "best practices". But, ultimately the individual decides which to adopt.

4. There is no production-grade MySQL support.

At the time of writing, SQL support for Meteor is on the roadmap. In the meantime, there are several packages available to integrate MySQL with Meteor, like numtel:mysql.

5. Subscriptions are not scalable.

Scaling comes down to your app and how it manages data. It is not a problem for Meteor web applications alone. Scaling is an issue that can be found across languages and frameworks.

However, Meteor has some advantages when it comes to scaling because of its reliance on DDP. With DDP, one can easily separate out and build a new system that just has to adhere to the API for DDP to work with a Meteor app. This means that when the time comes, it easier to swap out node for other backends.

Still, while building Meteor apps there needs to be diligence on behalf of the developer to only put relevant data into the publication rather than publishing everything. And fortunately, there are tools available like meteorhacks:aggregate to help with Mongo aggregation.