Actually, creating Maemo apps executed by QtWRT is dead simple, to the point where I was asking myself "is it really just that?".
Installing sample HelloWRT application
For sole purpose of this tutorial, I've crafted a simple WRT widget (application) which displays basic "Hello World"-style greeting and additionally reads N900's internal accelerometer. Here are the steps to install it:
- Firstly, install qtwrt-experimental package from extras-devel and reboot the device.
- Then download hellowrt.wgt file and put it to N900's memory - preferably somewhere accessible by File Manager (/MyDocs).
- Using File Manager directly on N900, go to directory where hellowrt.wgt is stored and "open" this file - this should bring up Application Manager asking for permission to install HelloWRT application.
- Once App Manager is finished, look out for new HelloWRT app in applications menu and launch it. You should see greeting and some accelerometer readings. Cool, huh?
Direct widget development
WRT widgets are installed by Application Manager to /usr/share/wrt/data directory in N900's main memory. Knowing that and having SSH connection to N900 from desktop machine, makes further development of widget directly on device uber-easy.
Generally speaking, however QtWRT is still quite far from being complete and production-ready, it does open an interesting alternative in application development for Maemo/MeeGo/Symbian (?) devices in future. Although using pure html/css/js encapsulated in WRT and WebKit will never totally replace native C++/Python development for "serious" tasks, QtWRT still gives a good opportunity to create interesting apps quickly with little learning curve. I am certainly looking forward to see how QtWRT evolves, so one day I could deploy my webapps just as any other native app.
- http://download.qt.nokia.com/qtwrt/ - QtWRT sources, including js API and two example widgets.
- http://dkothari.blogspot.com/2010/08/qt-web-runtime-for-n900.html - Devesh Kothari's blog post explaining QtWRT and referencing some W3C specs.
- http://labs.trolltech.com/blogs/2010/07/19/the-qt-web-runtime-journey-begins/ - as above, but from Ashraf Alkarmi.
- http://www.w3.org/2009/dap/ - Device API by W3C, helps figure out which device capabilities are accessible via WRT (look particularly at Inputs section).
- http://dev.w3.org/2006/waf/widgets/ - widgets packaging and configuration, helps understand various config options used in config.xml file.
- http://developer.qt.nokia.com/forums/viewforum/20 - Qt dev forum section dedicated to QtWRT.