1. The HTML5 killer you may not know about
9/14/2017 7:50:21 AM
The HTML5 killer you may not know about
HTML 5 Development,Qt Framework Development,QML Development
https://news-cdn.moonbeam.co/The-HTML5-Killer-You-May-Not-Know-About-App-Developer-Magazine_mjbpicls.jpg
App Developer Magazine
HTML5

The HTML5 killer you may not know about


Thursday, September 14, 2017

Richard Harris Richard Harris

How HTML5 might be outpaced by emerging technologies, a problem that The Qt Company looks to resolve.

For years HTML has been the universal language for website construction, and it has been impressively resilient in the face of competing languages thus far. It’s been known to have the best combination of speed, security, responsiveness and compatibility of all programming languages on the market. However, the world is expanding beyond the internet browser to mobile and embedded user interfaces, and some developers have found HTML5 to be too slow and rigid for today’s IoT-centric development landscape. Qt, which provides developers in over 70+ industries with a cross-platform software development framework for apps and devices, may have an answer.

Carl Engh is the Product Marketing Director at The Qt Company where he works on content creation, sales enablement and defining product messaging.

ADM: Why has HTML been so successful?


Engh: HTML has been so successful over the past quarter century because it has been synonymous with web page and application development during the exponential growth of the Internet. It is a tried-and-true method for web development. In recent years, new development tools have started poking holes in the HTML armor, but traditional desktop applications will continue to use HTML with few to no drawbacks.

ADM: What are the main drawbacks of using HTML?


Engh: The rise of the smartphone and social media has upended web development. Nowadays applications come in a wide range of shapes and sizes - traditional desktop applications, web applications running on any device with a browser, mobile apps, embedded systems, Internet of Things (IoT) devices, and more.

Embedded systems and devices are no longer just a bunch of headless, electronic switches and mechanical buttons. Rather, they have adopted connectedness to the ever-growing IoT. Embedded devices now need user interfaces and connectivity features to stay relevant, and operators expect the same user experiences they have on their personal devices. HTML was never intended for embedded systems and therefore it has shortcomings, as opposed to using other development approaches and native languages.

Another major disadvantage when choosing HTML5 is the necessity to have to choose a JavaScript framework. There is plenty of ongoing competition between frameworks - and, if history is any indication of the future, there will be a plethora of other JavaScript frameworks to choose from. Some will stay around, some will die out. The future is uncertain, so there is a lot of pressure to pick the right framework in order to futureproof your technology and avoid having to make constant switches between the various frameworks.

ADM: What is Qt's cross-platform software development framework and how does it help developers?


Engh: Qt is a cross-platform C++ development framework and includes both libraries and tooling for creating complete applications and user interfaces. One of Qt's design approaches uses the declarative QML language designed to allow developers to use one codebase to create high performance and fluid UIs for all their desktop, mobile and embedded devices. Designing UIs with QML is intuitive and comes with ready-made controls, such as buttons, dials, switches which you can drag and drop on your canvas to make rapid prototypes. Similar to development frameworks tailored toward smartphones and web development, coding languages like Qt's QML have gained a substantial market share, and many companies have forfeited HTML due to its limitations.

ADM: What are the benefits of using Qt vs. HTML?


Engh: After being asked this question time after time, Sequality, an Austrian software consulting company, decided to set up a comparative test to find out the answer. They gave the same developer 160 hours to create a demo of an embedded system using Qt and 160 hours to create the demo using HTML5. These demos would show exactly how the two technologies compare - in terms of development, performance, and sustainability - when used to create the same product.

The demos showed that although the same amount of development time was spent on both versions,
implementation with Qt QML delivered a more functional and complete user interface than the HTML5 version. The testing and debugging process were found to be more straightforward with Qt QML, as HTML5 required additional testing on multiple browsers. In general, the Qt QML version responded faster and enabled features, like virtual keyboards and complex gestures, that were not supported by HTML5 without additional implementation.

ADM: How does Qt work for embedded devices and how does the approach differ from traditional desktop apps and HTML?


