149 votes

Quelles sont les différences fonctionnelles entre nœud-webkit, supports-shell et atom-shell ?

Maintenant que TideSDK est effectivement mort, j'ai été regarder dans l'alternative "wrappers" pour exécuter HTML/CSS/JS applications comme les applications de bureau autonomes. Les trois options viables j'ai rencontré jusqu'à présent, sont node-webkit, entre parenthèses-shell, et atome-shell.

Le problème est qu'il ne semble pas être suffisamment comparaison complète entre les trois en termes de featureset, compatibilité, etc. Je suis l'espoir de la transformer en une plus ou moins canonique fil sur la (l'objectif), les différences entre les trois, en particulier en ce qui concerne:

  • Plate-forme de soutien; les systèmes d'exploitation, des dépendances, etc.
  • Langue de support de la fonction, dans la mesure du HTML5, CSS3 et Javascript sont concernés. Pensez à des choses comme "ne vidéo HTML5 de travail, et si oui, quels sont les codecs disponibles?"
  • Non-standard des fonctionnalités supplémentaires, telles que des icônes, des notifications pop-up, et OS-rendus des barres de menu.
  • L'extensibilité, par exemple. capacité de 'plug-in' en code natif, parlez-en à Node.JS et ainsi de suite.
  • Architecture; en particulier, les différences architecturales qui affectent l'utilisation quotidienne en tant que développeur.
  • ... et ainsi de suite.

Quels sont les objectifs, les différences techniques qui importe le moment de faire un choix entre eux comme un développeur de l'application?

41voto

John W. Clark Points 96

J'ai fait des recherches similaires sur il y a deux mois, et en fin de compte, je suis allé avec node-webkit. Le plus grand à l'envers sur node-webkit est node.js et npm. Le package de gestion de la ngp est vraiment sympa, et le nœud a bien fait fichiers.

Les crochets de la coquille de l'air intéressants, mais d'autres qu'une belle IDE que je n'ai pas vraiment ce qui en fait un aussi bon ou meilleur que les autres. Ils sont très clairement que "Les parenthèses-shell n'est conservée que pour une utilisation par les Crochets de projet ", qui crie de courir loin de moi.

https://github.com/adobe/brackets-shell#overview

Atome-shell semble être récemment active, mais il semble que beaucoup de crochets en ce qu'ils sont vraiment l'écriture et de l'éditeur/IDE qui arrive juste à être attaché à un moteur webkit de l'exécution. Il est également construit sur le haut de node.js. Celui-ci a l'inconvénient d'être difficile de faire des recherches pour les trucs en ligne sans être rappelé à votre milieu de l'école de chimie.

Je ne veux pas d'un nouveau rédacteur en chef, et la plupart des programmeurs ont leur favori déjà. Pour le développement de l'application, ils ont assez bien travailler le même, et devrait, car ils ont tous l'utilisation de webkit. En gros, vous écrire, de 90 à 95% de celui-ci comme un site web, puis de traiter avec les indigènes des pièces, et certaines config.

Ces choses sont vraies pour tous les trois plates-formes - fonctionne sur Windows, Mac et Linux la langue de support de HTML5, CSS3 et Javascript : javascript, vous pouvez télécharger et exécuter presque n'importe quelle bibliothèque/cadre que vous le souhaitez.

La grosse mise en garde sur webkit est un codec de soutien. Généralement, vous aurez des problèmes avec les non-libre codecs vidéo, à moins que vous reconstruire l'/dll afin de les soutenir. Par exemple livrés node-webkit ne pas lire des vidéos mp4.

39voto

Luke Chavers Points 61

J'ai joué avec l'Atome de Shell au cours de la dernière quelques jours, et je suis amoureux d'elle jusqu'à présent.

La meilleure partie à ce sujet est qu'il est soutenu par GitHub.. ce qui devrait vous permettre de vous installer dans la plate-forme pour le long terme, surtout si il gagne une grande suite. Il est également rendue possible par direct Node.js améliorations de courtoisie d'un contrat avec StrongLoop, qui est l'un des principaux Node.js contributeur (ils affirment qu'ils emploient plus de Node.js les développeurs du noyau que toute autre entreprise, même Joyent).

J'ai aussi trouvé ça plutôt à l'aise pour commencer. Il m'a fallu environ une journée pour apprendre la structure et d'obtenir ma première preuve de concept en cours d'exécution. Très cool.


Points:

  • Support de plate-forme: Windows, Linux, Mac OSX (Plus d'Info Ici)
  • Langue de support de la fonction: HTML5, CSS3, JS via Chrome - pour l'instant, zéro problèmes, mais je n'ai pas testé la vidéo en particulier.
  • Fonctionnalités natives: Application Native Menus, la barre des Tâches de Soutien, Mondial de Raccourcis clavier, le Gestionnaire de Protocole de Soutien (que j'ai vu jusqu'à présent)
  • Extensibilité: Excellent Node.js l'intégration, à la fois le client et le serveur peut "exiger" Node.js les modules et les autochtones. J'ai également testé avec succès Bower bibliothèques (incl jQuery) sans problème.
  • Architecture: Couverts dans les autres points, mais en général sa très lisse.

Je vais poster plus comme j'en apprendre davantage.

10voto

Karel Braeckman Points 21

J'ai travaillé avec des crochets-shell pour un certain temps maintenant, voici quelques-unes de mes conclusions:

  • crochets-shell est principalement développé comme une coquille sous les supports IDE de projet, mais le projet peut exécuter n'importe quelle application web. Vous avez juste besoin de la faire pointer vers votre propre page html. Clint Berry a écrit un excellent tutoriel à propos de le faire: http://clintberry.com/2013/html5-desktop-apps-with-brackets-shell/
  • Le projet est soutenu par Adobe et a beaucoup d'activité
  • La Documentation pourrait être mieux

  • support de plate-forme qu'Ils prennent en charge Windows, Mac et Linux. Un package d'installation peuvent également être créés. J'ai seulement testé sur Win et Mac, il fonctionne très bien.

  • prise en charge des fonctionnalités html5, css3, js. Vidéo Html5 ne pas travailler hors de la boîte, mais il est très facile à activer (par défaut, le ffmpegsumo.dll n'est pas copié dans le programme d'installation, si vous modifiez le script pour copier il fonctionnera).
  • fonctionnalités natives de la barre de menu, "ouvrir un fichier avec", accès au système de fichiers. Je ne suis pas à l'aide de l'un de ces, que tout ce que je besoin est la communication avec le nœud de processus.
  • extensibilité une nodejs est intégré, et vous pouvez communiquer avec le nœud à partir de votre application web. De cette façon, vous pouvez utiliser un nœud d'accès du système de fichiers, etc.
  • l'architecture Du projet est la mise en place, en gardant une belle séparation entre la coque projet et de votre propre site web de l'application qui s'exécute à l'intérieur. Dans votre propre application, mondial appshell objet est disponible, qui vous donne accès aux supports de fonctionnalité (système de fichiers l'accès, la communication avec le nœud de processus, ...).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X