BT

Accueil InfoQ Actualités Réduire le Risque d'Echec avec Elm

Réduire le Risque d'Echec avec Elm

Favoris

Dans une session pratique « try-it-for-yourself » à Strange Loop 2015, Richard Feldman a montré comment son équipe a commencé à utiliser le langage Elm afin de réduire le risque d'échec et de balayer plus rapidement ​​leur application web.

Les développeurs JavaScript, partout dans le monde, ont probablement rencontré l'erreur undefined is not a function. Feldman a utilisé ce point de souffrance pour conduire la capacité interne d’Elm à améliorer l'expérience développeur. Le compilateur Elm va intercepter beaucoup d'erreurs qui affligent les développeurs novices en JavaScript. Selon Feldman, dans une application Elm, « une fois compilé, cela marche généralement du premier coup sans régressions ou exceptions en runtime ».

Quand je me pose la question pourquoi j’aime utiliser Elm et pourquoi elle délivre une expérience utilisateur agréable, c’est justement les petits détails, les petits éclats, les petits trucs de l'expérience utilisateur qui vous font sentir bien au quotidien.

Pour ceux qui ne connaissent pas Elm, c’est un langage de programmation fonctionnel créé par Evan Czaplicki et qui est conçu pour rendre facile la construction des IUs web. Elle compile JavaScript comme React, et utilise un DOM virtuel pour manipuler les interfaces. Selon un benchmark du blog d’Elm, ce langage est nettement plus rapide que React.

Voici l'exemple le plus simple en quoi ressemble un code écrit avec Elm :

import Html exposing (span, text)
import Html.Attributes exposing (class)

main =
  span [class "welcome-message"] [text "Hello, World!"]

« Dans Elm, tout est l'une des deux choses suivantes : des données immuables ou des fonctions stateless » selon Feldman. Cette pureté fonctionnelle (où les fonctions n’ont pas d'effets de bord) est bien en théorie, mais les développeurs Web ont souvent besoin d’interagir avec de nombreux autres systèmes. Pour contourner ce problème, Elm a ce qu'on appelle les « Tasks ». D'après Feldman, une tâche est "une représentation de données de ce que vous voulez faire ; c’est une liste d'instructions".

Elm peut interagir avec des bibliothèques JavaScript existantes à l'aide des « ports ». Les développeurs peuvent mettrent un pied dans ces eaux en échangeant des parties de leur application avec du code Elm, et en les reliant avec un port.

Une vidéo de l'intervention de Feldman est disponible sur YouTube avec le reste des sessions. De plus, Feldman a écrit un tutoriel sur l'utilisation d’Elm pour construire un formulaire d'inscription.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Votre profil est-il à jour? Merci de prendre un instant pour vérifier.

Note: en cas de modification de votre adresse email, une validation sera envoyée.

Nom de votre entreprise:
Rôle dans votre entreprise:
Taille de votre entreprise:
Pays/Zone:
État/Province/Région:
Vous allez recevoir un email pour confirmer la nouvelle adresse email. Ce pop-up va se fermer de lui-même dans quelques instants.