JeuWeb - Crée ton jeu par navigateur
haXe et PHP - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : haXe et PHP (/showthread.php?tid=4047)



haXe et PHP - Shao - 05-06-2009

Je sais qu'on en a déjà parlé et que cette nouvelle commence à dater de quelques mois... Il me semble que haXe possède désormais une librairie dédiée pour le PHP et que du coup il est possible de générer du PHP avec du code haXe.

Les avantages ?
Pour moi j'en vois deux :

- Le premier c'est de pouvoir uniformiser les projets en un seul langage de programmation. Aujourd'hui dans chacun des projets, on a du javascript, du php éventuellement du flash. J'adore pouvoir toucher à pleins de langage en même temps et me familiariser à chacun. Mais pour du développement amateur ou pour même transférer une personne sur un bout de code qu'il ne maîtrise pas du tout, c'est pas évident.

- Le second c'est de pouvoir travailler avec un compilateur qui nous jette quand on fait des erreurs de syntaxe, de dépendance entre les classes etc... avant l'execution.
(A confirmer par certains mais il me semble que quand on fait des inclusions en php, elles ne sont pas pris en compte par le debugger)

Les inconvénients ?

- Les librairies existantes en php ne sont pas utilisables j'ai l'impression (ou alors il faut les convertir en classe haXe, je ne sais pas si à l'heure actuelle un tel projet existe mais même si c'était le cas il ne serait pas parfait je suppose :p)

- Apprendre un nouveau langage ( et oui encore et toujours Smile )

Je suis sur qu'il y a d'autres avantages et inconvénients donc si vous avez envie de réagir n'hésitez pas. Wink

Pour la page du projet haXe, elle a déjà été mentionnée dans d'autre post mais je la redonne :
http://haxe.org/
http://haxe.org/doc/start/php (pour le mode php)


RE: haXe et PHP - Allwise - 06-06-2009

J'ai entendu parler de Haxe y a un moment et je trouvais l'idée séduisante d'un côté, mais pas assez au vu des inconvénients :
Qui utilise Haxe aujourd'hui ? Si c'est juste pour ma pomme, je préfère bosser directement les langages dont j'ai besoin. Et même si c'est pour bosser en équipe, ça pourrait être une bonne chose si c'était utilisé par beaucoup de monde, malheureusement les utilisateurs de cette solution doivent être très très très peu nombreux.

Ensuite, pour développer essentiellement en php / js / actionscript, je trouve que ça n'apporte rien. Le coup de la syntaxe unique ne permet pas de faire abstraction des spécificités du langage. Du coup, devoir jongler entre la documentation du langage pour étudier ses possibilités et la doc et l'API de Haxe pour s'y retrouver, ce doit être un sacrée merdier. Et je sais pas comment Haxe gère les objets / fonctions des extensions PHP mais au regard de l'API rikiki, ce doit être le bordel également.

En bref, je pense que ce truc, Haxe, rajoute une couche de haut niveau inutile et ne peut que piéger ses utilisateurs dans l'apprentissage de la syntaxe d'un langage nouveau, artificiel, au détriment des vrais langages, ce qui ne peut être que problématique. Dans le cas d'un utilisateur expérimenté, je pense qu'on ne peut tout simplement pas l'utiliser. Un développeur amateur peut être plus efficace avec Haxe au début parce qu'il fait abstraction des différences entre les langages... Mais c'est clairement pas une bonne démarche pour continuer son apprentissage et progresser.

Après je dis ça, mais j'ai jamais utilisé Haxe, juste je le vois comme ça. Donc peut-être que j'ai faux sur toute la ligne ^^ Auquel cas je serais ravi d'être corrigé Big Grin


RE: haXe et PHP - Kishan - 06-06-2009

faut savoir quand même que toute l'équipe de Motion Twin utilise ce langage, donc ça doit quand même être un minimum pratique..
Eux même disent que ca leur permet de programmer plus rapidement.


RE: haXe et PHP - Shao - 06-06-2009

(06-06-2009, 12:27 AM)Allwise a écrit : Qui utilise Haxe aujourd'hui ? Si c'est juste pour ma pomme, je préfère bosser directement les langages dont j'ai besoin. Et même si c'est pour bosser en équipe, ça pourrait être une bonne chose si c'était utilisé par beaucoup de monde, malheureusement les utilisateurs de cette solution doivent être très très très peu nombreux.
Je suis d'accord avec toi sur un point , c'est que peu de personnes s'en sert à l'heure actuelle (côté PHP en tout cas) et que donc pour tout ce qui est portage de librairie existante, c'est vrai que c'est un peu difficile. D'un autre côté haXe se sert aussi de son côté de ses propres outils donc pour certaines API en PHP sont inutiles car elles sont déjà intégrées dans le moteur de haXe en lui même.

