Deciding on a tech stack (including a content management system) is one of the most challenging obstacles for a startup. We faced the same questions at Intentwise, which included evaluating popular web frameworks. The key to deciding on a framework involves learning from your own mistakes as well as the mistakes of experts who have gone before you.
A few of our core tech principles at Intentwise include:
- Speed over perfection
- Simplicity over complexity
- Not falling in love with your code
Frameworks We Evaluated
With these principles in mind, we confirmed that continuous integration (CI) and continuous delivery (CD) would always be at the core of our development. Any popular web framework that simplified these necessities with enough open-source support would get our vote. We evaluated the following:
- Java MVC (Spring-boot in particular): This a great MVC framework to start with. Since we have years of Java experience, we quickly realized that the framework was good, and could enable us to build out a platform well. However, we were a bit hesitant to use this considering all the heavy lifting involved.
- LAMP/PHP: I am not even going to talk about this much. 🙂 For additional reading however, take a look at articles like this one and this one.
- Python/Django: This was another framework we were tempted to use, given we were building out Python micro-services to do some heavy data aggregation and number crunching. In the end, we were not convinced this would scale from a developer’s point of view.
- Rails: Eventually, the framework we picked. Rails has been around for numerous years and has substantial community support. It also offers the right framework for the things we want to build — NSQL, DB and other transaction-based events that are supported well. The principle of “Convention Over Configuration” feels just right.
There is a lot of thinking that went into our selection after evaluating popular web frameworks. We will talk about that more in Part 2 of web frameworks.
Read our post “SSL SEO and Trust” to know why you should consider implementing SSL encryption for your website.