Construct 2 peut exporter votre projet comme une application traditionnelle de bureau avec NW.js qui est basiquement une version tout-en-un (standalone) du navigateur Internet Google Chrome. En d'autres termes c'est comme si vous avez votre projet démarrant dans Chrome, mais sans la nécéssité pour l'utilisateur d'avoir le besoin d'avoir à installer Chrome sur son ordinateur, et sans les choses comme la barre d'adresse qui s'afficherait, cela ressemblerait alors comme une application native. Ce tutoriel couvre quelques astuces au cas où vous souhaiteriez utiliser ce mode d'option d'exportation.
NW.js peut exporter des applications pour Linux, Mac OS X et Windows. Les versions pour Linux et Windows disposent de leur variantes 32-bit et 64-bit. Seul les versions OS X seront exportées dans une construction 64-bit, comme tout les systèmes Mac modernes sont déjà en 64-bit.
Notez que NW.js était anciennement connu sous le nom de node-webkit.
Installation de la prise en charge de NW.js
Comme les fichiers inclus avec NW.js gèrent toutes les plateformes, cela prend pas mal d'espace disque, à partir de Construct 2 r187 et supérieures, le support de la prise en charge de NW.js doit être installé séparémment. Pour installer la prise en charge de NW.js, visitez scirra.com/nwjs pour le télécharger gratuitement. Si vous essayez d'exporter ou de réaliser un aperçu avec NW.js sans avoir la prise en charge de NW.js installé, vous serez invité à visiter cette même page pour le récupérer. Vous n'avez pas besoin de redémarrer Construct 2 après avoir installé la prise en charge de NW.js, il devrait être fonctionnel dès lors que l'installateur de NW.js se termine (avec succès).
Notez qu'à partir de Construct 2 r217, seul NW.js 0.13+ est supporté. Pour les versions Construct 2 r216 et inférieures, seul est supporté NW.js 0.12 et inférieur.
NW.js et ses fonctionnalités spécifiques
Les applications de Bureau ont des privilèges uniques qui ne sont pas normallement accessible par des applications Web, comme par exemple la possibilité d'écrire des fichiers directement sur le disque dur. L'objet NW.js object vous permet d'utiliser de telles fonctionnalités. Souvenez-vous cependant que si vous planifiez d'exporter un jour votre projet vers une plate-forme système différente, aucune des fonctionnalités de l'objet NW.js ne fonctionneront. Vous aurez alors besoin de désactiver quelques fonctionnalités ou d'utiliser d'autres fonctionnalités à la place. Il peut être plus facile de schématiser votre projet dans le but d'être portable, et ce depuis le début; par exemple Local Storage et savegames sont fonctionnels sur toute les plate-formes systèmes, alors que l'écriture de fichiers sur le disque dur ne fonctionnerait qu'avec NW.js.
Pour démarrer un projet exporté sous NW.js en mode plein-écran, comme pour toute les autres plate-formes utiliser l'action de l'objet Browser object Request fullscreen. Vous pouvez utiliser cette action dans l'évènement On start of layout dans NW.js alors que sans NW.js (NDT: donc dans un simple navigateur internet) cela serait habituellement ignoré tant que l'utilisateur n'aurait pas effectué de lui-même la commande enclenchée depuis un évènement du genre de On object clicked.
Vous pouvez aussi tester les fonctionnalités de NW.js dans le mode Preview mode (NDT: Mode d'aperçu pour avoir un premier aperçu sur ce que pourrait être le projet et comment il se comporterait) de Construct 2 en conférant le paramètre Preview browser à NW.js. Cela démarrera la version Windows 32-bit de NW.js - pour effectuer des tests pour d'autres plate-formes, il vous faudra alors exporter le projet.
Options d'Exportation
Lorsque vous exportez, vous pourrez choisir parmis les options suivantes:
Window frame: affiche le cadre et la barre de la fenêtre du système d'exploitation (NDT: la plate-forme et son thème graphique) qui encadre alors votre projet.
Resizable window: autorise la fenêtre de votre projet à être redimensionnée. Notez que cela n'est seulement utile si Window frame est activé.
Kiosk mode: utiliser un mode d'affichage de type "kiosk", où l'application tournera en plein-écran et essayera d'empêcher l'utilisateur de la quitter.
La publication sur la plate-forme Windows
Lorsque vous publierez des applications Windows, NW.js supporte seulement le plus puissant et rapide moteur de rendu WebGL si les runtimes (NDT: bibliothèques) de la dernière version de DirectX sont installées. Le fichier exporté en plus de votre projet et qui se nomme dxwebsetup.exe est un fichier qui peut installer la dernière version de DirectX si elle s'avère non-présente sur le système de l'utilisateur. Vous devriez vous assurer que DirectX est installé sur le système de l'utilisateur avant de démarrer le projet, par exemple en créant un installateur pour votre jeu qui lancera alors les étapes d'installation de DirectX. Vous pouvez utiliser le paramètre de ligne de commande /Q à l'installateur dxwebsetup.exe afin de le démarrer en mode "quiet" (où l'installateur de DirectX n'invite pas et ne dit rien à propos de son installation à l'utilisateur, s'installant donc en fond-de-tâche de manière invisible). Notez qiue si l'utilisateur n'a pas les derniers composants runtime (NDT: bibliothèque de fonctions) DirectX installés, le jeu peut échouer à utiliser WebGL et alors utiliser à la place un mode Canvas2D rendu par logiciel et ainsi tourner avec de faibles performances. Si les utilisateurs continuent de subir des problèmes après avoir installé dxwebsetup.exe, et très spécialement des crashs, glitches (NDT: bugs graphiques) ou faible performances, encouragez les à mettre à jour leurs drivers graphiques (NDT: pilotes graphiques de leur carte graphique) comme pas mal de problèmes peuvent survenir de vieux drivers pas à jours.
La publication sur les plates-formes OS X et Linux
Le plus grand problème connu avec la publication d'applications pour OS X and Linux est la permission d'exécution pour les fichiers exécutables. Les permissions de fichiers fonctionnent diffèremment que sur Windows qui lui reconnait généralement n'importe quels fichiers se terminant par l'extension .exe comme quelque chose d'exécutable. En revanche, sous OS X et Linux, les fichiers exécutables sont pas d'extension de fichier spécifique, c'est pourquoi il faut préciser ce qui peut être un fichier exécutable et ce qui ne le sera pas, et cela s'effectue par un paramètrage de permissions de fichiers. Windows n'est habituellement pas aware (NDT: pas au courant) de cela, donc si vous copiez des fichiers de Windows vers OS X ou Linux, les fichiers n'auront pas leur permission d'éxécution une fois copiés sur OS X ou Linux et donc dans ce cas échoueront à s'éxécuter.
(NDT: Supposons un fichier "mygame" que l'on veut rendre exécutable)
Sur Linux, la commande suivante active la permission d'exécution pour le fichier 'mygame'. Tappez cette commande depuis un terminal Linux pour vous assurer que le fichier pourra être exécuté avec permission accordée:
chmod a+x mygame
(NDT: je n'ai jamais utilisé de Mac OS X dans ma vie, j'essaie donc d'être le plus conçis possible dans ma traduction..)
Sur Mac OS X, il y a actuellement différents fichiers à l'intérieur de l'app package (NDT: paquet de l'application) qui ont besoin d'être exécutables. La manière la plus aisée de préserver les permissions est de de copier le projet exporté en utilisant OS X à la place de Windows. Si vous méttez en réseau une machine Windows et OS X ensemble, que vous vous identifiez à votre compte sur Windows et copiez les fichiers vers le système d'exploitation OS X, sachez que Windows ne sera pas au courant des permissions à donner au fichier exécutable, et donc Mac OS X ne saura pas quelle permissions de fichiers à accorder, ce qui fera que l'application échouera à se lancer sous Mac OS X. Cependant, si vous faites l'inverse: que vous méttiez en réseau une machine Windows et OS X ensemble et que vous vous identifiez à votre compte Mac OS X et récupéreriez les fichiers de votre projet Construct 2 sous Windows depuis le compte Mac OS X, alors cela préservera les permissions d'exécution et devrait produire comme résultat la possibilité de lancement de l'application.
Conclusion
En utilisant NW.js vous pouvez publier des applications Bureau pour les trois premiers systèmes d'exploitations du marché avec des fonctionnalités intégrées comme les accès au disque dur et l'affichage en plein-écran forcé. Cependant souvenez-vous que l'utilisateur devra néanmoins (NDT: par une manière ou une autre) lancer sur Windows le fichier dxwebsetup.exe, et qu'il est très facile de perdre les permissions d'exécution des fichiers en les copiant directement de Windows vers un autre OS (NDT: OS = Operating System = Système d'Exploitation = SE).