(2022-04-30) 10 Reasons Mvc Frameworks Arent Dinosaurs But Sharks

David Dahan: 10 reasons MVC frameworks aren't dinosaurs but sharks. ...relational databases aren’t dinosaurs. They aren’t lumbering prehistoric relics doomed to extinction by a changing world. They are sharks. Apex predators honed by millions of years of evolution into a perfectly adapted creature that is just as effective today as it was eons ago.

I think there is a serious shark in web sea: the monolithic MVC framework. Ruby on Rails (Ruby), Django (Python), Laravel (PHP) and many others

If you acknowledge with many of the points bellow, odds are an MVC framework could be the right tool for your project, even in 2022.

1 - A single tool, multiple possibilities

Let’s say your startup needs two different kind of apps

A solid back-office for your own team with many pages to build

A shiny SPA with cutting edge UX

In a monolithic approach, having the same backend for your both apps will considerably ease the future operations.

2 - Monoliths still make sense in many contexts

As Martin Fowler said: don’t even consider microservices unless you have a system that’s too complex to manage as a monolith

3 - The revolution HTML Over The Wire is coming

Hotwire is the dedicated solution for Rails, made by its creator. HTMX is a more generic solution usable with any HTML

Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire.

4 - These frameworks are all batteries included

5 - Misleading argument #1: it’s not performant / it doesn’t scale

6 - Misleading argument #2: too much boilerplate code

7 - Misleading argument #3: you will find more developers with this shiny new tech rather than this dinosaur

8 - They enforce some conventions that drive teammates in the same direction

9 - Not so misleading argument: it’s better to use the same language on the whole stack

However, from what I’ve seen, there is still no Rails / Django equivalent in JS world. Sails.JS has a low satisfaction rate. Nest.JS looks more like a wrapper around existing tools than a real framework

10 - Old means mature


Edited:    |       |    Search Twitter for discussion