11 novembre 2017 · 5 min de lecture
Créer une application pour ordinateur de bureau avec interface graphique est possible avec python/tkinter, Java/JavaFX, C++/Qt… Mais avec ces solutions, l’utilisateur final doit installer Python, Java, et éventuellement C++ redistribuable.
Pour le python, vous me direz “on peut compiler le code en exécutable”. Oui, mais c’est, je pense, du bricolage.
Avec ces languages, les interfaces graphiques sont relativement figées, peu esthétiques et pauvres en composants :
Tkinter
JavaFX
Qt
Parallèlement, le web offre des frameworks CSS/HTML très riches et au design soigné. La liste est longue : Bootstrap, Semantic UI, Quasar, Vuetify…
On voit même fleurir une multitude de “UI frameworks” chinois : ElementUI, iView, MintUI, CubeUI…
On dispose ainsi de tous les composants d’une belle interface graphique : bouton radio, liste déroulante, barre de progression, zone de texte… Et même plus, grâce à de nombreuses librairies Javascript disponibles sur npm et GitHub. On peut citer : la cartographie avec Leaflet, les graphiques avec Chart.js, etc…
Sachez que si vous savez coder un site web (html, css, javascript) alors vous pouvez programmer une application pour Windows, Mac, et Linux. Ce tour de force a été réalisé par GitHub, qui a créé le framework Electron, à l’origine pour son éditeur de texte Atom. Electron se base sur le natigateur libre Chromium et sur NodeJS. La version 1.0.0 est sortie en mai 2016.
A titre d’exemple, les applications suivantes sont codées avec Electron :
Visual Studio Code
Mailspring
GitKraken
Slack, WordPress, Discord ont également réalisé leurs applications “desktop” avec Electron. Une liste de logiciels créés avec ce framework se trouve à l’adresse suivante : https://electronjs.org/apps
Quels sont les avantages et les inconvénients du framework Electron ? Si on développe en CSS/HTML/Javascript, pourquoi ne pas mettre en ligne directement l’application ? Comment créer une première application ?
deb
, rpm
ou autre pour Linux.Node.js est un environnement d’exécution, multi-plateforme, libre, permettant d’exécuter du Javascript côté serveur.
Non, vous n’aurez pas besoin d’un serveur. En fait votre application embarque NodeJS, donc vous pouvez exécuter du code, comme sur un serveur, mais dans votre application. Vous disposez ainsi, par exemple, des modules natifs fs pour accéder au système de fichier, et http pour envoyer des requêtes.
Pour installer NodeJS sur votre système, il est préférable de se référer au site officiel : https://nodejs.org/en/
Pour vérifier la version installée tapez :
node -v
Npm (Node Package Manager) est le gestionnaire de paquets officiel de Node.js. Consultez la documentation pour installer l’utilitaire sur votre système.
Cet utilitaire permet d’ajouter à votre projet des “packages”. Par exemple pour utiliser les API Twitter vous pourrez utiliser le package Twit. Pour créer des graphiques le package chart.js est très bien.
Vérifiez la version installée sur votre système avec la commande :
npm -v