Ce qu’on appel le HTML5 existe maintenant depuis plus d’une dizaine d’année et pourtant son « utilisation » (et donc sa maitrise) et sans arrêt remise en cause par les nouveaux outils qui évoluent : des standards du W3C prises en charge petit à petit par les navigateurs aux évolutions de l’ECMAscript implémentant de nouveaux mot-clé jusqu’au librairie et autres joyeuseté devenant des indispensable, tout evolue. Voici quelques évolutions propres à ces dernières années.
Tout d’abord, les Technos : au déla du framework ou de la simple librairie, les technos présentaient tire partie d’autre librairie, des fois de runtime et propose une nouvelle façon d’approcher le web en cassant certaine conventions :
- NodeJS, runtime JS, facilitant le traitement des informations côté serveur via une gestion asynchrone et bien pensé (pile d’évènement) des instruction à destination du backend (chargement de données serveurs, traitement, formattage). Il utilise un système de chargement de module via le mot clé require et comme son nom l’indique… utilise le langage javascript, évitant l’emploi d’un d’autre langage côté serveur. Orienté BAS niveau, il est nécessaire de repensé la logique d’utilisation en pensant notamment à déclaré des variable de serveur local.
- React (ou ReactJS) : basé sur la création de composant dépendant d’un état, elle facilite de développement d’interfaces utilisateurs sur des applications web. A l’origine développé par facebook il semble être prendre de l’importance face à d’autre framework spécialisé UI type Backbone, Ember et Angular.
Librairies utiles :
- jQuery : Manipulation élément du DOM et requete AJAX
- RequireJS : import de fichier facilités.
- MongoDB et SQLite, aidant à la gestion de BDD
De plus un courant de développement, le JamStack pour Javascript API Markup semble être en train de se mettre en place pour offrir des sites ou applications performant en simplifiant et limitant les requêtes côtés serveur.
A cela s’ajoute des Outils, devenus « incontournable » :
- NPM : gestionnaire de package en ligne de commande. Il est « livré » de base avec NodeJS.
- Gulb
- Gatby JS (site static avec React)
- BabelJS : site possédant un outil pratique de conversion d’un script JS ES6 vers l’ancienne version afin de s’adapter aux différents navigateur.
Et enfin, les utilitaires qui repoussent les limites du HTML5 : ces derniers permettent d’utiliser le HTML5 pour construire des apps mobil et desktop (en utilisant parfois le système de webview, émulant l’interface HTML5 au sein du logiciel :
- ElectronJS : Création d’application HTML5 spécialisé desktop
- Cordova : Création d’application HTML5 spécialisé smartphone
- Appcellerator : basé sur le SDK Titanium, propose une solution complète avec un IDE (possédant une UI) pour réaliser des apps smartphone via javascript.
- Phonegap
A cela s’ajoute bien évidemment les évolutions du langage via les standards de l’ECMAscript qui sont abordés ici…
Sources :
- https://www.grafikart.fr/formations/nodejs
- http://putaindecode.io/fr/articles/js/react/
- https://www.wanadev.fr/21-introduction-a-ecmascript-6-le-javascript-de-demain/