Pourquoi le plaisir de coder une app web entière avec le même langage devrait être réservé aux utilisateurs de Node JS ? Est ce que Haxe 4 pourrait devenir le "typescript de PHP" ?
Talk fait au Capitole du Libre - Toulouse - 17 Novembre 2019
1. +
1. Qui suis-je
2. Présentation de Haxe
3. Pertinence d’un typescript pour PHP ?
4. Comment ça marche
5. Refacto Cagette.net
2.
3.
4. ● Dev web ( backend et frontend )
● Des jeux multiplateformes ( Windows,
Mac , Linux, Android, IOS, XBOX,Wii
et PS4 )
● Des outils en ligne de commande
● Du "creative coding" ( acceleration
GPU, shaders )
● Arduino, Raspberry Pi...
5. ● Créé en Octobre 2005 à Bordeaux,
par Nicolas Cannasse en OCaml
chez Motion-Twin ( successeur de MTASC et MTypes )
● 2006 : Haxe 1.0 : Neko, Flash et Javascript
● 2008 : Haxe 2.0 : C++ et PHP
● 2011 : macros !
● 2012 : Java et C#
● 2013 : Création de OpenFL
● 2013 : Création de la Haxe Foundation , Haxe 3
● 2015 : Python
● 2016 : LUA
● 2017 : HashLink, PHP7
● 2019 : Haxe 4
7. ● Tout coder dans un seul language :
○ compiler en Javascript pour le front
○ compiler en PHP pour le back
○ Pleins d’avantages, pour l’instant réservés aux
utilisateurs de nodejs
● Code typé : robustesse appréciable pour les grosses
applications, appellées à durer dans le temps, à être
maintenues. ( “code amphibie” : structures de données et
utilitaires )
● Personne ne propose ça. A part Hack et HHVM ( ne
compile pas en JS ). Javascript a ES5/6, Elm, Typescript,
Java a Scala, Kotlin … etc
8. Super language : fiable, robuste,
bien maintenu
Ecosystème faible ( taille
communauté, éparpillée, nbre de
librairies )
Language : évolue bien
mais pas top non plus.
Tentatives timides de typage
Ecosystème fort ( communauté
énorme, nbre de librairies et projets
open source )
9. Déjà, ils se ressemblent beaucoup :
var evens = [1, 2, 3].filter(n => n % 2 == 0);
Sauf => qui devient -> en Haxe
10. Comparatif Andy Li
“Typescript vs Haxe,
which is the better
compile-to-JS
Language” ?
05/08/2015
https://blog.onthewings.net/
2015/08/05/typescript-vs-ha
xe/
Corrigez moi si il y a
des erreurs...
12. Code amphibie : Tink_HTTP
Exemple d’externs Javascript : Leaflet
Exemple d’externs PHP : Twig
Microagri.org
App de gestion de questionnaire
https://github.com/bablukid/microagri ( branche “haxe4” )
13. 6 ans , 35k+ lignes de code
OK on passe de Neko à PHP7, même pas mal.
Abandon de Neko -> runtime PHP7
Abandon de Templo -> Twig ?
Richesse des librairies PHP -> génération de PDF, de
fichier ODS
14. Nous recrutons un dev fullstack expérimenté.
● Projet qui a du sens
● SCOP
● CDI au 4/5ème
● Remote possible
www.cagette.net/jobs
Questions ? francois@alilo.fr