Lors de la conférence Dotjs à Paris, nous avons pu assister à la présentation de Kevin Schaaf.
Kevin Schaaf est connu pour sont travail chez Enyo (framework javascript pour mobile et tablette) notamment utilisé avec phonegap pour créer des applications cross-platform.
Lors de sa présentation il a expliqué son point de vue sur une des nombreuses façons d’appréhender le développement d’applications web. Sa démonstration reprend l’esprit du framework Enyo avec son approche orientée objet.
Il a commencé par débattre sur des solutions existantes tel que twitter Bootstrap pour démontrer que la réutilisabilité du code est une force, qu’il ne faut pas réinventer la roue à chaque nouveau développement en comparant la création d’applications de bureau par rapport à la création d’applications présentes sur internet : il faut miser sur les API pour augmenter la productivité avec des composants directement utilisables et la possibilité de construire ses propres composants.
Lors d’une succession de slides powerpoint il a montré qu’à partir de quelques composants natifs des navigateurs web on peut créer une interface utilisateur simple et facilement modifiable. Le plus important est qu’une fois ceci fait, le développeur n’a plus qu’à instancier un objet javascript pour avoir ce composant prêt à l’utilisation ( ex : new Composant(); ).
Son exemple le plus simple était de prendre quelques balises html dont l’utilisation est courante et de les rendre complémentaires. Une valeur dans un input texte et un label forment un “valuelabel”, ce composant simple n’est pas une simple fusion de deux objets déjà existants. Le nouvel objet créé doit être encapsulé dans un objet javascript qui le contrôle et le fait vivre : lorsqu’il est ajouté au DOM il est autonome et si la valeur de l’input change, le label est notifié pour que sa valeur change aussi sans que le développeur qui l’utilise n’ait à faire quoi que se soit. Son utilisation est transparente, modifie son contenu, se met a jour tout seul.
Un autres exemple similaire est celui d’un slider et d’un label et d’autres, qui pourraient très bien contenir les mêmes données qu’un valuelabel, mais qui permettent de les présenter sous différentes formes.
À partir de ces nouveaux composants simples on peut créer des composants de plus en plus complexes qui au final forment des “app views”. Ce concept est directement issu des langages objets tels Java ou .Net : Les tendances changent, avec depuis quelques années, l’apparition de termes issus des langages orienté objets tel que Object, Class, Instance, private / public… Javascript, qui n’est pas un langage objet à l’origine s’oriente donc résolument vers ces paradigmes.
Cette façon d’aborder le JS permet ainsi de faire une interface où les composants sont le coeur de l’application et servent son cycle de vie comme c’est le cas des applications de bureau, avec différents états, un meilleur échange des données inter-composants, des “rich interactive controls”, tout ceci encapsulé dans une App qui n’est plus un site web static mais un outil vivant et interactif.
Il conclut sa démonstration en expliquant qu’avec l’arrivée des web OS, le javascript est le pont qui permettra de faire des applications web dites natives car ce langage est bien supporté et permet de développer sur tous les supports actuels. Ce qui fait du javascript un langage de plus en plus utilisé et apprécié.
Pour en savoir plus : A Few New Things Coming To JavaScript
dotjs.eu
source photo : Maurice Svay