logoalt Hacker News

rorylaitilayesterday at 12:29 PM3 repliesview on HN

I've always been a fan of Model Driven Development (MDD), which is by today's standards an ancient paradigm. You define the core data model (resources), properties (attributes), and actions, and auto-generate the UI/API. It was more popular back when OOP first met Web Development. It seems to have fallen to the wayside with manually constructed "fat controllers" being the dominant way to organize web apps today. I have my own framework in MDD style. For a long time I've told people "I can code at the speed of thought." My apps are 80% the data model, 20% the UI, with the middle layer almost entirely generated. Tools like GraphQL, Supabase, and auto-admins kind of go in the same direction.


Replies

notpushkinyesterday at 12:36 PM

This is cool, though you would definitely make changes to make UI look decent, and a lot of changes on top of that to make it something that’s a joy to use. For API though, it should probably just work - but then again, there’s tons of stuff like Django REST Framework which, while also a bit dated, works really well in 95% of cases (and lets you handle the other 5%).

Yet here I am, writing CRUD endpoints by hand in Node.js...

show 1 reply
KolmogorovCompyesterday at 3:18 PM

I've always felt MDD falls short very quickly, because for non-trivial project you often want to show information related to more than one table, and so you have to fallback to writing the controller code manually anyway.

show 2 replies
rrr_oh_manyesterday at 12:33 PM

Related thought: "Companies ship their org chart"

(https://en.wikipedia.org/wiki/Conway%27s_law)

show 1 reply