Answer the question
In order to leave comments, you need to log in
Desktop HTML app without a browser?
Repeatedly met (Windows) applications, which actually represent a set of HTML-pages with styles and JavaScript'om. From the latter - the Yandex.Disk installer (you can see the code by right clicking) and the PrintBook software installer (issued a warning about scripts that slow down the work). At the same time, they work in ordinary non-browser windows without an address bar, menus, and the like.
Tell me, please, how can this be achieved, in which direction to dig? I'm sure it's very simple.
Ideally, you need to get an HTML application:
- cross-platform or easily portable;
- similar to desktop, working in its own non-browser window;
- running on the browser engine that comes with it, in order to safely use the CSS3 and HTML5 API);
- not too easy to copy and distribute.
Let me explain why this is needed. There is an HTML version of the veterinary training course that works from a computer / disk / flash drive on LitePXP(opens in ChromePortable, uses PHP). It's inconvenient and disrespectful. I would like to make the application look like a regular training disk and could be easily ported to Mac and *nix, as well as transformed into an HTML5 application for mobile devices. Only HTML5, JavaScript and CSS3 remain in the new version. The basis is cross-platform, there are certainly ways to run it in different environments. I saw something similar in Qt, but maybe there are some ready-made wrappers or utilities? How to design an application so that it is as compatible as possible with mobile devices and desktop? What can be read on the topic?
Answer the question
In order to leave comments, you need to log in
You can use Qt, it has a web browser in itself =)
qt-project.org/doc/qt-4.8/examples-webkit.html
Well, in general, there is AIR for such things and, for example, www.appcelerator.com/developers
But if your task is just to show your pages and you don’t need access to the system, then you need to look or easily make something more lightweight.
I recommend looking at Mozilla's XULRunner , which is based on the Gecko engine and supports XUL .
What's wrong with the nw.js project (formerly known as Node-Webkit)? In my opinion, this is the most convenient cross-platform option. Large community, many articles and tutorials, including those on Habré. This is no longer a toy, beautiful desktop applications are already being made on it at a serious production level - for example, Spotify, Wunderlist, a client for Slack, but only one Popcorn Time is worth it!
titanium - carries a webkit with him, as an example, the SimpleLESS application
Well so it is available through COM from everywhere. Plus there are a bunch of other engines and such cool things terrainformatica.com/ - HTMLayout (used in symantec products)
as an option - we take such a set.
we put node.js, chrome portable, and the files that need to be displayed in one folder.
We write the dumbest batch file that launches the node and passes the js file for execution.
The node starts the websocket server.
the node launches a child chrome process and immediately passes the page to it.
in the script on the page, there should be a code that allows you to connect to yourself via webSocket during initialization.
Thus, you will get a full-fledged application that can work with node.js and not take a steam bath. Fortunately, the node can be downloaded as a single executable file.
Everything.
.Net
, I made a simple browser in C # in 5 minutes with a field for entering a link, a button Make OK OK and a large field where the link will open.
but the old nvidi ati installers cannot live without a flash or without a java machine.
I recommend portable Chromium in kiosk mode + pre-installed extensions if you need access to the file system, for example. The advantage of chromium is that it is V8 and all the latest html5 features. For example, QtWebkit still has an old JS engine, and Xulrunner documentation is sparse to say the least.
You can forget about the protection of copyright content in the case of an html5 application. Obfuscation is possible, but is it necessary?
And I recommend Electron from GitHub. It includes Node.js and Chromium. Many programs use it, some programs have switched to it from Node-Webkit and AIR.
Additionally, you can see a large list of programs using it
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question