Engh: Qt-based applications are compiled for the target, meaning that in terms of user observation, they behave the same no matter which platform they run on. HTML5-based applications, on the other hand, run on the browser of the target - for example, Google's Chrome - meaning different platforms can show different behavior, as the browser might use different rendering engines depending on the platform. HTML is a language, while Qt is a complete framework with different design options and languages. With Qt you really have the power of options to use the right tool for the job. You can use drag and drop design tools with ready-made C++/QML controls and widgets which are customizable, code declarative QML UIs or imperatively with C++. You can even integrate HTML code to your UI if needed and Qt comes with a chromium based browser enabling this.

ADM: How much market penetration does Qt have?


Engh: Even though Qt has been around for 25 years, some might say they developed their framework ahead of its time. The raise of the internet of things has accelerated the need for screens everywhere, while the amount of developers remains the same. This means developers will need to be more productive and not try to solve problems that have already been solved for them.

Qt is used by more than 1 million developers in more than 70 industries, and is growing above 20% year on year and that is somewhat unique for a technology that has been around for so long. Wherever you see a user interface there is a good chance that it is developed with Qt. From in-vehicle infotainment (IVI), digital instrument clusters and heads up displays (HUD) in cars such as Tesla and Mercedes, through to FDA and IEC approved medical devices ensuring patient safety, through to automation systems for buildings and industries and even in your LG Digital TV and refrigerator. At this point, Qt is widely adopted, yet its golden age is just about to begin.    

ADM: What is the total cost of ownership?


Engh: Qt has a dual-licensing model. Qt offers a free open-source model as well as a commercial license model, which offers use of the platform, access to R&D, and commercial support. HTML5 is free (with the option to pay for non-essential tools), yet there is a volatility of dependencies like maintenance and to achieve the same performance as you do natively with Qt it requires very experienced and up to date HTML developers who tweak and use sophisticated methods to utilize the hardware resources in a better way. Chances are that if you choose to go down the HTML route you will end up needing more expensive hardware for your project or sub-optimal performing system. The Qt Company who is behind the framework take care of all dependencies, which will lower your maintenance costs, future proof your system and lower your overall risk.
Carl Engh Talking About Qt and QML

Audio commentary from
Carl Engh, Product Marketing
Director, The Qt Company

ADM: What are the scenarios in which it makes more sense to use Qt instead of HTML? What about vice versa?


Engh: With the exponential growth of the IoT, the increase in embedded devices lends itself to Qt. QML and Qt are designed to get the most out of limited resources, and therefore may be a better choice for embedded development. On the other hand, HTML serves its purpose on the web and is easily deployable across desktop and mobile platforms. As many developers are familiar with HTML in these use cases, it can make sense to use HTML here if you have developers who do not know C++. However, Qt supports a wide range of operating systems and performs better in terms of responsiveness, start-up time and the overall user experience.

ADM: Does Qt have a realistic chance of unseating HTML as the programming language of choice?


Engh: There are ongoing discussions in blogs and forums on whether QML could actually replace HTML as a web language. From a performance aspect people are saying it could, but from a practical standpoint it would require giants such as Google to change their approach.

Time will tell. HTML will always be a popular programming language of choice when it comes to the development of web applications and pages. However, the world is expanding beyond the internet browser to mobile and embedded user interfaces as well. Qt offers a very competitive alternative to HTML when it comes to embedded development, so developers now have multiple languages to choose from to best suit their specific needs.

About Carl Engh


Carl has a strong background in product management. Prior to working at Qt company, he worked in the industrial automation industry, where he was responsible for software projects for transport and logistics companies such as UPS and DHL.

Subscribe to App Developer Magazine

Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.

MEMBERS GET ACCESS TO

  • - Exclusive content from leaders in the industry
  • - Q&A articles from industry leaders
  • - Tips and tricks from the most successful developers weekly
  • - Monthly issues, including all 90+ back-issues since 2012
  • - Event discounts and early-bird signups
  • - Gain insight from top achievers in the app store
  • - Learn what tools to use, what SDK's to use, and more

    Subscribe here