Unfortunately, I have to agree with most of these points. I’ve moved on from Meteor for more control and because Service Workers still haven’t been implemented, which breaks PWAs, but haven’t found any framework that comes close to Meteor in terms of power and ease. Vulcan came closest (Meteor + GraphQL + React).
Accounts - yep, a complete mess right now. No clear, simple, solution. It’s very easy to screw up something about maintaining accounts yourself, and accounts-as-a-service solutions can get expensive, or come with all sorts of limitations. For example, Firebase Auth doesn’t support 2FA, Firebase Web UI doesn’t let you disable user signups (which can be crucial for an internal admin tool, the kind Meteor is great at prototyping), social login is so slow that users abandon the signup flow, and the bundle size is huge. Okta, a major social login provider, doesn’t support Twitter.
Search - if provided by Mongo, it’s still sub-par. We’re building a crypto news aggregator and found that stemming is okay, but far from Algolia or ElasticSearch. For example, “China” doesn’t match “Chinese”
. There are also various limitations that MongoDB imposes on search (can’t use $text in change streams, for example).
Mongo integration - Firestore in particular has a really peculiar set of limitations, including:
-
there’s no
!=operator -
In Cloud Firestore, you can only update a single document about once per second, which might be too low for some high-traffic applications.
This is not a plan limitation. You can’t pay to remove it. As a workaround, you must create shards.
Backend:
A simple “update this document” method in Meteor can become quite horrifying in REST if you need authentication, error handling and additional features.
GraphQL makes that pretty easy. You write the authentication and error handling once, then resolvers can be as short and focused as an if (userIsInRole(context.uid, 'manage-team')) collection.find(...).
Final thought
If Tiny picks up Meteor after the acquisition and solves the major lingering issues, they still have a excellent chance of (re)turning it into the full-stack platform of choice for a large number of developers.