Je pense qu'on utilise une technologie parce qu'elle est mise en valeur et ce n'est pas le cas de haXe. Pourquoi me diras-t-on ? Parce que tout simplement ce n'est pas une gigantesque boite qui promeut le langage (Motion-Twin qui même avec une bonne réputation reste une SCOPE d'une dizaine de personnes).

(06-06-2009, 12:27 AM)Allwise a écrit : En bref, je pense que ce truc, Haxe, rajoute une couche de haut niveau inutile et ne peut que piéger ses utilisateurs dans l'apprentissage de la syntaxe d'un langage nouveau, artificiel, au détriment des vrais langages, ce qui ne peut être que problématique. Dans le cas d'un utilisateur expérimenté, je pense qu'on ne peut tout simplement pas l'utiliser. Un développeur amateur peut être plus efficace avec Haxe au début parce qu'il fait abstraction des différences entre les langages... Mais c'est clairement pas une bonne démarche pour continuer son apprentissage et progresser.
Je pense sincèrement que haXe est un vrai langage et que petit à petit, une communauté se fonde pour l'utiliser, produire des librairies et rendre les fonctionnalités du langage un peu plus complètes.
A l'heure actuelle je travaille sur des outils web en javascript et c'est l'enfer à debugger. Pourtant j'utilise la librairie prototype qui permet de faire du pseudo objet mais une véritable syntaxe me manque énormément.

En PHP, le soucis s'impose moins je trouve mais je pense que pas mal de personnes pense la même chose que moi en ce qui concerne le debuggage du php (au runtime), qui reste quand même je trouve un gros point noir.
Par exemple, testé un script php pour finalement vérifier qu'il me manque une inclusion d'un fichier alors que ce genre de soucis j'aurais pu le voir à la compilation je trouve ça dommage (pas forcément laborieux car je pense qu'il faut s'adapter à chacun des langages qu'on utilise mais juste dommage Smile).
Donc si un langage me permet de vérifier certaines de mes bêtises pendant une phase de compilation, je trouve ça intéressant.

Bien sûr dérrière j'y trouve aussi un autre avantage qui est l'API PHP de haXe ressemble beaucoup à celle de Neko (langage orienté server que haXe utilise également), et que si un jour je veux changer de plateforme car ma version PHP est juste temporaire le temps que je puisse me prendre mon propre serveur, je pense que ça vaut le coup.

En Flash, dernièrement haXe permet de compiler ses projets flash en swc ce qui veut dire que chacun des projets haXe est utilisable en Flash/Flex. A l'inverse , ils travaillent sur un moyen d'importer les swc dans des projets haXe.

Enfin comme dit Kishan, si c'est les employés de Motion-Twin s'en serve, c'est qu'à mon avis ce langage réserve de bonnes surprises. Wink


RE: haXe et PHP - Holy - 06-06-2009

Si les employés de MT s'en servent c'est surtout parce que c'est l'un de leurs employés (Nicolas Cannasse, ex représentant de flash-france aux différentes conférences internationales) justement qui a développé ce langage, version actualisé de MTASC au passage.

Sinon, sur le principe c'est intéressant. Bête question, je me demande dans quel mesure c'est intéressant pour un projet amateur. Y a relativement peu de projets qui jonglent avec les trois langages préférés de haXe, et encore moins un seul programmeur qui s'amuse avec flash/php/javascript (les deux derniers ça arrive nettement plus souvent).

J'ajoute qu'à la base haXe (MTASC) se basait uniquement sur le flash, donc c'est pas tout nouveau la gestion en flash.

Maintenant pour un professionnel, je pense que ça peut être intéressant en terme de rentabilisation du temps de travail. Perso, j'ai pas le courage de me lancer dans un nouvel apprentissage ^^


RE: haXe et PHP - phenix - 06-06-2009

Mouais, je vois pas vraiment l'intéret d'ajouter encore un truc, on a largement assez avec les technologie déjà présente...

Déjà qu'il faut jongler avec PHP, JavaScript, SQL, parfois flash, si on ajoute encore, on va finir par ne plus savoir ce que l'on fait !

Bref, je vois pas ce que sa apporte de plus...


RE: haXe et PHP - Shao - 06-06-2009

(06-06-2009, 09:54 AM)phenix a écrit : Déjà qu'il faut jongler avec PHP, JavaScript, SQL, parfois flash, si on ajoute encore, on va finir par ne plus savoir ce que l'on fait !
Justement c'est en évitant de jongler entre les 3 langages que ce dernier devient aussi intéressant.

Par contre Holy a raison sur un point : il n'y a pas beaucoup de développeur (encore moins amateur) qui s'amuse à jongler entre plusieurs langages, mais moi au contraire le fait d'en apprendre plusieurs me permet de me diversifier dans la technologie que je souhaite utiliser (bien que je sois pour le moment plus à l'aise en Flash).
Je ne veux pas être un de ces développeurs qui se dit spécialiste en un seul langage, je veux qu'on me donne un projet, une technologie et derrière je dois assurer. :p
En contre-partie je perd du temps et du coup ça a un impact sur mes propres projets.

La gestion du flash existait certes mais depuis la sortie de Flex, haXe a eu je pense une perte de clientèle car pas moyen de communiquer entre ces deux technologies sauf si on charge dynamiquement une librairie (ce qui peut être bien en soi mais un peu difficile et un peu dépassé dans d'autre cas : se baser sur un système dynamique implique des classes du même ordre et c'est pas forcément super simple à manipuler).
Depuis l'arrivée du swc côté haXe, cela devient plus simple par exemple pour utiliser un moteur de carte au sein de Flex ce qui est peut être assez intéressant je trouve. Smile

Bon et puis c'est vrai que je défends pas mal le petit, c'est peut parce que je viens du monde Flash après tout et que si un système me permet de communiquer rapidement entre Flash et un serveur avec le même langage sans avoir une usine à gaz, je pense que cela peut valoir le coup. (Je reprends le même principe pour tout ce qui est interface capable de communiquer avec un serveur) Wink