Let’s stop reinvent it
My hatred for Facebook and Dan Abromov is so huge,
They are still managing to bloat the web development world with PHP style frameworks, still refusing to believe that ACID RDBMS, OOP and strongly-typed languages were, are, and will always be the best way to develop robust and maintainable applications, wether it is on Chrome 817.34 or on windows 95.
Once MySQL or PostgreSQL will be better in terms of horizontal scalability (and that may already be the case) and some ORM will make RDBMS low brain accessible for 90% of devs (and that may already be the case too), MongoDB and NoSQL will gently fall into oblivion for 90% of devs, who are not working with the 50X engineers team that is managing the Data Lake of Facebook (0.001% of developers on earth).
Do you see where I’m going ?
Chances are, even if you’re 10000X and a beast in full-stack web development, your projects usually have 10 to 15 entities, 10 pages with mostly CRUD work, and 20% of specific features that cannot be made generic.
And your projects don’t :
- Collect 1TB of unstructured data per second
- Nearly receive 1% of the traffic of Facebook
- Need more than 20% of non-boilerplate code
- Need you to implement an authentification system with the same User collection every project implement
- Have more than 1 or 2 complex reactive components per page
- Manage a million MAU with a pub/sub high traffic system like Discord
So why do you even care about :
- Functional programming (terrible for your natural abstraction capacity)
- Flux pattern (terrible for your natural abstraction capacity too)
- NoSQL unstructured-will-soon-be-read-only databases, short term vision that will produce an enormous amount of uncertainty and bugs, like you don’t have enough work to do
- A la mode niche languages like Erlang or Go
I’d like to back all this up with a common sense article, written by the CTO of Reddit himself, which basically says : stick to boring technology
For the UI part, the most value React brought is JSX, but let’s face it, it is just a wrapper around HTML that glue data binding and style into a single line of code, guess what ? It’s what you first learned NOT to do, and why ?
Because there is a pattern that doesn’t need to be superseded, by any kind of futuristic and almighty GAFA organisation, that is Separation Of Concerns.
You don’t write CSS in a style property, nor do you write data binding in a data property, which on top of that, is not typed and doesn’t offer auto completion.
Because this is not separation of concern, this is 2003 HTML/CSS/JS far west bad practices repackaged in a AAA rated bond by Facebook, you didn’t learn from subprime crisis, human beings are so predictable.