web-dev-qa-db-fra.com

HTML5 Desktop Wrapper/Framework

Je suis actuellement en train de créer une application HTML5. 

J'aimerais vraiment déployer cela sur le bureau et j'ai examiné des solutions telles que Sencha mais je n'ai pas eu de chance (j'ai trouvé Sencha décevant et frustrant de travailler avec). J'aimerais une compatibilité entre plates-formes et une facilité de déploiement, mais je n'ai trouvé aucun produit open-source ou commercial qui semble pouvoir faire l'affaire.

Quelqu'un qui a de l'expérience peut-il suggérer un cadre qui conviendrait peut-être pour empaqueter et déployer une application HTML5 sur le bureau? Une exigence finale de ceci est qu'il fonctionnera à la fois sur Mac OS et Windows - mais pour le moment, Windows seul est génial.

J'ai envisagé de créer un wrapper C # qui rendrait le rendu au format HTML5, mais il se peut qu'une solution existe déjà que j'ai ignorée.

J'apprécierais toutes les réponses de quelqu'un qui a de l'expérience - les autres questions relatives à ceci sur le SO ne décrivent pas la solution avec le "demandeur".

50
Adam H

Résultats après avoir étudié ce sujet pendant quelques semaines:

  • Node-Webkit - un environnement d’application basé sur Chromium (qui permet également à Google Chrome) et sur node.js. Vous pouvez écrire des applications natives en HTML et JavaScript avec node-webkit. Il vous permet également d'appeler des modules Node.js directement à partir du DOM et offre une nouvelle façon d'écrire des applications natives avec toutes les technologies Web. Il a été créé et développé dans le centre de technologie Open Source d'Intel.
  • Adobe AIR - Largement utilisé mais avec une dépendance majeure du fournisseur et aucun support Linux
  • PHP Desktop - Ne vous laissez pas induire en erreur, PHP Desktop peut également servir de gestionnaire de package pour les applications HTML5/JS pures. Il intègre un navigateur Chrome et un serveur Web. L'expédition de l'interprète PHP n'est pas requise. PHP Desktop n'est pas étroitement lié à PHP. Il peut également servir de gestionnaire de package pour tout autre langage de script tel que Perl, Ruby, Python, qui fournit une interface CGI pour l'exécution de scripts.
  • XULRunner - Bénéficiant directement des efforts de développement de Firefox, il s’agit d’une solution extrêmement bien entretenue offrant un excellent support multi-plateformes mais avec un outil ou une documentation presque inexistante pour le packaging et la distribution autres que ceux de Firefox et des autres sources ouvertes XULRunner - applications basées sur eux-mêmes. UPDATE 2013-06-15: Webapp XUL Wrapper ci-dessous résout ces problèmes
  • Applications Web Chrome - Une bonne option si vous avez uniquement besoin d'un lien vers votre application Web à partir de votre écran d'accueil Chrome.
  • Applications Web installables Chrome - Par exemple, une application Web Chrome intégrant davantage de postes de travail. Pas de support flash.
  • Mozilla Open Web Apps - Une bonne option si vous n'avez besoin que d'un lien vers votre application Web à partir de votre écran d'accueil Firefox.
  • Applications Web natives Mozilla - Comme une application Web ouverte Mozilla avec une meilleure intégration au bureau. Nécessite toujours une installation en ligne via Firefox Marketplace.
  • Projecteur Flash - Solution peu coûteuse et utile pour le packaging d'applications basées sur Flash en tant qu'applications de bureau autonomes
  • AppJS (Node.js) - Projet prometteur mais avec peu d'activité
  • Bellite Toolkit - une offre commerciale qui vise une empreinte de bibliothèque légère d'environ 1 Mo, soit 70 à 100 fois plus petite que des infrastructures similaires basées sur Chromium Embedded . L’architecture multi-processus permet d’utiliser des exécutables génériques, tels que Node, Python, PHP ou génériques. (Remarque Sous Windows, l'utilisation de l'utilisation de Modernizr (JS shim) dans l'application depuis le passage de Bellite à Chrome Frame pour utiliser Internet Explorer )
  • Webapp XUL Wrapper - Un wrapper basé sur XUL et des scripts de construction permettant de conditionner une application Web dans des ensembles distribuables pour Mac, Windows et Linux.
  • Brackets Shell - Un wrapper génial créé par l’équipe de brackets.io. Complet avec les instructions d'installation et les outils de construction Grunt. Voir plus ici: http://clintberry.com/2013/html5-desktop-apps-with-brackets-Shell/
  • Atom Shell - Un wrapper créé par l'équipe atom.io. Il est basé sur node.js et Chromium et est utilisé dans l'éditeur Atom.

Un aperçu détaillé de l'état actuel des choses, et plus encore: http://blog.neamlabs.com/post/36584972328/2012-11-26-web-app-cross-platform-desktop-distribution

Voici un autre aperçu semi-détaillé: http://clintberry.com/2013/html5-apps-desktop-2013/

N'est plus actif/maintenu:

68
Motin

Avez-vous déjà trouvé une réponse à cela? Si c'est le cas, j'aimerais l'entendre, car je ne pense pas que cela existe et je le veux désespérément.

Voici ce que j'ai rencontré en cherchant la même chose:

1) Adobe Air: Compatible avec Windows et Mac. Fin de la prise en charge de Linux après la version 2.?. Si vous évitez les fonctionnalités 3.0, vous pouvez toujours utiliser la version précédente de Linux distribuée. 

2) AppJS.org: NodeJS + Chromium. Prend en charge Windows, Linux et Mac (32 bits uniquement). Le manque de support 64 bits le tue pour moi. Ils disent qu'ils y travaillent, mais je crains qu'ils n'attendent que Google ajoute le support Mac 64 bits à Chromium. Aucune idée quand cela se produira.

3) Titanium Desktop: abandonné par Appcelerator au désert de l'open source. À peine utilisable maintenant et aucune garantie quant à l'avenir.

3) XULRunner: Cela semble prometteur, mais j’ai rencontré un bug de construction sur Mac qui m’a arrêté de me faire froid. Je vais essayer la dernière version maintenant.

4) Python + Tkinter: Bien que ce soit une solution python et non HTML5, c’est ce que j’utilise actuellement. Combiné avec Py2App et Py2Exe, il semble que cela pourrait fonctionner.

Dans l’ensemble, je suis extrêmement frustré par l’état actuel des choses.

4
user1449536

Les raccourcis applicatifs de Chrome fonctionnent sous Windows et Linux.

Cela permettrait à votre application de s'exécuter dans sa propre fenêtre et présente l'avantage de prendre environ trois secondes. il ne répond toutefois pas à tous vos besoins.

1
ellisbben

J'ai décidé d'utiliser le framework Awesomium (www.awesomium.com).

Cela me permet d'utiliser pleinement la «pile Web» tout en déployant facilement une solution légère pour le client.

0
Adam H