Used meteor to try and build a production ready project management app in a company I was employed at years ago. We never got it off the ground and this is one of those rare times that technology was the direct reason we couldn't make the product work.
Meteor was great for quick and dirty apps but beyond that meteor never made it past the feeling that it was a prototype itself.
Everything about data management was painful the moment you started to deal with production related use cases. Unrelated changes to nested fields would propagate changes up the chain which would in turn trigger data refreshes of entire collections. And the documentation never helped here. The documentation was only about the minimum needed to perform a task, but for all their talk of opinionated frameworks, the community had to come up with their own opinions on how to actually use the framework efficiently.
Overall it was a dumpster fire but it had a positive effect on me since I was early in my career. I learnt how to better evaluate technology to actually understand whether the tools were truly production stable ready and more importantly if the documentation and community were also "production ready". So I guess I'm kind of grateful that meteor happened to me. ¯\_(ツ)_/¯
Very much agree with you on this. I picked up a live Meteor app that felt very much like it had been built as a prototype that had been built upon into a production app. It was a mess, it had clearly evolved over time and over multiple Meteor releases, there was no obvious structure at all - just felt like a bunch of files that were all loaded into some soup that became the app.
I don't think Meteor ever had decent docs on going from the prototype stage to a fully fledged application and how you'd evolve the structure over the time.
I could name a lot of problems I've had with Meteor, and I definitely agree with having a proper evaluation of tech before using it - knowing the limits of the stack you choose and if it's going to lock you in in the long term.
It's felt like a framework that hasn't been given time needed recently to keep it up to date, improving docs etc as MDG have shifted their focus on Apollo.
Meteor was restrictive and opinionated in the beginning. MDG was ambitious about how comprehensive they wanted Meteor to be and were successful at providing quick project setup, sockets out of the box, and easy mobile development for iOS and Android before Nativescript was around.
As other frameworks like React came on the scene, many developers jumped ship and left Atmosphere packages unmaintained. It felt somewhat backward and out of touch with the Javascript community. After dropping the Meteor repository Atmosphere in favor of npm, opening up to other databases than MongoDB, and adding integrations for Angular, React and Vue in lieu of Blaze, it felt reintegrated. Now it's mostly stable and configurable.
Hopefully the Tiny team can continue in this direction by bringing Meteor up to date with the current versions of node and Mongo, continuing to support the front end rendering libraries to integrate with their respective communities and improving Typescript support.
We have multiple Meteor production apps. It's by far the best developer experience I know about in the JS world. Zero config build tooling. Easy reactive queries. Saying it got steamrolled by npm, mongo and react doesn't make sense. In the end it's a node application and so you can use any npm package. It's preferred view layer is react and you kinda have to use mongo.
I guess I was referring to earlier Meteor where it used its own package manager (Atmosphere?) and front-end/templating (Blaze?) solutions. And actually that MySQL/Postgres might have been preferable to Mongo.
I love meteor for small scale project - personal / utility apps and such. I haven't found anything that compares to the efficiency of spinning up a POC app; that being said, in its current form it is horrible for making anything other than that. Real-world products need a more robust solution, and it's my experience that anything written with meteor will likely need to be re-written when it picks up traction
A few years ago, we used Meteor to prototype WorkGrades [1]. It was my first and last web app built with Meteor (mostly because it didn't seem to be catching on in the JS ecosystem, despite all of the initial hype).
No kidding! It was mind-blowing to me to be able to create realtime webapp demos w/ so little effort. Inspiring and exciting stuff. Frameworks come and go, but for many, meteor heralded the reactive paradigm in a jaw-droppingly impressive way.