Développement Web Open Source haXe et les outils « open source » Première partie
Le Web aujourd’hui HTML Java script CSS Flash PHP Java …
haXe Langage Web Universel
Les différentes technologies actuelles Navigateur Web Client HTMLCSSFlash Java scriptAction script Serveur BDD (MySQL…), système de fichiers… PhpJavaRuby / Python …
La vision haXe Navigateur Web Client HTMLCSSFlash haXe Serveur BDD (MySQL…), système de fichiers… haXe
Historique de haXe Motion-Twin© développe des jeux Flash et des sites de jeux Flash Action Script MotionTypes MotionTypes MTASC (Client Flash) MotionTypes MotionScript Neko (Serveur) Arrivée de AS3 (Flash Player 9) haXe
haXe langage universel Web Compilateur en ligne de commande Compatible Windows / Mac OS / Linux Multi plateforme: JS, Neko, SWF (Flash6-9) Syntaxe à la C++ /Java / JS / Action Script Concepts inspirés de Java / Action Script / OCaml… Possibilités d’extension (Php…)
Concepts haXe Librairies standard (communes) + Librairies spécifiques aux différentes plateformes Typage fort + Inférence de types Paramètres de types (Arrays, Lists, Hashs) et fonctions paramétrées « Delegate » automatique Compilation Conditionnelle Infos Debug supplémentaires Remoting
Exemple de code class Main { static function main() { var s : String = "HelloWorld !"; var a = new Array (); for ( i in 0...s.length ) a.push( s.substr( i, 1 ) ); var s2 = a.join( "" ); #if js trace( s2 + " in JS" ); #else flash trace( s2 + " in Flash" ); #else neko trace( s2 + " in Neko" ); #end }
haXe Java Script Structure en classes Pas d’inclusion un seul.js Accès à l’API DHTML du navigateur, à l’API standard (Date, Math, Xml…) ainsi que des API inter navigateurs (XmlHttpRequest…) Le meilleur moyen pour faire de l’AJAX ! Features du compilateur
haXe Neko Pas d’inclusion un seul.n Accès aux bases de données, système de fichiers, réseau… Tourne en « stand-alone » ou en tant que module Apache sur la NekoVM (développement d’application de bureau ou Web) Rapidité d’exécution (20x plus rapide que Php…) Features du compilateur
haXe SWF Génère du bytecode pour Flash 6 à 9 Accès à l’API de Flash de base + API haXe Bytecode plus performant que celui généré par le compilateur d’Adobe Génère du code AS3 (éventuellement) Features du compilateur
Typage fort + Inférence de types Directives de compilation « Inline » Typedefs Enums haxe.xml.Proxy Puissante API de Remoting Auto-completion « built-in » Génération de la documentation Gestion des fichiers de ressources externes
Conclusion Un seul langage à apprendre Accroissement de la productivité Robustesse du langage (un nouveau langage qui tire le meilleur parti de l’existant !) Grande communauté « open source » haXe … ou comment faire tomber les filles en parlant « code »