Picking the right tech stack is among the most challenging tasks for new startups. I took the picture below at a hackathon recently. It appropriately displays the multitude of languages and frameworks available for web development today.
Let’s evaluate your topmost goals and your toughest challenges as a startup. Time is critical. More likely than not, you would start with a limited reserve of cash, and your topmost goal would be to put out a minimum viable product in the least amount of time. From experience, I’ll tell you that your toughest challenge would be to find the right people, and build the right team. Motivating smart people to come and work for you, when you do not have a brand name and cannot pay top dollar, is exceptionally difficult.
Meteor is a full-stack web application framework, and in my opinion, has come up as a cure-all technology solution for startups. Below, I’ve identified the top five reasons why the Meteor framework is an ideal fit for new startups:
1. Get Started in Literally Two Hours!
It’s true. Anyone with elementary knowledge of programming can follow the instructions on Meteor’s “Getting Started” tutorial, and then jump right into coding. I am convinced that making it ‘simple to get started’ was one of the top goals of the originators of Meteor, and they have definitely aced at this. The code-flow is easy to understand, and the tech stack is intuitively structured to allow for a quick ramp-up. Compare this with an old-school web application, where a developer would need to understand PHP and a front-end framework, let’s say AngularJS, along with setting up the entire tech stack, and managing the interactions between the front-end and back-end. For a new product, and a new team, writing a ‘Hello World’ full stack app itself might consume an entire week.
2. Hiring Smart People Becomes a Reality!
With Meteor, this works like magic. There are two primary reasons for this:
- Young, passionate developers want something new, something exciting, and crave to work on the latest technologies. Compared to other conventional languages, Meteor wins this race by a mile, leaving the likes of PHP and Python in the dirt.
3. Reactive Rendering for Free!
Meteor offers a reactive front-end. To a layman, this means that all elements on the client application are automatically updated, across the application interface, and across all simultaneous users. This out-of-the-box capability of real-time updates has now become a standard norm across all modern collaborative applications. Reactive rendering also cuts down your front-end code, and significantly reduces your total development time. The front-end reactivity offered by Meteor is among the best-in-class, and far ahead of most other web technologies. The video below by MeteorHacks is a simple illustration of real-time updates in Meteor applications.
4. One-Click Deployments
Among the most convenient features of Meteor is it’s one-click deployments. Often the time taken for setting up your servers and deploying your application is seen as a necessary evil — you must invest some percentage of the total development time in deploying your application. One of my favorite features of the Meteor framework is that it runs its own server, and maintains its own instance of the database. This means that no additional set-up is required, and there are no additional installations. The Meteor development group also offers a free hosting solution, where test deployments can be done with a single command. This speeds up the testing and feedback process for new applications. A quick how-to tutorial on Meteor deployments can be found here.
5. A Fast Growing Community
If you have ever written code, you must have spent time on Stack Overflow! Whenever you get stuck, the open internet community comes to your rescue, and presents you with appropriate hacks and solutions. A strong community around a particular web technology is among the top reasons for its success and adoption. Meteor was among the top 10 on GitHub in April 2015. This is a pretty big deal for such a new framework! Moreover, there are 15,000+ Meteor-related questions on Stack Overflow, and over 5,000 unique installations. This means that Meteor has risen to substantial popularity, and is all set to become a healthy community on the internet.
And yes, we did use Meteor for our own application, and absolutely loved coding with it! A reactive front-end meant that we had to write significantly less code. Coming from a world full of PHP apps, Meteor’s unorthodox gains in performance were extremely useful and impressive. Most of the developers we interviewed were super excited to hear about Meteor. A reactive front-end, an asynchronous Node-based back-end, and MongoDB as a no-SQL database; what’s not to like? So Meteor became a significant motivating factor for them to join zipBoard.
Every person that we hired on the zipBoard dev-team spent one day learning Meteor, and every developer, without fail, started contributing to the source pool on their second day of joining the team! We did get stuck at multiple points. Stack Overflow rescued us at some, and we were able to hack our way through others. Overall, I do believe we did take some risk with adopting a new framework, but looking back, it feels like a smart move and a great business decision. Up next for us is to scale our application beyond a single server. This is an area where we have not spent any brain-power, but we might have to do it soon. Eliezer Steinbock’s first-hand experience with scaling a meteor app is a good starting point.
So once again, I’d like to say that we love Meteor and will strongly stay behind it. Check out zipBoard, and it will convince you that Meteor can be used to produce brilliant commercial-scale applications. Lookback, Respondly, HansoftX and Workpop are some other popular examples of commercial applications written on Meteor.