Elm, le langage du développement front-end moderne by VISEO
LinkedIn Google Plus Twitter Email

Elm, le langage du développement front-end moderne

Une tribune de Jordane, Software Craftsman VISEO Technologies
11 Avril 2017

Découvrez le langage Elm, au service des développeurs pour créer des applications web de la meilleure façon possible

Nous étions à Devoxx France 2017, la conférence dédiée aux développeurs passionnés, durant laquelle notre Software Craftsman VISEO Techno, Jordane, a donné une conférence orientée langage Elm. Il nous explique ce que c’est et en quoi il permet de créer des applications web de la meilleure façon possible en 2017.

Ces dernières années, nous avons découvert de nombreuses bonnes pratiques dans notre quête du développement web. Approche orientée composants, programmation fonctionnelle, immutabilité, ajout de types, virtual DOM, architectures de données unidirectionnelles… Toutes ces évolutions reposent pour la plupart sur des bibliothèques JavaScript, très utiles mais insuffisantes pour garantir que ces notions sont effectivement respectées.

Et si nous repensions aujourd’hui le développement web pour créer un langage qui intègrerait et surtout garantirait ces bonnes pratiques, pour pouvoir créer des applications web de la meilleure façon possible? Ce langage, c’est Elm.

Elm, qu’est-ce que c’est?

Elm est un langage fonctionnel fortement typé qui compile en JavaScript. Il est totalement interopérable avec ce dernier. Sa syntaxe et son compilateur garantissent l’absence d’erreurs au runtime. Une fois qu’un code compile, on a donc la garantie qu’il n’y aura pas d’erreur imprévue, contrairement à un code JavaScript. C’est également un langage très rapide par rapport aux frameworks actuels.

Une autre grande force de Elm est son compilateur, qui peut être qualifié d’humain. Ses messages d’erreur sont en effet limpides et très pédagogues: le compilateur nous explique l’erreur qu’il a rencontré, et les raisons qui l’ont poussé à la déclarer; il donne des indices très précis pour résoudre le problème.

Elm au service de la Developer Experience

La Developer Experience est ainsi au coeur du langage et plus la codebase augmente, plus il devient plaisant de développer de nouvelles fonctionnalités! Le refactoring lui-même devient une simple formalité, puisqu’il suffit d’opérer un changement, puis de se laisser guider par le compilateur en mode compilateur-driven development. Une fois que le code compile, c’est terminé. Et ça fonctionne!

Un langage simple qui monte en maturité

Si le langage est encore un peu jeune (2012), sa communauté est très dynamique et son environnement bien développé. Les montées de version se font maintenant presque sans heurts puisque grâce à la nature du langage, il est possible de livrer des utilitaires pour migrer une codebase automatiquement! Et si par hasard un module n’existe pas encore en Elm (ce qui devient de plus en plus rare), il est très facile de communiquer avec du JavaScript pour réutiliser des bibliothèques existantes.

Toutes ces raisons -et bien d’autres encore- font que Elm est le langage le plus adapté au développement front-end moderne! Son adoption est encore faible mais progresse de plus en plus rapidement, et des entreprises soutiennent activement le projet, à l’image de NoRedInk qui a d’ailleurs récemment recruté le créateur du langage pour lui permettre de travailler à plein temps dessus!

Retrouvez "Un langage que tout le monde Elm", de Jordane, dans sa version tech et en intégralité dans le magazine Programmez! de septembre 2017 ou en PDF

Au printemps dernier, Jordane participait déjà à Devoxx France et avait présenté un live-coding se concentrant sur les nouveaux outils permettant une meilleure gestion de l’asynchrone - une composante essentielle du développement JavaScript.

Puis, en novembre 2016, Jordane était invité à Devoxx Belgium pour un talk de présentation des nouvelles versions de Javascript.

> A découvrir aussi:

Jordane nous parle de son métier et de comment il est devenu speaker en à peine un an

> Retrouvez Jordane sur Twitter @JoGrenat