HTML5 wrapper, webview?

Van egy HTML5 alkalmazásom, egy kis erőforrású linux környezetben, ami távolról elérve tökéletesen működik, de szeretném, hogy az adott linux eszköz képernyőjén is elérhető legyen.

Az adott disztribúcióban kevés használható böngésző van, de az is mind webkit2gtk motorral, aminek ott konkrétan hibás a javascript része, azaz gyakorlatilag használhatatlan. Minden más tökéletesen fut. (Firefox, chrome, opera nem elérhető. Jelenleg midori fut.)

Mivel nem tudom megtalálni és kijavítani a webkit2gtk hibáját, így el kellene érnem, hogy valamilyen alternatív módon futtassak egy HTML weboldalt az adott gépen.

Ötleteim:

- Java alapú webböngésző. 1-et találtam, de gyakorlatilag futásképtelen volt. Acid3 el sem indult.

- Javascript alapú webböngésző. Mivel a nodjs problémamentesen fut, reméltem, lesz ilyen, de nem találtam.

- Virtuális gép. Xpud még erős környezetben is lassan fut, mást egyelőre nem találtam, de eddig ez az egyetlen út, ami legalább járhatónak tűnik. Valamilyen direkt webapp virtuális környezet jó lenne.

Keresgélés közben láttam, hogy a problémába más is beleütközött már, logikusnak is tűnik az igény szélesebb körben is, mégsem találtam számomra használható megoldást. Gyakorlatilag mindenhol egy browser kiosk módjára vezetik vissza, ami pedig nálam nem járható út, pedig talán a jávának is van ilyen modulja, és androidra lehet is egy url köré csak egy behúzó appot készíteni.

Keresek tehát valamilyen olyan wrapper alkalmazást, amit tetszőleges HTML5 url-re el lehet indítani. Nem kell teljes böngésző, csak a paraméterül kapott url-t (és az abból kattinthatóakat) kell tudnia megjelenítenie, de azt html5, css, javascript szinten is helyesen.
 

Hozzászólások

valami ami ebben készült https://www.electronjs.org/ ? Pl slack meg még jópár cucc kliense is ebben van, amik gyakorlatilag betöltik a webes klienst egy webviewban.

A megfelelő npm és nodejs verzióval és a dependencykkel sokat lehet szívni, mire életre leheled, de amúgy jó dolgokat lehet benne bütykölni. Nekem van egy hobbi mindenes alkalmazásom, amit ebben raktam össze. Viszont a chromium miatt a kis erőforrás bukott. Zabálja a ramot.

Hát a web parsing az jelenleg legtöbb megvalósításban eléggé erőforrás igényes, de mintha a chrome / chromium tudna memóriakorlátokat figyelembe venni, parancssori paraméterként (pár hónapja végigolvastam az ismert paramétereket, csak nem ilyet kerestem, de erősen rémlik).

Ha nem válaszolnék kommentben, hát küldj privátot!

van egy ilyen: https://doc.qt.io/QtWebBrowser/ ha jol latom ez mobilos cucc. de van qt example browserjei: https://doc.qt.io/qt-5.9/qtwebengine-webenginewidgets-demobrowser-example.htmlhttps://doc.qt.io/qt-5.9/activeqt-activeqt-webbrowser-example.html, itt meg tobb van: https://doc.qt.io/qt-5.9/qtwebengine-index.html ( ha jol emlekszem friss ubiban mar csomagbol is fel lehet rakni az exampleseket). ha valamelyik megse jo, akkor qt forrasaban bennvan a forraskod, abbol ossze lehet legozni egyet. (nekem is lesz hamarosan egy hasonlo projectem, csak nincs ra idom)

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Egyelőre még ehhez nem jutottam hozzá. A Nativifier-t hamarabb felfogtam, hogy mit csinál, és azon az úton indultam el. Aztán egyszer csak elkezdett villogni a kijelző, majd elsötétült minden. És többé nem indult el a rendszer. Próbálkoztam pár újraindítással, áramtalanítással, de csak feketeség. Gondoltam, valamelyik periféria túlterhelte, és ennek annyi ...

