[webkit-dev] Announcing new port: Nix
zandobersek at gmail.com
Tue Sep 10 15:22:28 PDT 2013
The GTK, Qt and EFL ports were originally mentioned in this thread as the
ports that could share much of the POSIX- or GLib-specific code. That's as
close as they come to the new Nix port which would also use this code.
The three ports are heavily tied to their respective toolkits. They could
still theoretically all use the Nix port's mechanisms to display and
operate with the Web content inside the toolkit widgets, but this is very
unlikely to happen for either of these ports.
On Sep 10, 2013 11:54 PM, "Filip Pizlo" <fpizlo at apple.com> wrote:
> This would be pure win if Qt/Gtk/EFL switched to it - but otherwise it
> seems like it would add a lot of maintenance burden.
> Do you also provide the appropriate scaffolding for a Gtk, Qt, or EFL user
> to use Nix in the same way that they would now use those native ports'
> views? If you did this, it would obviate the need for the other ports,
> leading to a simpler development experience for WebKit contributors.
> On May 17, 2013, at 5:41 AM, Luciano Wolf <luciano.wolf at openbossa.org>
> 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. 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 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”
> :: 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 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;
> - 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
>  http://webkitnix.openbossa.org/build/
>  https://github.com/WebKitNix/webkitnix
>  http://trac.webkit.org/wiki/SuccessfulPortHowTo
>  https://github.com/WebKitNix/nix-rpi-sdk
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the webkit-dev