{"title":"案例研究:面向web的QML","authors":"Lauri Paimen, P. Pohjalainen","doi":"10.1109/WSE.2011.6081822","DOIUrl":null,"url":null,"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.","PeriodicalId":414937,"journal":{"name":"2011 13th IEEE International Symposium on Web Systems Evolution (WSE)","volume":"64 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Case study: QML for the web\",\"authors\":\"Lauri Paimen, P. Pohjalainen\",\"doi\":\"10.1109/WSE.2011.6081822\",\"DOIUrl\":null,\"url\":null,\"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.\",\"PeriodicalId\":414937,\"journal\":{\"name\":\"2011 13th IEEE International Symposium on Web Systems Evolution (WSE)\",\"volume\":\"64 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2011-11-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2011 13th IEEE International Symposium on Web Systems Evolution (WSE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/WSE.2011.6081822\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 13th IEEE International Symposium on Web Systems Evolution (WSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WSE.2011.6081822","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
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.