The best technology stack for web startups

Throne of JS[This is my personal opinion based on my experience. Your mileage may vary.]

Rails rulez…

The typical technology stack for web app startups these days seems to be Rails* with Javascript (jQuery, CoffeeScript) on the client. It’s battle proven and really great for rapid prototyping to get that early customer feedback before wasting too much time and money on building the wrong thing.

What bothers me is that my Rails apps always turn out to be really JavaScript-heavy. As the project grows the Javascript part gets more complicated really quickly. But even worse than that, there’s a mental disconnect between working with model objects in Ruby in the backend and manipulating the DOM with Javascript in the frontend.

For handling the complexity, you might lean on batman.js or ember.js or something similar. They also come with some sort of data-binding which eases the burden of DOM manipulation. But you still need to write code in Ruby on the server and JavaScript on the client. In my experience, you sooner or later end up duplicating some of your functionality.

… but JavaScript is on the rise

If you want to use only one language on the server and the client you are stuck with JavaScript for now (and the foreseeable future). Now, enough has been said about the drawbacks of JavaScript as a language. I mostly agree. That’s why I like to use CoffeeScript, which makes it a whole lot more enjoyable.

What is great about Rails though is the whole scaffolding and “convention over configuration” thing, which allows for quick bootstrapping of new applications. There are some up and coming frameworks to fill that gap in the JavaScript ecosystem. Most notably derby.js and meteor.js. I personally am a big huge fan of meteor, because of its reactivity model and latency compensation. It’s not quite now ready for prime time. But definitely worth keeping an eye on.

In a recent conference called ‘Throne of JS‘ the creators of the most popular JavaScript libraries and frameworks came together and compared notes. I can recommend reading Steven Sanderson’s write up (creator of Knockout) to get an overview on what’s hot in JS-land. Over the next few weeks, videos of the Throne of JS talks will pop up at InfoQ.

*Please direct all your hate mail to where it will be politely ignored.
Photo by Jacob Miller

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s