La fin des frameworks côté serveur... (18/09/2019)

Que vous aimiez PHP et créiez des applications web basées sur Symfony et ses templates Twig ou que vous évoluiez dans l'univers Java EE avec Spring ou GWT... Dans tous les cas, vous bataillez dur pour construire côté serveur des pages responsives qui seront vues sur des appareils et des écrans très variés. Et si vous vous contentiez de fournir une API sous forme de service ?

Je n'aurais pas tenu ce discours il y a un an mais aujourd'hui, tous les ingrédients sont réunis pour sauter le pas. Parce que côté client, après 10 ans de jQuery et autres bibliothèques, c'est la révolution du MVC. Parce que côté serveur, Node.js s'affirme. Parce que d'incontournable, Javascript (et ses déclinaisons typées) pourrait bien devenir l'unique langage de programmation pour les applications web, desktop et mobiles. L'unification enfin, le rêve d'Einstein, le graal...

Tout d'abord, il y a les frameworks Javascript MVC au premier rang desquels Angular. La version 2 bien entendu qui permet de développer des composants 100% indépendants côté client. Bien-sûr, cela était déjà possible avant, même en pur Javascript, mais au prix d'un gros effort et d'une cohérence difficile à maintenir.

Après les années Ballmer bien sombres, Satya Nadella insuffle beaucoup d'intelligence dans l'empire Microsoft. Depuis sa prise de fonction il y a 3 ans, l'open-source n'est plus tabou. TypeScript annoncé comme Made with love in Redmond est une excellente évolution. Quand Google appuie Angular 2 sur TypeScript, c'est le meilleur des deux géants qui nous est servi sur un plateau.

Avec Angular 2, Google vise bien davantage que les applications web. Combiné à NativeScript, il permet de créer des applications natives Android ou iOS (mais Apple oblige, vous devrez utiliser un Mac pour exécuter des applis iOS). Combiné le à Electron et vous créerez des application desktop avec un look parfait.

En conclusion, investissez-vous côté client (front-end pour les aware...) et contentez vous de faire des API (REST tant qu'à faire) côté serveur (back-end pour les mêmes) qui retournent du JSON. Utilisez Angular 2 pour développer aussi bien des applis web, mobile ou desktop. Pas encore - hélas -  avec un unique code mais sans changer une ligne côté serveur.

De quoi ramener les frameworks type Symfony et ses dizaines de milliers de fichiers au rang des dinosaures en voie d'extinction.

gillesvds