A question which I get often is – what are web applications and how do they differ from just pointing browser at web pages or saving web links as application shortcuts and launching them in a browser (very much like native installed applications) ? Web Application working group is a good place to start.
Web Browser consist basically of 2 parts (simplified).
- Browser application/framework (UI /chrome, process model, extensions, settings etc) and
Web Runtime shares much of the characteristics of a web browser (in this case webkit/Qt), while focusing towards the needs of an application developer.
- Emerging W3C specifications e.g Widget Specifications which provide the foundations for (hopefully) a standardized environment for web application developers in crucial areas missing from the web browser paradigm like widget API, packaging & configuration, digital signing, view modes among many others.
- Provides an execution and deployment mechanism (e.g how web applications are installed, executed, transition between various view modes, integration to platform UX/chrome etc)
- Rich API’s comparable to native application developers enabling the use of e.g sensors, runtime info, calender, file system (among many others) etc while developing rich web applications.
Working on standardizing the various API’s and specs through W3C would help unify web application development, which at the moment is quite fragmented (while predominantly using the same web technologies) e.g opera widgets, apple dashboard widgets, yahoo widgets among many others. This would also mean better return of investments for developers (while at the same time enriching choice for end user).
If you are a web developer and own a N900 , you can take the QtWeb Runtime for a ride. It is now available from maemo extras repositories . Writing a W3C complaint widget should be relatively straight forward (Just follow the above w3c specs). You can also find some simple examples in the source code.Code is available here. Developers can discuss and provide feedback at Qt Web Runtime Forum. Remember, this is work in progress !