JavaFX : RIA bien qui rira le dernier - 20 février 2009
Rétroliens
Rétrolien spécifique pour ce billet
Pas de rétroliens
Mon blog technique, artistique, d’humeur... Continuer »
Désolé pour le jeu de mots approximatif...
Explication : les RIA, Rich Internet Applications, applications Internet riches, sont à la mode, dans la lignée du mythique Web 2.0. Ce sont des applications disponibles dans le navigateur, mais aussi en général qui peuvent tourner indépendamment sur le bureau.
Après Ajax, autre buzzword, lié au navigateur, on a eu AIR (noter l'acronyme) par Adobe, basé sur la technologie Flash, Silverlight par Microsoft, basé sur la plateforme .NET, et maintenant JavaFX, par Sun, basé sur Java. Plus d'autres acteurs plus mineurs (en parts de marché) comme OpenLazlo.
Bon, j'ai pas les moyens d'investir dans Flash, je n'ai ni l'envie ni le temps d'apprendre .NET et ses satellites, j'ai donc commencé à apprendre JavaFX, qui se base donc sur Java, une plateforme que je commence à connaître.
J'ai prudemment attendu la sortie officielle, avec raison vu les différences dans le langage et les librairies entre les versions béta et la 1.0.
D'ailleurs c'est désespérant, le Web fourmille de tutoriaux... antérieurs à la sortie officielle, donc inutilisables !
JavaFX, c'est d'abord un langage spécialisé, au grand dam de nombreux programmeurs Java qui reprochent de ne pas avoir gardé la syntaxe de ce langage.
Cela ne me gène pas, sinon que je me demandais pourquoi ils ont fait encore un nouveau langage au lieu d'utiliser un existant déjà, bien rôdé.
En pratique, il est assez simple à apprendre, j'ai vu l'essentiel avec l'excellent article (en anglais) Experiments With JavaFX Script.
C'est plutôt pas trop mal fait, encore que je m'étonne encore de certaines limitations, comme l'absence de tableau associatif (liste de couples clé/valeur) présent dans tous les langages de script majeurs (Lua, JavaScript, PHP, Python, Perl et compagnie). Ou des expressions régulières natives. On peut utiliser Java pour tout ça, mais c'est plus vraiment intégré...
Je vois aussi certains vestiges, comme reverse
qui est un mot clé comme insert
ou delete
, mais agit comme une fonction : on doit récupérer le résultat, à l'inverse des deux autres mots clés qui agissent sur la séquence en question. Vu sa fréquence d'utilisation, il aurait plutôt eu sa place dans Sequences
, comme sort
et shuffle
.
Contrairement aux langages cités plus haut, c'est en fait un langage (semi-)compilé, comme Java, malgré l'appellation de script qu'on utilise pour les petits programmes.
En fait, les fichiers .fx compilés deviennent de banals fichiers .class, du bytecode Java ordinaire, mais nécessitant le runtime spécifique (qu'on n'a d'ailleurs pas le droit de distribuer, les utilisateurs doivent le récupérer chez Sun).
Ils ont choisi de faire un nouveau langage (en fait, dérivé de F3, je crois), outre les liens forts avec Java (qui deviennent évidents quand on creuse un peu), en partie pour supporter quelques constructions originales : le concept de binding qui contribue pour une bonne part à la puissance du langage, la syntaxe des animations (singulièrement sous-documentée dans la première mouture de la référence qui a des lacunes béantes), etc.
Bon, je reviendrai sur JavaFX bientôt, pour partager quelques petites expérimentations. Pas grand chose, j'ai peu de temps à y consacrer, mais j'ai l'impression qu'il y a encore peu de littérature en français sur le sujet.
© PhiLho / PhiLhoSoft | Site principal Design par PhiLho (basé sur un template de ceejay/Carl Galloway) | Motorisé par SerendipityAdmin