hand tlhand crfog b
06Jan, 2021
Language blog :
English
Share blog : 
06 January, 2021
English

Rick’s Picks for Best Web Application Frameworks for building MVPs in 2020

By

16 mins read
Rick’s Picks for Best Web Application Frameworks for building MVPs in 2020

Warning! This list is based on very specific criteria and preferences. Your mileage may vary. First and foremost, I heavily weight the ability to deliver production-quality value quickly and easily. This is customer and user-centric thinking. I am not focused on purely technical aspects such as scalability, speed, performance, and cool factor. Those things generally have no bearing on whether or not a user will use your product or service. To drive this example home, consider a theoretical scenario. Imagine that you have been offered all the shares of a company of a startup company that has a web application product generating 10 million USD net revenue per year.  Also, imagine that this web application was written in assembly or Perl CGI. Would you turn down this offer? Don't be silly! Of course, you wouldn't.  That is why I am focused on value, not technical aesthetics.Web Application Language and Framework Selection Matrix

Supported by Data

In addition to the focus on value over aesthetics, I am also trying to base my selection on real data. I will try to provide references to statistics and studies where I use them. I don't want to be "pulling numbers" out of my proverbial ass. I'm going to try to get them from respectable sources.

Selection Criteria

As stated before, I am looking for a framework that is able to consistently deliver production value products that succeed in the market. I am going to further break that down into objective and subjective criteria. For each of these criteria, I am going to try to apply that lens that is focused on consistently, and quickly, delivering production quality products to the market.

Objective Criteria

Must be fullstack framework

I realize that one can easily attempt to build the next startup using a microservices architecture. But I want to keep it simple and assume that most startups will start with a monolithic architecture and one framework to handle both backend and frontend. Most people generally add one or more frontend frameworks as well. I feel that is so common, that it's better just to focus on the fullstack framework and ignore purely frontend frameworks for now.

Number of startups selecting framework

The number of startups using a particular framework is also interesting because it means others have gone through this analysis and come to the decision to use a specific framework. I think it's a good indication as a vote of confidence. Here I will use statistics from a study by Crunchbase named "Most Popular Web Frameworks Among Seed and Early-Stage Startups".

Most Popular Web Frameworks Among Seed and Early-Stage Startups by Crunchbase

From this list, I will remove Angular and ReactJS since they are not fullstack frameworks. The remaining list is as follows:

 

  • Ruby on Rails
  • ExpressJS
  • Django
  • ASP.NET
  • Laravel
  • Flask
  • Meteor
  • Spring 

Successful startups built with the framework

I also want to filter the set of frameworks by selecting those that actually have examples of successful startups built on them. This will mean that these frameworks have reached a certain level of production quality and can achieve enough scale to succeed.

Ruby On Rails

Ruby On Rails

Ruby on Rails is undoubtedly one of the most well known and respected frameworks out there with a long history of being used to produce successful startups. Examples include Twitter, Shopify, Github, Basecamp, Ask.fm, Groupon, Couchsurfing, Airbnb, SalesForce.

That's quite an impressive list. Ruby on Rails is at the head of the class when it comes to the sheer number of successful startups built using the framework. It's definitely been around a long time and is actually considered by some as an old and outdated language. I find that ridiculous considering its pedigree and track record.

Express.js

Express.js

It was hard to find a list of 'successful startups built using express.js'. All the search results returned were more geared towards node.js. But since express is so prevalent in in the nodejs community, I assume that most startups listed as using Node.js, also use express.js. I found a list that lists companies that explicitly use Express.js on the Express.js site.

  • IBM (not necessarily a startup)
  • Uber

Node.js is a very performant and fast technology that achieves an amazing scale. I'm not sure how much Express.js slows it down, but I think it's not a factor. 
Django

Django

Python's answer to Ruby on Rails also has a very impressive list of success stories:

  • Instagram
  • Disqus
  • Pinterest
  • Eventbrite
  • Bitbucket
.Net

.Net

Microsoft's .Net framework has been used to build the following:
  • StackOverflow
  • GoDaddy
  • W3Schools.com

Although it didn't seem that popular with startups in the past, .Net does seem to be gaining ground according to Cruchbases analysis.
Laravel

Laravel

