Bonjour à tous !
Ceci n'est peut-être pas le meilleur endroit pour poser ma question.
Je développe depuis plusieurs années des sites à but pédagogique utilisant la technologie Java (applets), le langage Javascript, etc...
Ce sont les appliquettes Java qui me posent le plus de problèmes. La multiplication des O.S., des navigateurs et les difficultés d’installation des plugins (principalement sous Linux) pose de plus en plus de problèmes. En particulier les questions de sécurité créent en permanence de nouvelles contraintes, les nouvelles versions de la JVM apporte des problèmes d'incompatibilité etc.. etc...
A cela s'ajoutent des problèmes de performance.
Bref, je commence à en avoir marre de Java (je veux dire pour l'écriture d'appliquettes en dev. web). Pour du code natif, si la puissance n'est pas requise Python convient très bien. Si la performance est exigée autant se tourner vers C et C++.
Le problème est que pour l’instant les applications écrites en C/C++ ne passent pas directement sur le web.
Il y a deux approches concurrentes :
- Google avec NaCl et PNaC (made in Google for Google)
- Firefox (et autres) avec asm.js et emscripten.(compatible avec la majorité des navigateurs avec des performances variables.
J'essaie actuellement l'une et l'autre.
Je commence par asm.js avec emscrypten.
J'ai consulté le site, et les tutos. Les exemples très simples sont facilement reproductibles et sur des programmes mono-fichiers genre 'hello-world' tout se passe comme dans le livre.
Le Pb est qu'un programme C/C++ se présente généralement sous la forme d'un projet dans un EDI (j'utilise indifféremment code::blocks, netbeans, eclipse, etc...) chacun ayant ses avantages et ses inconvénients. Dans l'ensemble je trouve que code::blocks est plutôt sympa et pas trop 'usine à gaz'. Il a ma préférence.
On trouve sur le web de nombreux sites de démo correspondant la plupart du temps à des jeux 'portés' sur le web via l'une ou l'autre des deux techniques ci-dessus.
Les auteurs se vantent d'avoir fait le boulot en moins d'une semaine. Nous les croirons sur parole. Le mérite de tous ces sites est de prouver que la chose est possible et que les résultats sont disons encourageants.
Je ne sais pas si une de ces technologies est vraiment adaptée à mon cas dans la mesure où le temps le plus important correspond à 'loading ...' une fois que mes modules sont chargés l'exécution est rapide, y compris en java. En tout cas je veux essayer. Il ne me déplairait pas de conserver un langage de programmation unique fut-ce C++.
Nous en venons maintenant à ma question pratique:
Partant d'un projet Code::blocks impliquant de nombreux fichiers source (principalement des définitions de classe header+implémentation) et utilisation des librairies annexes (principalement SDL et extensions IMG, TTF, MIXER etc..) comment faire pour produire directement du code javascript avec emscripten ?
Je me suis tapé la lecture de:
Building projects
On ne peut pas dire que les choses soient limpides ...
Bref j'ai cru comprendre qu'il fallait avant tout générer un fichier makefile.
Ce fichier peut être généré avec l'utilitaire cbp2make.
J'ai installé le truc et je l'ai essayé cela a l'air de fonctionner.
Le problème c'est la suite. La doc n'est pas claire, sauf peut-être pour un pro de la compilation en ligne. Bien sûr en tâtonnant une journée entière (ou deux) je vais finir par y arriver, mais si quelqu'un était familier de la procédure et pouvait m'orienter vers un tuto bien fait, ce ne serait pas de refus. Surtout que même une fois la compilation réussie le résultat risque de ne pas être à la hauteur de mes espérances.
Voilà. Je ne sais pas si ce sous-forum est le meilleur endroit pour cette discussion.
Si ce n'est pas le cas je remercie d'avance le modérateur de déplacer la discussion vers un endroit plus adapté.
Merci pour votre attention.
Z.
Partager