Par Clement Escoffier à Grenoble le 12 février 2013

La popularisation de JavaScript continue, malgré la retirance de nombreux développeurs face à un langage bizarrement typé, orienté objet mais sans classes, au debugging extrêmement complexe et au comportement diffèrent en fonction du navigateur. Cependant JavaScript est devenu nécessaire pour un grand nombre d’applications web ‘classiques’, mobiles, voir même serveur. Mais que se passe-t-il lorsque le code JavaScript commence à devenir complexe ? L’application devient très vite inmaintenable.

Nous avons implémenté une application utilisant 60 000 lignes de code JavaScript. Durant ce développement, et après de nombreux échecs, nous avons commencé à utiliser des concepts de Java et JavaEE en JavaScript. Le résultat de ce développement est h-ubu, une plate-forme d’injection en JavaScript pour JavaScript. H-ubu est peut etre vu comme un mélange de CDI et d’OSGi en JavaScript. H-ubu permet de développer des applications avec des composants autonomes, testables et liés à l’exécution automatiquement. Les composants communiquent par des appels de méthodes ou des évènements. H-ubu permet un couplage faible entre les composants et réduit les problèmes de visibilité de JavaScript grâce à l’utilisation de proxies/interfaces.

h-ubu nous permet de développer et de maintenir des applications JavaScript complexes et de grandes tailles. D’un point de vue des développeurs, l’utilisation de concepts ‘à la CDI’ permet une meilleure coordination et compréhension de l’architecture de l’application.
Cette présentation introduit h-ubu et comment ce framework est utilisé pour développer simplement des applications JavaScript/CoffeeScript sophistiqués. H-ubu est disponible sous licence ASL 2.0 sur GitHub : http://nanoko-project.github.com/h-ubu/snapshot/index.html

Commentaires