PHP's answer to Ruby on Rails has come a long way. Especially with the Spark upgrade offering that provides lots of functionality out of the box. This makes it a strong contender. I have personally worked with another company who built their microservices product using Laravel. Unfortunately, I don't know of any success stories of large companies or startups using Laravel.

  • N/A
Flask

Flask

Python's second entry into this list is the lightweight and minimalist Flask framework. Although I couldn't find an example of a startup that was created using flask as the primary framework, I did find a number of startups and/or companies currently using Flask. I am assuming they use Flask to build microservices and machine learning related type use cases.

  • Netflix
  • reddit
  • Lyft
  • MIT
  • Banksalad
  • Zillow
  • Keen IO
  • Mailgun
Meteor

Meteor

Javascript's second entry into the list is Meteor.js. The only startup I could find that is built on Meteor is WorkPop.

Spring

Spring

Java's entry into this list has a long history of use in Enterprise environments. When I worked at LiveNation (TicketMaster), I was involved with the company wide migration from Perl to Java SOA. Honestly, I miss the corporate governance meetings a little more than I miss Java itself. However, it's not a surprise that Spring would make this list. I cannot find any startup success stories where a product was built using Spring. If you know of one, please do send me a link to a reference article and I will put it in the list here. However, that being said, many startups who started off with another framework and have scaled have migrated to Java. Salesforce is one such example.

  • N/A

Rails wins with most success stories 

Rails has been used to create more successful startups than the other candidates. It's not clear if it's due to technological superiority, pure development speed, or that perhaps Ruby on Rails attracts developers who are more likely to be successful in an entrepreneurial atmosphere. I would venture to guess that it's a mixture of those things.

 

Cost: Average Salaries of developers with that framework in their skillset

Here I will take into account the average salaries of developers that have skills in the specified skillset.

Top Developer Salaries by Language 

Rails

Ruby is at the top in terms of salaries at $75,000 USD.

Django and Flask

Python comes in second in terms of salaries at $63,000 USD.

Express and Meteor

Typescript comes in third in terms of salaries at $60,000 USD.

.NET

C# comes in third in terms of salaries at $59,000 USD.

Spring

Java comes in second to last as expected due to the enormous number of university trained Java developers with average salaries at $52,000 USD.

Laravel

PHP didn't even make the list in the Stack Overflow Study. This is no surprise because of the sheer number of PHP developers and the low barrier to entry. I would venture to say that a Laravel developer will most likely be paid more similar to Rails and Django developers. So this may be misleading.

Subjective Criteria

In this section, I have my own personal subjective criteria for framework selection. I manage a 50+ person digital agency that develops digital products for clients. We have to produce working applications on very tight timelines. We also have to maintain and extend those applications. We have to move our developers around from project to project. So I have a strong preference for frameworks that are strongly opinionated and generally have one way or pattern of doing things. I also want a framework that is mature and has a large open source community with many libraries and integrations. 

Strongly Opinionated

Rails, Django and Laravel definitely meet this criteria. Rails is the most opinionated by design. The creators of Rails believe in convention over configuration. Django and Laravel are close in terms of adhering to a pattern that is enables developers to easily move from one project to another. You can hire two NodeJS developers and have them sit next to each other and have completely different looking code. This is extra work for team leads and managers and is something I personally want to avoid if possible.

Large Open Source Community

All of the languages listed here have rather large and mature communities. 

And the winners are:

3rd Place: Laravel

Laravel is a strong value proposition with a Ruby on Rails like MVC framework and it's Spark offering to help teams to quickly develop SaaS products. This coupled with the relatively cheaper PHP programmers makes it a strong contender for any startup or MVP. Unfortunately, I can't find a good success story where a successful startup was built using Laravel.

2nd Place: Django

Django also has similar traits as Laravel and Rails. On top of that, Python has the best machine learning and AI ecosystem. This makes Django a very strong contender for any startup or MVP project.

1st Place: Rails

There's a reason that so many successful startups were built using Rails. Even today, Rails developers are in high demand and low supply. in my 20 years of experience developing web and mobile applications, I have yet to see another framework that has such high productivity. That being said, Rails is definitely not the most performant or scalable. But that really doesn't matter because it's scalable enough.

Ruby on Rails Scalability Tweet by DHH

