The Qt Web Runtime journey begins…

Update: This blog post was deleted although it should not have been. We have, however reinstated it. In addition we have attached a screenshot of the comments that were originally posted. We were unable to reinstate these.

Ever since we introduced the Qt WebKit integration, it has rapidly become one of the most popular features within Qt. Enabling the development of web applications is crucial for meeting market demands. We see an increasing amount of Qt being used for web enabled device creation – from netbooks and mobiles to TV’s and a broad range of home media devices – therefore we see a need to provide device manufacturers with more means to make packaging and security of web applications easier on devices.

In light of this we are pleased to announce that we have started to build a web application framework, Qt Web Runtime, on top of Qt and Qt WebKit, which will enable web apps to be more powerful than before.

One important objective with Qt WRT is to enable a W3C-standards-based web runtime, so you will be able to package apps and deploy them to smartphones (or a variety of embedded devices) just like with regular apps. One of the key advantages is that you can access many of the device resources like camera, contacts, messages, etc. simply by using JavaScript APIs.

A quick example of how to get access to the accelerometer of a device is illustrated by the small piece of code below. You register for notification of events pertaining to acceleration (on the channel AccelerometerAxis) through startChannel() and your provided callback functions get called whenever there is any acceleration around any axis of the device.

var wrtSensors = nokia.device.load("sensors");
wrtSensors.startChannel(callback, "AccelerometerAxis", errorCallback);

function callback(data) {
console.log("x-axis: " + data.axisX + " y-axis: " + data.axisY + " z-axis: " + data.axisZ);

function errorCallback(err) {
console.log("Ouch, " + err.message + "error code:" + err.code);

Just like Qt runs cross-platform, Qt WRT is planned to run across different platforms and devices. Taking Web Runtime to Qt means that this technology will be open sourced and part of Qt’s new open governance model. We really hope, in the coming months, that you will be interested in contributing to the success of Qt Web Runtime and how we govern it together.

We are working on a feedback/contribution infrastructure and will provide more info as soon as we have more pieces in place, so that we can develop Web Runtime together with you - in the open. As part of Qt’s public roadmap and our open governance model, you all have the opportunity to be involved in how Web Runtime evolves and grows, and we are looking forward to seeing you involved in that process.

So today, the journey with Web Runtime begins. A snapshot of the current Qt WRT code has been placed on to give you an idea of how Qt WRT looks today. Note that this snapshot of the code only works on Nokia N900. Subsequent releases will support more platforms and devices, so stay tuned since we plan to share more code with you within the coming month.

If you want to provide some feedback or join the discussion, please head over to the QtWRT forum on the Qt Developer Network.