Qt Framework In modern embedded user interface development
Lukumies, Miikka (2019)
Lukumies, Miikka
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202001201443
https://urn.fi/URN:NBN:fi:amk-202001201443
Tiivistelmä
Graphical user interfaces are becoming a more prominent feature in the development of new machines and devices. As the cost of performance is decreasing, an increasing amount of new systems are manufactured with the capability of providing an approachable window into the underlying data. The wider variety of environments and an expanding selection of connectivity options generate more demanding requirements for the modern user interfaces, especially in the embedded environment, where the resources may be limited.
The Qt Framework is a cross-platform software development framework for embedded and desktop environments. It enables creating user interfaces and applications for a wide range of devices and platforms using the C++ programming language for application logic, complemented by its custom markup language along with JavaScript for the creation of dynamic user interfaces.
The objective of this thesis was to assess the Qt Framework’s suitability for the development of modern user interfaces in embedded Linux and Android mobile environments. To provide a comprehensive, all-round analysis of the capabilities of the framework, a fully functioning automotive in-vehicle infotainment system and a mobile companion application were created, with an extensive set of features that could appear in a modern embedded user interface.
A list of requirements gathered at the beginning of the projects alongside a testing plan was used as a performance metric for assessing the framework. The various useful features the framework provided enabled the creation of highly modular user interfaces for both platforms, which greatly increased code re-use and maintainability. The framework's capability of functioning as the sole development kit for the entire project proved the maturity of the toolkit the framework provided. Graafisista käyttöliittymistä on tullut huomattavan yleinen ominaisuus uusien koneiden ja laitteiden kehityksessä. Suorituskykykustannuksien laskiessa yhä useampi uusi laite päätyy markkinoille mukanaan jonkinlainen näyttöpääte, joka auttaa tarjoamaan käyttäjälle helpommin lähestyttävän ikkunan alla olevaan informaatiotulvaan. Erilaisten asennusympäristömahdollisuuksien ja yhteystapavaihtoehtojen lisääntyminen tuo mukanaan yhä vaativampia edellytyksiä moderneille käyttöliittymille, varsinkin sulautetuissa järjestelmissä, joissa resurssit saattavat olla muutoinkin rajoitetut.
Qt Framework on laitteistoriippumaton sovelluskehitysalusta sekä sulautettuihin, että työpöytäympäristöihin. Se mahdollistaa käyttöliittymien sekä sovellusten kehittämisen laajalle valikoimalle laitteita ja alustoja, hyödyntäen C++ ohjelmointikieltä ohjelmistologiikan toteuttamiseen, sekä kehitysalustan omaa kuvauskieltä täydennettynä JavaScript-ohjelmakoodilla dynaamisten käyttöliittymien toteuttamiseen.
Tämän opinnäytetyön päämääränä oli arvioida Qt Frameworkin soveltuvuutta modernien käyttöliittymien kehittämisessä käyttäen kohdealustana sulautettua Linux-käyttöjärjestelmää, sekä Android-pohjaista mobiilialustaa. Kattavan analyysin suorittamiseksi toteutettiin sovelluskehitysprojekti, jonka tavoitteena oli luoda täysin käyttökelpoinen ajoneuvon info- ja viihdejärjestelmä, sekä täydentävä mobiilisovellus. Järjestelmää kehitettäessä mukaan sisällytettiin mahdollisimman suuri määrä erilaisia toimintoja, joita nykypäivän käyttöliittymissä voisi esiintyä.
Ennen järjestelmän kehityksen aloittamista projektille pyrittiin keräämään kattava lista vaatimuksia sekä testaussuunnitelma, joita voitiin käyttää sovelluskehitysalustan ja -ympäristön soveltuvuuden ja suorituskyvyn mittaamiseen. Opinnäytetyön tuloksena huomattiin Qt Frameworkin olevan hyvin kypsä ja suorituskykyinen työkalupaketti laitteistoriippumattomien modulaaristen nykyaikaisten käyttöliittymien kehittämisessä. Lukuisat kehitysalustan tarjoamat hyödylliset ominaisuuden mahdollistivat sen käyttämisen ainoana työkaluna jopa laajamittaisien järjestelmien luomisessa.
The Qt Framework is a cross-platform software development framework for embedded and desktop environments. It enables creating user interfaces and applications for a wide range of devices and platforms using the C++ programming language for application logic, complemented by its custom markup language along with JavaScript for the creation of dynamic user interfaces.
The objective of this thesis was to assess the Qt Framework’s suitability for the development of modern user interfaces in embedded Linux and Android mobile environments. To provide a comprehensive, all-round analysis of the capabilities of the framework, a fully functioning automotive in-vehicle infotainment system and a mobile companion application were created, with an extensive set of features that could appear in a modern embedded user interface.
A list of requirements gathered at the beginning of the projects alongside a testing plan was used as a performance metric for assessing the framework. The various useful features the framework provided enabled the creation of highly modular user interfaces for both platforms, which greatly increased code re-use and maintainability. The framework's capability of functioning as the sole development kit for the entire project proved the maturity of the toolkit the framework provided.
Qt Framework on laitteistoriippumaton sovelluskehitysalusta sekä sulautettuihin, että työpöytäympäristöihin. Se mahdollistaa käyttöliittymien sekä sovellusten kehittämisen laajalle valikoimalle laitteita ja alustoja, hyödyntäen C++ ohjelmointikieltä ohjelmistologiikan toteuttamiseen, sekä kehitysalustan omaa kuvauskieltä täydennettynä JavaScript-ohjelmakoodilla dynaamisten käyttöliittymien toteuttamiseen.
Tämän opinnäytetyön päämääränä oli arvioida Qt Frameworkin soveltuvuutta modernien käyttöliittymien kehittämisessä käyttäen kohdealustana sulautettua Linux-käyttöjärjestelmää, sekä Android-pohjaista mobiilialustaa. Kattavan analyysin suorittamiseksi toteutettiin sovelluskehitysprojekti, jonka tavoitteena oli luoda täysin käyttökelpoinen ajoneuvon info- ja viihdejärjestelmä, sekä täydentävä mobiilisovellus. Järjestelmää kehitettäessä mukaan sisällytettiin mahdollisimman suuri määrä erilaisia toimintoja, joita nykypäivän käyttöliittymissä voisi esiintyä.
Ennen järjestelmän kehityksen aloittamista projektille pyrittiin keräämään kattava lista vaatimuksia sekä testaussuunnitelma, joita voitiin käyttää sovelluskehitysalustan ja -ympäristön soveltuvuuden ja suorituskyvyn mittaamiseen. Opinnäytetyön tuloksena huomattiin Qt Frameworkin olevan hyvin kypsä ja suorituskykyinen työkalupaketti laitteistoriippumattomien modulaaristen nykyaikaisten käyttöliittymien kehittämisessä. Lukuisat kehitysalustan tarjoamat hyödylliset ominaisuuden mahdollistivat sen käyttämisen ainoana työkaluna jopa laajamittaisien järjestelmien luomisessa.