Vraag Verpak een HTML5-app en implementeer deze op het bureaublad


Ik heb tonnen artikelen en stackflow-vragen gelezen, maar het lijkt erop dat ik het niet aan het werk krijg.

Ik wil wat productinformatie voor een klant distribueren die op een CD of USB-stick wordt verstuurd. Vroeger deed ik het met Flash. Omdat flash kon compileren in een EXE genaamd Flash-projector en mijn Flash-inhoud zonder installatie kon uitvoeren.

Nu wil ik HTML5 een draai geven. En ik heb een manier nodig om alles op een CD in te pakken en het overal te laten draaien zonder installatie.

Ik heb gehoord dat ik chroom kon compileren en in een c ++ -toepassing kon insluiten. (Http://code.google.com/p/chromiumembedded/) Ik zou QT met QtWebkit kunnen gebruiken. (Http://developer.qt.nokia.com/doc/qt-4.8/qtwebkit.html) Ik zou Webkit kunnen compileren en in een c ++ -toepassing kunnen opnemen ... (http://www.webkit.org/)

De voorbeelden zijn te groot en ik heb geen C ++ vaardigheden = (

Dan zijn er projecten zoals mozilla chromeless (http://mozillalabs.com/chromeless) (en berkelium (https://github.com/sirikata/berkelium)

Met chromeless werkte mijn JQuery Javascript niet en Berkelium ... Ik heb niet kunnen compileren ...

Ik heb geen budget voor http://www.appcelerator.com/ of andere betaalde / commerciële opties ... (ook Flash / Air en Silverlight zijn geen optie). Omdat Content ook op de webserver moet worden gebruikt zonder het gebruik van plug-ins ...

Ik heb geen toegang tot het besturingssysteem nodig. Wat ik wil, is mijn Jquery / Backbone-app die JSON-bestanden verbruikt om zonder installatie in een desktopclient te worden uitgevoerd.

Geen browser-adresbalk dus, pak gewoon de index.html op en al het andere wordt afgehandeld door de app ... Iets als Fullscreen en Close zou leuk zijn ...

Helaas kan ik niet op de geïnstalleerde browser van het "klanten-OS" vertrouwen, omdat de doelgroep te groot is en ik veel oude browsers verwacht.

Kan iemand mij instructie geven hoe ik "gemakkelijk" een app kan compileren die ervoor zorgt dat mijn webapp-spullen zonder CD-waarschuwingen op de desktop worden uitgevoerd, enz.?

Of zijn er vooraf gecompileerde pakketten die ik zou kunnen gebruiken?


14
2018-02-29 18:31


oorsprong


antwoorden:


Node-webkit combineert de Chromium (Chrome) -browser met Node.js. Zoals ik het begrijp, heb je de extra API's niet nodig, maar je hoeft ze niet te gebruiken, simpelweg door een heel kort json-bestand te maken en je project op te ritsen is genoeg, en je kunt zelfs alles combineren in een enkel uitvoerbaar bestand. Het project biedt binaire bestanden, dus er is geen compilatie nodig.

https://github.com/rogerwang/node-webkit


8
2017-10-04 18:32



Ik heb ook Awesomium geprobeerd (het is c ++ en 40mb +) PyWebKit (werkte wel, maar mijn svg mousemove-luisteraars niet) eindigde daarom met het gebruik van cefpython en pyinstaller.

Hier is wat ik zojuist deed om een ​​"one-click-windows-web-app-executable" .exe te krijgen.

  • gedownload cefpython , het komt met een gecompileerde dll met chroom aan de binnenkant (20mb)
  • voer "python cefsimple.py" uit om te zien of het werkt (het zou moeten)
  • nu downloaden pyinstaller
  • uitpakken als naar een map
  • kopieer alle bestanden van cefpython naar de nieuw aangemaakte pyinstaller-map
  • kopieer van pyinstaller / gebruik MakeSpec.py en Build.py één map naar beneden
  • voer "MakeSpec.py cefsimple.py" uit om een ​​cefsimple.spec-bestand te maken voor de build
  • Als u "Build.py cefsimple.spec" probeert uit te voeren als de bestanden naar een map met de naam dist worden gekopieerd
  • als u de exe uitvoert, zal deze niet werken, omdat sommige dll's en een pictogram ontbreken
  • laat de dll's toevoegen door het spec-bestand te veranderen (ik heb het later in de tekst gezet)
  • is je het opnieuw aan het bouwen, het zal het icoon en al het andere naar de map kopiëren zodat de exe zal worden uitgevoerd (je ziet cefsimple.html in een echt ingebed chromium frame)
  • nu kun je spelen met de embedding of de pyhton-code om je http-links te herstellen en je krijgt een prima "one-click-windows-web-app-executable" :-) (zie --onefile optie in pyinstaller docs)

cefsimple.spec:

# -*- mode: python -*-
a = Analysis(['cefsimple.py'],
             pathex=['c:\\pyinstaller-2.0'],
             hiddenimports=[],
             hookspath=None)
pyz = PYZ(a.pure)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
           [('icudt.dll', 'icudt.dll', 'BINARY')],
               [('avcodec-54.dll', 'avcodec-54.dll', 'BINARY')],
               [('libEGL.dll', 'libEGL.dll', 'BINARY')],
               [('avformat-54.dll', 'avformat-54.dll', 'BINARY')],
               [('avutil-51.dll', 'avutil-51.dll', 'BINARY')],
               [('d3dcompiler_43.dll', 'd3dcompiler_43.dll', 'BINARY')],
               [('d3dx9_43.dll', 'd3dx9_43.dll', 'BINARY')],
               [('libGLESv2.dll', 'libGLESv2.dll', 'BINARY')],
               [('locales\\en-US.pak', 'locales\\en-US.pak', 'DATA')],
               [('icon.ico', 'icon.ico',  'BINARY')],
          a.zipfiles,
          a.datas,
          name=os.path.join('dist', 'cefsimple.exe'),
          debug=False,
          strip=None,
          upx=True,
          console=False, icon='icon.ico' )
app = BUNDLE(exe,
             name=os.path.join('dist', 'cefsimple.exe.app'))

Als het op om het even welke vensters 2000+ zou moeten lopen, geen python, geen systeembibliotheken, geen extra dlls noch pictogrammen nodig.

Als je het op Windows7 64 bit bouwt, zal het niet werken op 32 bit-systemen

Als u het op WindowsXP 32bit bouwt, werkt het overal. Zelfs in wijn. Maar op de een of andere manier kon ik de icoon niet uit de exe halen voor de titelbalk. moest het van buiten laden (code in cefwindow.py).

Vraag me voor meer informatie terwijl het nog vers is!

BEWERK:

om lokale json-verzoeken te activeren:     # BrowserSettings, zie: http://code.google.com/p/cefpython/wiki/BrowserSettings     browserSettings = dict ()     browserSettings ["universal_access_from_file_urls_allowed"] = True     browserSettings ["file_access_from_file_urls_allowed"] = True


5
2017-10-04 17:23



Voor een goed overzicht, bekijk dit eens recensie-artikel door Clint Berry. Hij behandelt TideSDK, AppJS, Node-webkit, Sencha Desktop en Brackets Shell en somt de voor- en nadelen van elke oplossing op.

EDIT: Na het lezen van de review, koos ik Node-webkit voor mijn eigen project, en het werkt geweldig! Je hoeft de app niet volgens een specifiek paradigma te bouwen. Ik nam gewoon mijn standaard AngularJS-webapp zoals die was, voegde het vereiste manifestbestand toe en bouwde het voor Windows en OSX.


4
2017-10-10 07:52



zoals iemand in opmerkingen vermeldde, kunt u xulrunner gebruiken volgens dit: https://developer.mozilla.org/en/Getting_started_with_XULRunner je downloadt gewoon xulrunner, unzipt het in een map, configureert het en laat het starten in autorun.inf of iets dergelijks. geen compilatie nodig (ik neem aan dat je het op windows moet presenteren, maar ook andere platforms zouden geen probleem mogen zijn).


2
2018-05-09 13:06



ik heb een applicatie gemaakt voor ontwikkelaars van HTML5-games, als je je html5-games of -apps wilt uitvoeren op Windows zoals native applicaties, geen hosting of handmatig een lokale server hoeft te gebruiken om toegang te krijgen tot html5-functies.

WinApps Jx Builder is een applicatie waarmee je je HTML5, java script, CSS in één Uitvoerbare applicatie kunt inpakken voor Windows die Native-Like uitvoeren op Windows OS. Vanaf nu voert u HTML5-websites, -toepassingen, games op uw Desktope uit met een dubbele klik en WinApps JX zorgt voor de rest.

Maar u moet het Chrome-frame van Google op uw computer installeren:

Google Chrome-frame

- WinApps Jx -


1
2018-01-29 04:46



U kunt browserbesturing insluiten in uw C (WinAPI) programma gebruiken IWebBrowser2.

http://github.com/dns/WinAPI-Embed-Browser/releases

Ik heb een project op github gemaakt om verschillende html-apps te maken enkele EXE het dossier.

Om toegang te krijgen tot html-bestanden via het gebruik van EXE / DLL-bronnen: res://programname.exe/test.html als pad.

U kunt ook de vensterrand verbergen en alleen de inhoud van uw HTML-app weergeven of zelfs op volledig scherm weergeven. Dit is erg handig als je het wilt maken interactieve CD.


1
2018-03-04 18:07