4 ms·
Now someone please explain why this isn't the electron-killer to save us all.
by lx3459683 8y ago
Now someone please explain why this isn't the electron-killer to save us all.
- supermdguy 8y ago- This sort of thing has existed for a while, and people still use electron [0], [1] - It doesn't come with a DOM implementation, so most existing js libraries won't work. EDIT: actually it does have a DOM implementation, which is awesome - Its API is in C++ - People are lazy [0]: https://github.com/zserge/webview https://github.com/zserge/webview [1]: https://bitbucket.org/chromiumembedded/cef https://bitbucket.org/chromiumembedded/cef
- adamjs 8y agoThis thing HAS existed for a while (CEF/Electron, Awesomium, QtWebKit, GTKWebKit, etc.) but the size, memory usage, and flexibility has always been prohibitive. Ultralight addresses all of those through a new, lightweight WebKit fork geared specifically for embedding in other apps. This is a major rewrite and has taken 4+ years to complete. I am the former creator of Awesomium and decided to tackle this issue myself. Also, the library does come with a DOM implementation and most existing JS libraries work just fine.
- supermdguy 8y agoWow, that's awesome that it supports DOM.
- rapsey 8y ago- Being a fresh C++ codebase, god knows what security vulnerabilities and stability issues it has. - D3D 11 and metal required. Most likely huge compatibility/stability/rendering issues across different graphic cards and driver versions. - Barrier to entry is one of the most important factors in a framework/library's success. You can't beat the Electron ecosystem where any idiot can make a cross platform app. This is really only useful for C++ developers.
- adamjs 8y ago- The beta is definitely not rock-solid stable yet but reasonably runs a majority of major websites. The current branch of Ultralight is based off of a stable branch of Safari/WebKit. - The Ultralight library itself has no dependencies on D3D11 or Metal. The renderer emits virtual GPU driver commands that are consumed by the user (see GPUDriver.h). We ship a few stock implementations of GPUDriver for major platforms but users can undoubtedly write their own.
- elcritch 8y agoCould this run on OpenGL ES? I know of a few projects running chromium on embedded devices... Something like this could be handy!
- iffycan 8y ago> You can't beat the Electron ecosystem where any idiot can make a cross platform app. As an idiot, I can attest to this. I'm constantly looking for lighter weight alternatives, but nothing so far has been nearly as simple as Electron. Here's the list of options I maintain: https://docs.google.com/spreadsheets/d/1dTZIp6z2J1IL7YgBlHG_x68x0_zfecU0MTsjTXn1E3A/edit?usp=sharing https://docs.google.com/spreadsheets/d/1dTZIp6z2J1IL7YgBlHG_...
- pknopf 8y agoQml.Net [0] (I'm the author) is a pretty simple way to make a cross platform app. I think it's worth checking out. [0] https://github.com/pauldotknopf/Qml.Net https://github.com/pauldotknopf/Qml.Net
- kodablah 8y ago> - This sort of thing has existed for a while, and people still use electron [0], [1] For reference, CEF is not much more lightweight than Electron. It still inherits Chrome's bloat and multiprocess weight. Also, webview only supports IE on Windows which is missing a lot of features.
- flohofwoe 8y agoIt's "just" a renderer for a subset of HTML/CSS. Things like this existed for a long time, and even smaller (e.g. https://github.com/libRocket/libRocket https://github.com/libRocket/libRocket). Electron on the other hand is a full browser runtime, for better or worse. It probably would make more sense to create a cross-platform application packager which embeds the operating system's web-renderer into a window. But I think one of the main selling points of Electron is that you're guaranteed a specific version of the browser runtime, so your app suddenly won't stop working with a browser update.
- adamjs 8y agoIt's not a subset, it's the full WebKit layout engine underneath and supports most modern HTML5/CSS/JS. Ultralight can render full websites just fine and is also a full browser runtime, the SDK ships with a Browser sample on macOS and Windows. With that said, Ultralight is indeed somewhere between libRocket and Electron in terms of size and support. We won't support things that are unrelated to HTML UI (for example WebGL) and are able to reduce our dependencies/size/complexity by limiting said support.
- infogulch 8y ago> engine ... supports most That's what subset means.
- FPGAhacker 8y agoI'm sure what adamjs meant is "it's not just a renderer."
- kodablah 8y agoOpenness. Electron succeeds because of dev friendliness.
- dmoreno 8y agoLicense. Electron is MIT. Ultralight is proprietary. Electron always free to use even on comercial, ultralight only for small projects.