Finding a mature and long-lasting setup with meteor

FWIW, if you’re open to working with VueJS, I found this starter using Vue + Buefy (Vue Components with Bulma CSS) + Meteor to be super effective for helping me get up and running: https://github.com/JorgenVatle/Vue-Meteor-Starter

My earlier code was based on Blaze + ViewModel and I was really indecisive for a while on abandoning Blaze, but realized that Blaze doesn’t have the performance or community support to justify long-term investment of time and energy.

Working with Vue (esp with Single Page Components) is a lot like working with Blaze, except that its really fast, and you have tons of ecosystem support. It helped that I’d standardized on Bulma as my preferred FE UI framework, but having Buefy wired up with Vue was absolutely a breeze, esp as it gives you some awesome widgets out-of-the-box. I was able to refactor my entire codebase to Vue from Blaze in a week, and I could continue using my server-side logic as that didn’t change. The only tricky part was getting Auth to work with Vuex but that was sorted in a day.

What really took this to another level was when I paired this with https://github.com/Herteby/grapher-vue, which lets you use Grapher as your query interface (you can literally create publications/methods on-the-fly) and to perform relational lookups across collections ala GraphQL. Setting up exposures and links is a one-time effort, and after that most of my code is in FE since I define my lookup queries in my Vue components.

I’m not writing any publication code (I’ve refactored this part of the server codebase as I can have control over what’s queryable in the exposure firewall in Grapher but still build publications on-demand), and I only have methods mainly for mutations/data modification, and lookups from 3rd party services.

Hope this helps.

I recently just got rid of frontend frameworks for my more “sustainable” apps. Nothing but JQuery. Very refreshing.

You could see how I made it:

$ npm install -g maka-cli

$ maka create VanillaApp --client=vanilla

You said what?!?! :rofl:

I should caveat that with “Nothing but ES6 and JQuery!”

1 Like