Project

General

Profile

Actions

Ideas for Google SoC » History » Revision 1

Revision 1/33 | Next »
Pieter Libin, 10/29/2009 02:35 PM


h1. Ideas for Google SoC

{{toc}}

h2. Google SoC ideas

This page lists ideas for Google SoC 2009 applications for Wt, pending the approval of Emweb as a mentoring organisation.

h3. WebKit integration

This idea is to incorporate WebKit into Wt. The level of integration may evolve over time, as are the possible applications.

The first step is to combine WebKit with the built-in httpd to provide a desktop application using Wt. This could be useful for distributing an off-line version of a Wt application or during development. The webkit would be configured to act as a single application (instead of as a general purpose browser).

The second level is to allow introspection of the DOM inside WebKit from a Wt application session. This could become the basis for an automated testing framework which verifies that the widget tree and the DOM tree are in sync. By querying the DOM for information on the location and CSS properties of widgets, it can be checked that the application works properly. By allowing for events to be simulated on the DOM tree, the application can be checked for correct event handling.

The third level is to by-pass the HTML/JavaScript and HTTP protocol for certain rendering steps. For example, a new WPaintDevice could be developed which paints directly instead of encoding it first as SVG or HTML Canvas5 JavaScript. This would allow significant speedups for vector graphics.

Required expertise: Good C++ knowledge, knowledge of or willing to learn the CMake build system, familiarity with GTK or Qt application development.

h3. Widget Set mode

Since some months, Wt includes a so-called widget-set mode. In this mode, a Wt application does not take responsibility to render the entire user interface, but only selected <div>'s. The Wt application is loaded as a JavaScript library, which then renders into these <div>'s, which then correspond to a set of "top-level" widgets. Any of %Wt's features may be used inside such a widget, including portable vector graphics.

This would allow a Wt application to also expose a JavaScript API, such as for example Google Maps, but this has not yet been provided. To provide support for this in the Wt library, it would require that a Wt application can extend its JavaScript object with JavaScript methods that map onto C++ methods, which assumes a system that helps as much as possible to convert between JavaScript objects and C++ data structures (for example based on maps).

Updated by Pieter Libin over 14 years ago · 1 revisions locked