Since I am heavily biased towards delivering working features quickly, and a consistent track record of doing so, Rails wins. I think this is confirmed by the fact that even today, Rails is the number one Fullstack framework used by seed or early stage startups (if you remove Angular which is not fullstack). I'm not the only one to have to come to this conclusion.

Written by
Senna Labs
Senna Labs

Subscribe to follow product news, latest in technology, solutions, and updates

- More than 120,000 people/day visit to read our blogs

Other articles for you

11
October, 2024
JS class syntax
11 October, 2024
JS class syntax
เชื่อว่าหลายๆคนที่เขียน javascript กันมา คงต้องเคยสงสัยกันบ้าง ว่า class ที่อยู่ใน js เนี่ย มันคืออะไร แล้วมันมีหน้าที่ต่างกับการประกาศ function อย่างไร? เรามารู้จักกับ class ให้มากขึ้นกันดีกว่า class เปรียบเสมือนกับ blueprint หรือแบบพิมพ์เขียว ที่สามารถนำไปสร้างเป็นสิ่งของ( object ) ตาม blueprint หรือแบบพิมพ์เขียว( class ) นั้นๆได้ โดยภายใน class

By

4 mins read
Thai
11
October, 2024
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G
11 October, 2024
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G
ผู้ให้บริการเครือข่ายในสหรัฐฯ ได้เปิดตัว 5G ในหลายรูปแบบ และเช่นเดียวกับผู้ให้บริการเครือข่ายในยุโรปหลายราย แต่… 5G มันคืออะไร และทำไมเราต้องให้ความสนใจ บทความนี้ได้รวบรวม 15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G เพราะเราปฏิเสธไม่ได้เลยว่ามันกำลังจะถูกใช้งานอย่างกว้างขวางขึ้น 1. 5G หรือ Fifth-Generation คือยุคใหม่ของเทคโนโลยีเครือข่ายไร้สายที่จะมาแทนที่ระบบ 4G ที่เราใช้อยู่ในปัจจุบัน ซึ่งมันไม่ได้ถูกจำกัดแค่มือถือเท่านั้น แต่รวมถึงอุปกรณ์ทุกชนิดที่เชื่อมต่ออินเตอร์เน็ตได้ 2. 5G คือการพัฒนา 3 ส่วนที่สำคัญที่จะนำมาสู่การเชื่อมต่ออุปกรณ์ไร้สายต่างๆ ขยายช่องสัญญาณขนาดใหญ่ขึ้นเพื่อเพิ่มความเร็วในการเชื่อมต่อ การตอบสนองที่รวดเร็วขึ้นในระยะเวลาที่น้อยลง ความสามารถในการเชื่อมต่ออุปกรณ์มากกว่า 1 ในเวลาเดียวกัน 3. สัญญาณ 5G นั้นแตกต่างจากระบบ

By

4 mins read
Thai
11
October, 2024
จัดการ Array ด้วย Javascript (Clone Deep)
11 October, 2024
จัดการ Array ด้วย Javascript (Clone Deep)
ในปัจจุบันนี้ ปฏิเสธไม่ได้เลยว่าภาษาที่ถูกใช้ในการเขียนเว็บต่าง ๆ นั้น คงหนีไม่พ้นภาษา Javascript ซึ่งเป็นภาษาที่ถูกนำไปพัฒนาเป็น framework หรือ library ต่าง ๆ มากมาย ผู้พัฒนาหลายคนก็มีรูปแบบการเขียนภาษา Javascript ที่แตกต่างกัน เราเลยมีแนวทางการเขียนที่หลากหลาย มาแบ่งปันเพื่อน ๆ เกี่ยวกับการจัดการ Array ด้วยภาษา Javascript กัน เรามาดูตัวอย่างกันเลยดีกว่า โดยปกติแล้วการ copy ค่าจาก value type ธรรมดา สามารถเขียนได้ดังนี้

By

4 mins read
Thai

Let’s build digital products that are
simply awesome !

We will get back to you within 24 hours!Go to contact us
Please tell us your ideas.
- Senna Labsmake it happy
Contact ball
Contact us bg 2
Contact us bg 4
Contact us bg 1
Ball leftBall rightBall leftBall right
Sennalabs gray logo28/11 Soi Ruamrudee, Lumphini, Pathumwan, Bangkok 10330+66 62 389 4599hello@sennalabs.com© 2022 Senna Labs Co., Ltd.All rights reserved.