[webkit-dev] Announcing new port: Nix

Geoffrey Garen ggaren at apple.com
Tue Sep 10 14:48:26 PDT 2013


What value do you think this port will bring to WebKit? For example:

	Does your code fix bugs or improve performance in WebCore or JavaScriptCore?

	Does the simplification you mentioned allow us to remove existing port-related code?

	You mentioned that EFL, GTK, and/or Qt could switch to this port. Do they have any plans to do so?

	Do you have a specific plan to ship a NIX-based browser to a large number of customers?

Geoff

On May 17, 2013, at 5:41 AM, Luciano Wolf <luciano.wolf at openbossa.org> wrote:

> The openBossa team at INdT Brazil is proud to announce “Nix” - a new
> WebKit2 port based on POSIX and OpenGL. Nix stands for “WebKit for
> unix-like platforms” and, if you consider the German meaning of the
> word "nix", it can be taken as “WebKit plus nothing”. We are looking
> forward to upstreaming and maintaining this port. Below you will find
> a brief history about Nix, besides its main goals and motivation.
> 
> 
> :: A little bit of history ::
> 
> The first of Nix basic ideas arose from a conversation between Kenneth
> Rohde Christiansen and Noam Rosenthal, who were wondering about the
> idea of having a “platform/glib” or platform/posix”.  Other ports such
> as EFL, GTK and Qt would then be able to develop themselves on top of
> it, having a common source core.
> 
> While QtWebKit’s QQuickWebView is great for embedding web content into
> QtQuick, a few people felt they needed more freedom to implement a
> different WebView behavior than the one being provided by Qt. Behavior
> more suitable for tricky use cases like embedding web content in a 3D
> world, for example. A private API called QRawWebView was implemented
> to fulfil this gap.
> 
> Motivated by the 2 aforementioned concepts and by the idea of having a
> “lightweight” GL based port for developing some prototypes on a
> RaspberryPi, in August 2012 Caio Oliveira and Jesus Sanchez-Palencia,
> long term WebKit developers and former INdT employees, kick-started
> what they called WebKitNix. They started from the EFL port, took out
> every EFL-specific piece of code, implemented a “raw” GL-based
> WebView, provided a C API in the WK2 fashion and a set of
> platform/device APIs based on the former Chromium’s Source/Platform.
> 
> We can summarize its evolutionary process as:
> 
> 1. Initial idea: platform/posix or platform/glib (share code);
> 2. Evolved problem: we wanted to have different behaviors for
> QQuickWebView -> Qt Raw WebView
> 3. Network: QtWebKit + Soup experiment
> 4. Efl Raw WebView experiment
> 5. Efl Without Efl :)
> 6. Nix was born.
> 
> :: What is inside it? ::
> 
> Most of Nix’s building pieces are shared with other existing ports:
> CMake build system, GLib, libsoup and Cairo. Also, it uses Coordinated
> Graphics, Tiled Backing Store and existing WebKit2 C APIs. Having such
> a tiny WebKit API means that Nix has the smallest possible footprint
> on the rest of the WebKit project.
> 
> We take seriously the notion that the WebKit project is for a web
> rendering engine and nothing else, and try to develop as much of the
> auxiliary features as possible outside the WebKit project, on top of
> the API or in the injected bundle.
> 
> Nix is already covered by Layout Tests, API Tests (TestWebKitAPI) and
> Ref Tests which are run by our buildbot[1]. Perf tests are supported
> but we don’t have a buildbot ready for them at this time. Pixel Tests
> are on the way. Today we have around 75% of layout tests coverage.
> 
> We have been merging Nix with webkit.org three times per week so it is
> kept up-to-date. There is a public repository[2] with the original git
> history and we are looking forward to upstreaming it. (Yes, we fulfill
> all the “requirements” defined by the “Successful Port How To”
> document[3])
> 
> :: Who should use it? ::
> 
> It targets whoever wants to have a hardware accelerated WebKit2 port
> on UNIX based devices, with a minimum effort. Nix is now running on
> x86 and ARM (Raspberry Pi[4] is a supported platform).
> 
> Flexibility and freedom is guaranteed: you can define your WebView
> behavior and there’s no toolkit attached, so it may be used with EFL,
> GTK, Qt or even no toolkit at all.
> 
> :: Who’s working on it now? ::
> 
> This port was made in openBossa - an open source research group in
> Brazil. Nowadays, the team comprehends 5 WebKit committers and 4 more
> developers. In January, several contributors from the university of
> Szeged have joined the project as well, and are responsible for many
> valuable contributions like the current work to switch to libcurl.
> 
> :: Past and Future ::
> 
> - 2012 -
> - August/September: Lab phase, lots of experiments;
> - October/November: Branching;
> - late November: test infrastructure running;
> - 2013 -
> - January: public repository[2];
> - May: comments/discussions/objections -> upstreaming;
> -June & beyond: maintenance, expand test coverage, focus on the web
> platform (contributing to WebCore).
> 
> :: Where can you find it? ::
> 
> website: webkitnix.openbossa.org
> buildbots: webkitnix.openbossa.org/build/
> code: https://github.com/WebKitNix/webkitnix
> contact: nix at openbossa.org
> IRC: #webkitnix at freenode
> 
> 
> Best regards,
> Nix/openBossa team
> 
> [1] http://webkitnix.openbossa.org/build/
> [2] https://github.com/WebKitNix/webkitnix
> [3] http://trac.webkit.org/wiki/SuccessfulPortHowTo
> [4] https://github.com/WebKitNix/nix-rpi-sdk
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev



More information about the webkit-dev mailing list