I’d been a long-time ColdFusion developer (yikes! since 1996) and loved how quickly you could develop multi-featured apps with not a lot of code. I switched to Meteor around 3 years ago and have 7 Meteor apps built of various complexity and features. Like ColdFusion, it’s easy to build things “incorrectly” that can impact the performance or reliability of the application. i.e. both platforms give you enough rope for you to completely strangle yourself with.
The hardest part is optimizing Meteor’s pub-sub and memory consumption. One thing that doesn’t get mentioned much is the performance of the underlying database provider. After switching some of my apps to fast-network, SSD-based MongoDB instances, I could see much faster performance in several parts of my apps.
As previously mentioned, I do sometimes rely on methods to retrieve data, since the awesome reactivity pub/sub provides isn’t always necessary, or worth the penalty.
I’m currently working with Vue, Vuetify and Vuex for the front-end (no Blaze at all), and must admit it’s been tougher than expected to get started because there seems to be MANY ways Vue can be integrated with Meteor without really seeing a “Best Practice” obvious path. The online examples are all over the place, but the single file components truly are sweet!
I have no short-term plans to switch away from Meteor, but there’s also the thing about using the right tool for the right job, and I can see where Meteor might not be the best fit in all cases.