Action Item #523open
Retest webkit suitability
Webkit support for GTK+ has been bumped to WebKit 2.4 with a new package. This is available in the latest Buildroot (2016.02). We're at 2015.02. So a bump in Buildroot may provide a webkit enabled surf package, meaning we could replace the C interfaces for appmgr and videofe with web-enabled interface, making icon handling easier and providing a more developer-friendly API for extending these.
We need to investigate if bumping Buildroot to 2016.02 and re-adding the surf package (custom package) will now work. Previously this didn't work. But the reasons I suspected for it not working appear to be fixed if you look at the list of changes associated with webkit in Buildroot.
Updated by Hammel almost 6 years ago
- Category set to 04 - Root File System
- Status changed from New to In Progress
- Assignee set to Hammel
- Target version set to 1.0 - Atreides
- % Done changed from 0 to 90
- Severity changed from 03 - Medium to 04 - Low
I didn't find much value in using webkit, mostly because of the overhead it brings (lots of build dependencies, etc.). So after testing I checked the changes into a new branch in the pibox repo: "mjhammel/br-2016-05". The build works on hardware, if I remember correctly. It just didn't have any added value with respect to webkit.
I can revisit this later when I migrate to a newer release of buildroot (like, say, the 2017.02 release).
Updated by Hammel about 3 years ago
There are now other options besides webkit. One is V8 + electron. This is a self contained nodejs package with GTK rendering engine. It's available for ARM. The downside is the size of the applications. A hello-world was 170MB.
There are also other rendering engines like Gecko, Blink and NetSurf, however it's not clear how to use these to build an app.
I still think using browsing technology just complicates a purpose built device. Using C/GTK/Cairo is simple enough and far more lightweight. Other than the omxplayer package, the largest opkg I have is piclock (which has themes) that clocks in at just under 2MB.