Maintenant que TideSDK est bel et bien mort, j'ai cherché des "wrappers" alternatifs pour exécuter des applications HTML/CSS/JS en tant qu'applications de bureau autonomes. Les trois options viables que j’ai rencontrées jusqu’à présent sont NW.js (anciennement node-webkit), brackets-Shell , et Electron ( anciennement atome-Shell).
Le problème est qu’il ne semble pas y avoir de comparaison suffisamment complète entre les trois en termes de jeu de fonctionnalités, de compatibilité, etc. J'espère transformer cela en un fil conducteur plus ou moins canonique sur les différences (objectives) entre les trois, notamment en ce qui concerne:
node-inspector
, etc.Quelles sont les différences techniques objectives qui importent pour choisir entre elles en tant que développeur d'applications?
J'ai effectué des recherches similaires il y a environ deux mois et à la fin j'ai opté pour node-webkit. Le plus gros avantage de node-webkit est node.js et npm. La gestion des paquets de npm est vraiment agréable, et le noeud a bien accédé au système de fichiers.
Brackets-Shell semblait intéressant, mais à part un Nice IDE je ne comprenais pas vraiment ce qui rendait celui-ci aussi bon ou meilleur que les autres. Ils sont très clairs: "Les crochets-Shell sont seulement maintenu pour une utilisation par le projet Brackets ", qui hurle fuir à moi.
https://github.com/Adobe/brackets-Shell#overview
Atom-Shell semble être actif récemment, mais cela ressemble beaucoup à des crochets en ce sens qu’ils écrivent vraiment et que l’éditeur/IDE est lié à un runtime Webkit. Il est également construit sur node.js. Celui-ci a l'inconvénient d'être difficile à rechercher des choses en ligne sans être rappelé à la chimie de votre collège.
Je ne veux vraiment pas d'un nouvel éditeur, et la plupart des programmeurs ont déjà leur favori. Pour le développement actuel des applications, elles fonctionnent quasiment de la même façon et devraient, puisqu'elles utilisent toutes webkit. Vous écrivez en gros 90 à 95% de celui-ci comme un site Web, puis vous vous occupez des parties natives et de certaines config.
Ces éléments sont valables pour les trois plates-formes - fonctionne sous Windows, Mac et Linux - HTML5, CSS3 et Javascript: puisqu'ils exécutent javascript, vous pouvez télécharger et exécuter presque toutes les bibliothèques/infrastructures de votre choix.
La mise en garde sur webkit est le support de codec. En règle générale, vous aurez des problèmes avec les codecs vidéo non libres, sauf si vous reconstruisez la dll/so pour les prendre en charge. Par exemple, le nœud-webkit fourni ne lira pas la vidéo MP4.
J'ai joué avec Atom-Shell au cours des derniers jours et je l'aime jusqu'à présent.
La meilleure partie de cela est qu’il est soutenu par GitHub .. ce qui devrait vous permettre de vous installer sur la plate-forme à long terme, surtout s’il gagne un grand public. C'est également possible grâce aux améliorations directes de Node.js grâce à un contrat avec StrongLoop, qui est un contributeur majeur à Node.js. (ils prétendent employer plus de développeurs principaux de Node.js que toute autre société, même Joyent).
J'ai aussi trouvé assez confortable de commencer. Il m'a fallu environ une journée pour apprendre la structure et faire fonctionner ma première preuve de concept. Très cool.
Mise à jour (25/11/14): Je n'ai pas encore trouvé de cas d'utilisation de Atom-Shell à quelque titre que ce soit, mais je l'ai déjà utilisé construire quelques petites applications pour mon propre usage, le plus complexe étant une application qui tire mon journal de temps de mon logiciel PM et crée des factures Paypal.
Mon opinion sur la plateforme reste positive. C'est vraiment génial.
J'ai utilisé avec succès Bootstrap 3 modèle d'exemple de tableau de bord et quelques modules de nœud (bluebird, Paypal SDK, Teamwork PM client) pour créer une application légèrement complexe. Cela m'a pris quelques jours et fait bien son travail.
Je ne vois vraiment rien de négatif à dire à propos d’Atom-Shell: solide, stable, rapide et facile à coder. J'espère que ça aidera quelqu'un.
Outre la prise en charge complète des normes Web, NW.js prend en charge une liste de fonctionnalités non standard pour le développement d'applications natives, notamment:
Il y a beaucoup plus à voir dans le wiki, y compris Menu, Plateau, etc.
Je travaille avec brackets-Shell depuis un certain temps maintenant, voici certaines de mes conclusions:
La documentation pourrait être meilleure
support de la plateforme Ils supportent Windows, Mac et Linux. Un package d'installation peut également être créé. Je ne l'ai testé que sur Win et Mac, cela fonctionne très bien.
Une chose à noter (si vous y tenez), c’est que l’Electron ne prend officiellement pas en charge Windows Vista. La part de marché de Vista est d'environ à mi-chemin entre OSX 10.9 et 10.1 (les deux étant entièrement pris en charge par Electron). Vista est également toujours pris en charge par Microsoft jusqu'en 2017.
NW.js fonctionne bien sous Vista, ainsi que sous OSX 10.9+. NW.js fonctionne sur Ubuntu, Debian, Zorin, Manjaro, Arch et la plupart des autres systèmes d'exploitation Linux basés sur Debian. Electron a refusé que les relations publiques corrigent des bogues spécifiques à Ubuntu sur leur plate-forme, ce qui est préoccupant.
NW.js fonctionne avec XP aussi. Actuellement, 18% du marché est encore sous XP. Donc, si votre application de bureau est destinée à un usage plus général ou veut avoir accès aux derniers utilisateurs encore adoptés XP, vous êtes probablement mieux avec NW.js (0.14.7), car Electron ne prend en charge que Win 7 et les versions ultérieures.
Si vous utilisez NW.js 0.12.3, vous pouvez également prendre en charge OSX 10.6+ et les très anciennes versions de systèmes d'exploitation Linux basés sur Debian comme Ubuntu et Win XP +. Nous vous recommandons toutefois de créer des versions spéciales pour ces systèmes hérités et d'utiliser les versions les plus récentes de NW.js pour les systèmes d'exploitation les plus récents.