Loading WebAssembly Browser

QML web browser

Canonic is an open-source web browser for QML content. It allows you to browse QML content (.qml) online within your native browser through a webassembly (WASM) web application.

What is QML?

QML (Qt Modeling Language) is a markup language designed for dynamic user interfaces. QML is designed to be used as a declarative language much CSS or HTML but allows for the use of inline Javascript to make imperative calls. For a high level comparison between HTML and QML think of HTML as a language designed for presenting decorated text documents where as QML is more suited to dynamic graphics content like games, user interfaces and 3d content. Traditionally QML is used in desktop or mobile applications however through webassembly it is now possible to run in a browser. Canonic enables you to browse qml web pages without having to go through the difficult process of compiling for webassembly. QML is also tightly integrated with c++, provides Qt’s well know signal and slots paradigm and the concept of property bindings.

What is Canonic?

The Canonic web browser is the first browser within a browser to enable the browsing of qml content. It is designed as an experimental test bed to explore what is required to bring QML to the web for programmers who prefer qml to html or who have little c++ experience.

Why use QML online?

QML is the perfect UI language for UI design. It natively accomplishes what is only possible through 3rd party libraries in HTML. If you are a Qt c++ programmer who already knows QML or a QML developer who would like to create a portfolio for your QML content canonic makes it easy for you to share your qml websites like any other.

What does Canonic mean?

Canonic gets it’s name from the use of Canonical links in web pages for search engines to determine original and authoritative content on the web. Canonical tags were introduced in 2009 for HTML as a way of identify “authoritative” or “canonical” content for search engines (Note that there is currently no analogue to canonical tags in QML). This prevents problems caused by duplicate content on a website or across the internet more generally. Canonicalization is a more general problem in computer science but in the context of urls and the web it can be though of as a process of converting data in to a single standard representation that can be compared more easily by people or machines. Search engines use these canonical urls as the single source of truth for content and generally rank canonical urls higher than urls with duplicate content.