/ code

Which framework do I choose?

Choosing a framework is not that easy. For my latest project I had to choose one, and trust me - it's difficult.

There are a plethora of frameworks out there for you to take a pick from, irrespective of whatever language you core in. Say Ruby and you'll have good old Rails, Sinatra and the new Volt. Choose Python and you'll have Flask and Django. Choose Javascript and I'll run out of space listing those frameworks.

Customers don't care for your framework. They care for the product.

Quite simply, the framework doesn't matter. It's entirely your choice to choose a framework that satisfies your needs. This post is not a framework comparison (there are too many of those already).

In my new project, I needed a ridiculously responsive UI, and an equally competent API. I needed to minimize the learning curve and get a MVP up quickly.

Speaking of the UI, Ember.js was the first framework that came to my mind. Ember is known as a framework for creating ambitious web apps, and it indeed is. As a fact, the interface I'm using to write this post is written in Ember.

Now for the API. I could brush up my Javascript skills and use something like Backbone.js or I could use Rails. I used Rails 5 (it's still in beta) in the API mode. My primary reason for using Rails would be that I know it. It is way easier to use something that you already know than to pick up a new framework in a language you barely know, even if that new framework is trending now. And I'm still not a huge fan of running Javascript on servers.

My reason for not using Meteor would be that I'd have a great UI and an API already, considering that Meteor makes programming APIs so difficult. Sure, I'd miss out on cool features like ready-made mobile applications, but that's hardly an excuse.

At the end of the day, I'm not advocating any framework. Neither am I advising against one. The whole purpose of this post was to point out that the framework doesn't matter. Choose something that'd keep you and your coders happy.

Frameworks were meant to make your life easier, not to paralyse you in the process of selecting one.

You could as well as write your own code, right from the web server to your logo's animation. But you obviously won't. There's no sense in writing boilerplate code that someone's written already.

There's no such thing as the perfect framework.

Which framework do I choose?
Share this