I’d put a +1 under almost everything written here. Accounts is just so much less pain than anything else from the JS ecosystem. Meteor is still a very solid choice for new projects, and MongoDB’s query syntax + not having to use an abstract ORM + query generator is a big plus.
My biggest personal concerns right now (YMMV):
- MongoDB’s focus shifted towards closing its ecosystem and having a lot of shiny vendor-locked-in features, while killing its competition. There is no drop-in DB replacement that I could host myself on-premise if necessary. Some DBs begin to offer MongoDB-compatible APIs, but don’t support the MongoDB geo APIs that I currently use.
- when starting to grow more products with Meteor, I put a bet on Postgres for Meteor to come into existence at some point so I could migrate when my app grew bigger. It did grow bigger, and now MongoDB is simply not performant enough for my case anymore. The project to support Postgres with pub/sub has been abandoned. Anyone else who’d be interested in reviving it?
- IMO,
accounts
needs a built-in way to function as a server for external (non-Meteor) apps. This would allow to deploy more performant components where Meteor is no good fit, but that still need authentication. I know there is accounts.js, but I think authenticating external clients should be a core part of Meteor. - Everyone and their parent will have their own k8s at some point. How does Meteor integrate there? What about better support for Dockerfile builds? What about built-in integration with things like Prometheus and OpenTelemetry so you can collect method/sub stats in other APM solutions? Or a bring-your-own-cluster license model to run Galaxy on-premise? What about integration for k8s API and a Meteor.js-based k8s operator boilerplate, for example?
- Atmosphere packages begin to crumble slowly, packages are not maintained. This is an issue because many of them have (native) dependencies, they won’t survive an
npm install
anymore with the coming node updates. For meteor projects to stay alive longer, the documentation should replace Atmosphere package usages with npm-based solutions (if possible without native dependencies) where possible.
Looking elsewhere, I really liked these random ideas:
- the speed and ecosystem of Postgres, which thanks to Zalando can easily run automatically on your own k8s. It’s really a thing.
- the speed of queries in Postgraphile (not so much its account system security, it’s complete Postgres-based dev flow + per-core on-premise pricing)
- the TypeScript API + Admin UI of Prisma
- Airtable. How about a Meteor.js-based community-developed minimal Airtable clone…? This could be crazy good for the whole ecosystem.
- the apparent Semantic Web lift off. An ‘official’ triple store integrations for lowering impedance between Meteor apps and the Semantic Web could be a huge win for the web as a whole.