Title :
Case study: QML for the web
Author :
Paimen, Lauri ; Pohjalainen, Pietu
Author_Institution :
Dept. of Software Syst., Tampere Univ. of Technol., Tampere, Finland
Abstract :
QML is a declarative programming language for defining user interfaces with advanced animation effects. A QML application consists of element declarations for structuring the user interface, and Javascript code for defining the application and animation logic. QML is used mainly for defining user interfaces of Qt applications, but it can be used also for writing standalone applications. This paper presents an approach that allows QML applications to run in a standard web browser. The chosen approach was to reimplement the QML execution engine by writing a QML parser and execution engine in Javascript to render the application to a HTML5 Canvas element. We discuss our implementation techniques for QML property bindings and for redefining variable scope in Javascript. For demonstrating the results, we executed two simple QML applications in a web browser, and gathered preliminary performance benchmark of the engine. In our measurements we found that with a good Javascript-engine, it is possible to achieve reference 60 fps speed of QML applications in a non-trivial case.
Keywords :
Internet; Java; computer animation; online front-ends; simulation languages; user interfaces; HTML5 canvas element; Javascript code; QML execution engine; QML parser; Qt applications; Web browser; advanced animation effects; animation logic; declarative programming language; element declarations; user interfaces; Animation; Benchmark testing; Browsers; Context; Engines; Hardware; Runtime; Javascript; QML; execution environment; parser; runtime; web programming;
Conference_Titel :
Web Systems Evolution (WSE), 2011 13th IEEE International Symposium on
Conference_Location :
Williamsburg, VI
Print_ISBN :
978-1-4577-0699-8
DOI :
10.1109/WSE.2011.6081822