Programming a startup

A new paradigm for rapidly developing prototypes and testing them with customers: Meteor.js for startups

So you’re a young developer and want to launch a tech startup. The first most obvious question is what language should you use? There are too many great frameworks out there and some of the most popular ones for front-end development include:

  1. Angularjs: Strong community support, directives, a somewhat steeper learning curve but saves time when adding features later.
  2. Emberjs: Easy to learn, kick ass app router, and a little easier to learn. Also one of the best implementation of MVC model.
  3. Backbone: One the most reliable and tested front-end framework out there that I believe has the most front-end apps coded with it.

A more detailed discussion on these topics can be found on quora: Link 1, Link 2, Link 3, Link 4

As you might be wondering by now, why haven’t I mentioned another one of the development giants Node.js? And the reason is that at first I just wanted to list the front-end frameworks. Node.js is a different beast in that it can do both front-end and back-end development, and it’s extremely powerful in doing both. What that means for you, the developer is that you just need to learn JavaScript and you’ll be able to do both front-end and develop the backend. Just the other day, I heard some developers at a conference I was at say that JavaScript is going to take over the world and I completely agree. With the speed at which new JavaScript libraries are being developed, you can do so much more in even lesser amount of code. After studying lean startup methodology for a while, I have some to realize the importance of picking the right language before you start developing so that your MVP can be done as early as possible to start receiving validation for your overall plan. The ease of node.js in terms of developing backend combined with using Express for front-end makes it such a perfect choice.

Though the problem with node.js is that it has a bit of a learning curve, even if you have used JavaScript before. This is a new environment with new terminology, although if you’re proficient with JavaScript it will be like seeing an old friend all grown up after a long time. But as a startup, time is an incredibly precious resource so can we find a way to make node.js easier to learn and adopt?

Introducing Meteor

Meteor is node.js made easy. It’s a layer of abstraction that goes on top of node.js and makes your life a TON easier by giving you a lot of pre-built goodness from deployment to smart packages. I strongly believe that Meteor is the way to go for a new startup, particularly if you are a one-man team for now and are looking for a co-founder. The amount of time it takes to write an app and deploy it to start getting early feedback is incredibly small as compared to some of the other frameworks, and arguably I would say that Meteor is the fastest approach that you can take to getting your MVP ready and also the most fun way of getting it done. One of the cornerstones of a startup is to make the user-experience light weight as they develop their product. Meteor can truly capture that as a programming language for creating those products that are easy to use. Being based on node.js gives it all the goodness like asynchronous non-blocking and so on. There are a lot of examples already available on how to get started with meteor and a TON of tutorials on youtube, it is one of the fastest growing languages in terms of what it can achieve and the apps it can create. Another very comprehensive resource that I found was on Stephan’s blog that lists sort of a time-scale mapping out as meteor.js resources appeared and how to set them up.

Check out these resources and stay tuned for a lot more on meteor.js and other frameworks on Programming a Startup series!