Using MeteorJS for Client Work

Maybe I've come full circle. I've been developing for 10 or 11 years now and I must say a lot has changed in that time. A lot has changed in the past two years if I'm honest.

I started with PHP, flirted with Rails, did a stint with Wordpress and Jquery, hopped on Meteor and have been mostly building with React since.

I started contracting in the spring of 2019 and made a switch to full time contracting December 2020. What a year.

What am I trying to say?

In a nutshell, I propose Meteor is pretty damn good for client work. Of course, there are caveats, but with the type of work that I do, it's pretty damn good.

I guess this begs the question "What kind of work are you doing?"

Lately I've been building custom tooling for small businesses and an events company, Meet on V.

Full stack effortlessly

Almost every application has the full stack hidden in it somewhere. Even the beloved JAMstack.  The main question is how often do you need to access the Backend and how decoupled it is from the Frontend.

There have been many paradigms in vogue over the years and the JAMstack is the current favourite (🇬🇧).

Meteor gives you that full stack effortlessly. It uses MongoDB under the hood but hides most of that away and lets you get on managing it with Collections. Not to mention that it uses a Pub/Sub model that makes data flow really nice to work with.

I'm not saying this is better or worse than running NextJS with another data layer. I have a lot of fun using both. It is nice not having to decide as we know decision fatigue is a real thing.

Meteor Cloud is baller for deployment

Formerly known as Meteor Galaxy, Meteor Cloud also wins with deployment ease. I think developers quite often forget to pay themselves for the time they spend configuring deployment.

It's unjustifiable to spend 3 hours setting everything up to then have to monitor it and baby it over the long haul. This gets incredibly clear when you're billing a client for this time.

Of course, this depends on the value that the application your deploying provides. I'll leave it up to you to decide whether you want to spend more time on deployment or more time on development. Odds are the value is hidden in the development.

"But I don't wanna pay that much for a server"

Good news, you don't have to. You can deploy to Heroku, Digital Ocean, and others.

React code example
Photo by Ferenc Almasi / Unsplash

Choose your Front End

We could choose to have an argument here about which Front End is best, most performant, best Developer experience, etc. I'm bored.

With Meteor, you can choose which you want to work in, and use different ones with different clients. Or use different ones with the same client.

Meteor works with Vue, Svelte, React, Blaze and Angular. Have your pick. Pick all of them and make a monstrosity.

Not only your Front End, you could add Apollo as well. I haven't check this, but you could make a monster with this as well. Use GraphQL and the underlying Meteor Methods together.

Enough gushing for now

I think that's enough gushing for now. As you can see, I really like the Meteor paradigm of development. I know it's tightly integrated with a specific way of developing applications.

I know, I like it. For specific business applications.