Embedded Computing Conference 2014 Embedded UI Qt5
2 Embedded User Interfaces in the Smartphone Age The Power of Qt5 and the QNX OS
Qt Vorstellung 3 Qt ( cute ) Hat eine lange Geschichte (Beginn der Entwicklung: 1991) Aktive Entwicklung bis heute Multi-Platform GUI Framework Desktop: Windows, Mac, Linux Mobile: Android, ios, Blackberry OS 10 Embedded: Android, Linux, Windows Embedded RTOS: QNX, VxWorks, INTEGRITY Duale Lizenz Kommerzielle Lizenz Open Source (GPLv3 oder LGPL)
Qt Geschichte 4 1991: Begin der Entwicklung Firma Quasar Technologies (späterer Name: Trolltech) Desktop GUI (Qt/X11, Qt/Windows, später auch für Mac OS X) 1998: KDE (Linux Desktop) basiert auf Qt 2000: Qt 2.2 ist unter der GPL verwendbar 2008: Nokia kauft Qt Entwicklung für Mobile OS «Symbian> 2009: Qt 4.5 ist unter der LGPL Lizenz verwendbar 2011: Gründung der Community «Qt Project» 2012: Verkauf an Digia
Qt Duale Lizenz 5 Kommerzielle Lizenz Flexible Lizenzbedingungen Kostenpflichtig Beinhaltet Support Zusätzliche Funktionen und Bibliotheken Open Source Lizenz Wahlweise GPL oder LGPL Closed-Source Software darf Qt nur dynamisch binden Open Source Code nicht kompatibel mit kommerzieller Lizenz Community Support: http://qt-project.org
Qt Modularer Aufbau 6 Qt besteht aus vielen unterschiedlichen Modulen Neben GUI-Modulen gibt es auch nicht-grafische Module
Qt Verschiedene GUI Technologien 7 Qt Widgets Ursprüngliche Widget-Bibliothek für Desktop-Applikationen Konventionelle Programmierung (C++) Eingeschränkte Unterstützung durch Grafikbeschleunigung Qt WebKit Integration der HTML Engine WebKit Ist nicht auf allen Plattformen verfügbar Wird in Zukunft ersetzt durch Qt WebEngine (Chromium) Qt Quick Von Grund auf neu entwickelte Bibliothek für mobile Geräte Deskriptive Programmierung (QML) Volle Unterstützung durch Grafikbeschleunigung
Qt Quick Neue Entwicklung für mobile Geräte 8 Herausforderung durch mobile Geräte (z. B. Smartphones) Touchscreen Erfordert neue Bedienkonzepte Verlangt schnelle, flüssige Grafik Akkubetrieb, Laufzeit, Erwärmung Eingeschränkte CPU-Leistung Hohe Ansprüche an die Grafik (Qualität, Animationen, ) Verlangt hohe Grafik-Leistung Ł Unterstützung der Grafik durch Hardware ist erforderlich
Beispiel: Bildschirm von Smartphones 9 Zunehmende Auflösung und Grösse des Bildschirms Anzahl der Pixel nimmt massiv zu Anzahl Pixel
Qt Quick Lösung für mobile Geräte 10 Nutzung der Hardware-unterstützen Grafik (GPU) OpenGL ES 2.0 Unterstützung für anspruchsvolle Grafik-Effekte 3D-Grafik, Animationen, Shader, Deklarative Skript-Sprache QML
Qt Creator Entwicklungsumgebung 11
Qt Creator Entwicklungsumgebung 12 Eigene integrierte Entwicklungsumgebung Projektverwaltung Source-Code-Editor Grafischer GUI-Editor (für Qt Widgets und Qt Quick) Build-System Debugger Manual und Hilfesystem Qt Creator basiert selber auf Qt Vorteil: Dieselbe Entwicklungsumgebung für alle Plattformen Nachteil: Konflikt mit plattformspezifischen Entwicklungsumgebungen
QNX als Plattform für Qt-Applikationen 13 QNX Echtzeit-Betriebssytem (RTOS) Micro Kernel Architektur (zuverlässig, sicher, robust) POSIX-Zertifiziert (Industriestandard) Screen Grafik-Stack (Backend für Grafik-Anwendungen)
QNX als Plattform für Qt-Applikationen 14 QNX ist eine der offiziell unterstützen Qt-Plattformen Support direkt durch http://qt-project.org Blackberry OS 10 Basiert auf QNX Grafisches User-Interface «Cascades» basiert auf Qt QNX CAR QNX Applikationsframework für die Automobilindustrie Bietet neben HTML5 auch Qt als User-Interface
Qt Zusammenfassung 15 Sehr umfangreiches Framework Grosse Entwickler-Gemeinde Kommerzielle und Open Source Lizenz (LGPL) Verschiedene GUI-Techniken (Fragmentierung) Nicht alle Module sind auf allen Plattformen unterstützt Weniger gut geeignet für «kleine» Projekte Open Source kein Produkt «aus einer Hand»
Alternativen zu Qt 16 Es gibt noch andere Multi-Plattform GUI-Lösungen Crank Storyboard Die Lösung für den Grafiker HTML5 Die Lösung für den Web-Designer
Storyboard 17 Produkt der Kanadischen Firma Crank Software
Storyboard Komponenten 18 Storyboard Designer (IDE, Eclipse) Konfiguration Resourcen Skripts Storyboard Engine (Target Runtime) Storyboard I/O Applikation
Storyboard Zusammenfassung 19 Keine Widgets (alle Elemente bestehen aus Grafik) Import des Grafik-Designs direkt aus Adobe Photoshop Skript-Sprache für GUI-Logik: Lua Es muss kein Source-Code erzeugt und kompiliert werden Unterstützung für viele Plattformen Schlanke Architektur Erweiterbar mit Plugins Auch für Hardware mit geringer Performance geeignet Support für Animationen Support für 3-D Grafik (OpenGL ES 2.0 erforderlich)
HTML5 20 HTML-Framework ist als Produkt erhältlich von QNX Bestandteil von QNX SDK for Apps and Media Browser basiert auf WebKit Entwickelt und eingesetzt für QNX CAR und Blackberry OS
HTML5 Zusammenfassung 21 Entstanden als Sprache für das WWW HTML5 Beschreibungssprache für Modell (DOM) CSS3 Auszeichnungssprache für Darstellung JavaScript Skriptsprache für Implementation der Logik HTML5 entwickelt sich in Richtung Applikations-Framework Riesige Entwickler-Gemeinde Viele Bibliotheken und Entwicklungswerkzeuge Moderne Browser bieten High-End Grafik-Features Web-Browser hat grossen Resourcen-Bedarf Nicht geeignet für Plattformen mit geringer Performance