Le monde du développement logiciel est un milieu très riche qui englobe plusieurs technologies. Ces dernières sont en constante évolution pour répondre à des besoins très variés, faciliter les tâches et réduire les coûts. Parmi ces technologies, on trouve celles du Front-End, fondées principalement autour de Javascript. D'ailleurs, 2018 a été une année riche pour l’ensemble de ces technologies qui ont connu une évolution assez rapide avec l’apparition de nouveaux frameworks ou l’amélioration radicale de l’existant. Nous avons choisi de parler dans cet article de trois frameworks à suivre cette année.
1. GraphQL
Selon la définition officielle, GraphQL présente un langage de requêtage aussi bien qu’un environnement pour les exécuter. Il permet aux développeurs d’écrire des requêtes plus spécifiques au serveur. Beaucoup considèrent que GraphQL remplacera les API Rest dans l’avenir. Cependant les deux approches ne doivent pas être considérées comme concurrentes étant donné que le choix de l’une ou l’autre dépend de la nature de votre application.
GraphQL est une nouvelle tendance de requêtes client-serveur qui mérite d’être essayée pour plusieurs raisons :
La réduction des coûts et du nombre des requêtes clients serveurs.
La réduction des coûts de développement grâce aux librairies clientes de GraphQL telles qu’Apollo et Relay qui gèrent plusieurs fonctionnalités telle que le caching.
GraphQL est un écosystème open source qui est soutenu par une communauté assez active et large.
L’utilisation de GraphQL a été très utile lors de la mise en place du projet Koordinator, comme le témoigne notre architecte technique, Nicolas Erny :
« Au sein du projet Koordinator, GraphQL Apollo nous a permis de moderniser nos APIs en terme de qualité, évolutivité et fonctionnalités offertes. Avec GraphQL, vos APIs vont passer au niveau supérieur »
2. Next.js
React est parfait pour la réalisation des applications modernes et optimisées. Toutefois, il peut poser des problématiques liées principalement à la génération du rendu côté client :
La page met plus de temps à se charger car tout le code JavaScript doit être téléchargé depuis le serveur puis exécuté pour déterminer les éléments à afficher sur la page.
Si vous construisez un site Web accessible au public, vous auriez probablement un problème de référencement car les moteurs de recherche ont tendance à mieux indexer un contenu déjà prêt. Il est donc important de générer celui-ci côté serveur.
C'est pour résoudre des problématiques de génération de contenu côté serveur que la start up Zeit a conçu Next.js.
Next.js offre également d’autres avantages :
La facilité d’apprentissage ;
Routage automatique : toute URL est mappé à un fichier de façon naturelle ce qui élimine toute forme de configuration ;
Compatibilité avec les écosystèmes de Node.js et React. En effet, Next.js est capable de tourner côte à côte avec Node et React sans aucune configuration additionnelle à réaliser ;
Fractionnement automatique du code : seuls les composants requis à la génération de la page sont compilés.
Vu le potentiel que peut représenter ce Frameworks dans le futur, son apprentissage est important si vous ne l’avez pas déjà fait en 2018 !
3. Reason
Reason est utilisé par Facebook pour piloter sa fameuse application Messenger. Il s’agit d’une nouvelle syntaxe aussi bien qu’une suite d’outils qui se base sur ceux de OCaml. Il a une syntaxe conçue spécialement pour être familière aux développeurs de Javascript et il fonctionne avec les outils classiques utilisés dans le monde du Front-End tel que yarn et npm.
Reason est compilé vers du javascript compréhensible grâce à BuckleScript. Il contient également un wrapper dénommé Reason-React qui vous permet d’écrire des composants React en Reason. Sa courbe d’apprentissage reste donc minimale.
Mais l’argument le plus puissant pour le recours à Reason est le fait qu’il apporte les avantages d’un langage de programmation fonctionnelle assez puissant OCaml (type safe, performances etc…) à Javascript.
Conclusion
Nous recommandons ces trois frameworks aux développeurs qui sont à la recherche continue des meilleures technologies afin de proposer des solutions plus innovantes.