De aztán pár óra múlva életre kelt, és minden sértetlen. (Nem állítom, hogy értem a hardverek lelkét.) Tehát még futok ezzel is egy kört. Ha jutok valamire, jelzem.

Alapvetően ez egy node.js + webkit összecsomagolva, node.js kikapcsolható, és a webkit rész binárisban megvan, hátha így könnyebb életre keltened. Amúgy elég jól paraméterezhető, és elég friss webkit-et tartalmaz, sokkal sűrűbben frissül a webkit benne, mint az electron-ban.

Ha nem válaszolnék kommentben, hát küldj privátot!

Sok dolgot hasznalsz ki a HTML5-bol? Nem lehet ugy megirni, hogy kikeruld a hibas implementacio hibas reszet?

Gondolom az Alpine/postmarketOS-rol van szo. Forditas nem jatszik? (FF gondolom lefordul ARM-ra, az Android portjat hasznalom is.)

A strange game. The only winning move is not to play. How about a nice game of chess?

A postmarketos browser összefoglalójában külön jelzi, hogy firefox csak 64 bites rendszeren van. Ez meg 32 bites. :( Az operát meg már meg sem említi.

Sajnos a javascript bug úgy néz ki, hogy semmilyen felhasználó által definiált javascript függvény (és/vagy osztály) nem hívható meg. Így elég nehéz lenne bármit is csinálni. Próbáltam js engine-t váltani a böngésző alatt, de nem sikerült erre sem megoldást találnom.

Az újrafordítás játszhat, de gondolom van oka, hogy nincs chrome, firefox, opera, vivaldi csomagban, így félek ugyanebbe futnék bele én is, pár napos szívás után. Bár lehet, nem marad más.

Ezt lehet érdemes lenne kifejtened, mire használnád, mert szerintem nem csak nekem nem tiszta:

"semmilyen felhasználó által definiált javascript függvény (és/vagy osztály) nem hívható meg"

Felhasználó alatt programozót értesz, aki szerveren elhelyezett egy saját .js fájlt, és az nem fut, vagy te távolról akarsz js kódokat írni, és beküldeni? Szerver oldali node.js kódokat? Lehet csak nekem van reggel.

Ha nem válaszolnék kommentben, hát küldj privátot!

Bocs, ha nem fogalmaztam egyértelműen. Felhasználó alatt magamat értettem. A webes alkalmazásomhoz szükséges saját javascript függvényekre gondoltam. A javascript fut a böngészőben, egy parancsfájlt végre is hajt, ha nincs benne függvénydefiníció. A DOM objektumait, és a vanilla függvényeket is elérem, de ha én definiálnék egy függvényt az alkalmazásom számára, és azt használnám, már hiba- és log üzenet nélkül elhal. :(

Így a midoriban (és minden webkig2gtk motorra épülő böngészőben) az acid3 teszt el sem indul, mint ahogyan semmilyen olyan weboldal, aminek saját javascript függvényei vannak.

Nem pontosan. A midori az asztali gépemen 100/100 pontot kapott az acid3 teszten. Nem a midorival van baj, hanem webkit2gtk csomaggal. Ez általában jól működik, csak ebben a speciális környezetben sikerült egy bugos verziót nyernem. A midori erre a csomagra épül, és ha ez a csomag jó, akkor egészen jó böngésző.

Eddig ezt tűnt a legjárhatóbb útnak. Bár a Javafx csomag nem volt része kapásból az openjdk8-nak, de külön letöltve a jfxrt.jar fájlt, lefordult, és majdnem el is indult.

Sajna azonban a "Can't load library: arm/libprism_sw.so" hibával mégsem volt képes futni, pedig a laptopon szépen muzsikált.

Úgy tűnik, ezen az úton sem tudok továbbmenni. :(