Stellen Sie sich vor, Sie entwerfen ein intelligentes Kochgerät, ein medizinisches Gerät oder ein beliebiges Embedded-Gerät mit einer anspruchsvollen Benutzeroberfläche, und Ihnen stellt sich die Frage: Wie können wir diese reichhaltige Benutzererfahrung genau erstellen? Sollten wir uns für den Branchenstandard mit Linux und Qt entscheiden? Oder sollten wir die Funktionen von Android nutzen?
Das ist tatsächlich eine gute Frage. Beide haben ihre Vorteile. Wir haben alle gesehen, welche Anwendungen und Benutzererfahrungen auf Android-Smartphones möglich sind: Flüssige Animationen und Effekte, Touch-Freundlichkeit und Drittanbieter-Apps. Auf der anderen Seite lehnt sich die Industrie stark an Linux-basierte Distributionen aufgrund ihrer Zuverlässigkeit und Flexibilität an, während Qt eines der beliebtesten Frameworks für Embedded-Geräte ist.
Es gibt viele Kriterien zu berücksichtigen: Sicherheit, Leistung, Flexibilität, Affinität zum Technologie-Stack, Fähigkeiten und vieles mehr. Als Ingenieur, technischer Leiter oder Produktmanager stellt sich die Frage, wie Sie eine fundierte Entscheidung treffen können. Nun, weil wir eine Herausforderung lieben, haben wir sie mit einem direkten Vergleich auf die Probe gestellt, indem wir dieselbe Anwendung zweimal erstellt haben!
Ein originelles Experiment
Drei Ingenieure haben sich zusammengeschlossen, um herauszufinden, welche der beiden Lösungen die beste Grundlage für ein Embedded-Softwareprojekt wäre.
Anstatt uns nur auf Funktionen zu konzentrieren oder eine weitere Meinung in der Debatte zwischen Linux/Qt und Android beizutragen, haben die Ingenieure von Witekio einen praktischen Ansatz gewählt und beschlossen, eine Anwendung von Grund auf auf einem i.MX 8 Board zu entwickeln, das speziell für die Arbeit mit vernetzten Objekten konzipiert wurde.
Julien untersuchte zunächst die technischen Herausforderungen des Vergleichs der Android- und Linux-Performance auf einem i.MX 8 Quad Board. Anschließend übernahmen Erwan und Stephan den Anwendungsteil. Erwan entwickelte eine Version der Anwendung auf Basis des Android-Betriebssystems, während Stephan dieselbe Anwendung mit dem Qt-Toolkit erstellte.
Um es mit den Worten der Ingenieure zu sagen: “Indem wir beide Anwendungen gleichzeitig entwickelt haben, konnten wir uns ein genaues Bild von den Stärken und Schwächen von Android und Qt machen”, sagte Stephan. “Das Board war dasselbe, das Betriebssystem war dasselbe, die Anforderungen an die Anwendung waren dieselben, der einzige Unterschied waren die zugrunde liegenden Software-Frameworks, und wir konnten sehen, welches besser abschneidet.”
Aufbau eines Musikplayers von Grund auf
Obwohl die Musikplayer auf unterschiedlichen Frameworks und mit unterschiedlichen Programmiersprachen (C++ für Qt, Java für Android) entwickelt wurden, musste die Funktionalität die gleiche sein:
- Eine flüssige Benutzeroberfläche zur Interaktion bieten
- Die Diskografien von Künstlern auswählen, um Songs herunterzuladen
- Eine Liste von Songs anzeigen und diese nach Künstler, Album oder Genre filtern
- Die Anwendung muss in der Lage sein, Metadaten eines Songs zu lesen, um diese Filterung zu ermöglichen und zum Anzeigen der Informationen
- Tatsächlich Musik abspielen! Ziemlich wichtig für einen Musikplayer, einschließlich der Standardsteuerelemente (Wiedergabe/Pause, Fortschrittsleiste, Lautstärkeregler, Vorherige/Nächste-Titel-Tasten)
- Auf anderen Bildschirmen minimierte Steuerelemente bereitstellen
Erwan und Stephan dokumentierten ihre Erfahrungen bei der Arbeit mit den konkurrierenden Frameworks und berichteten während des gesamten Projekts sowie am Ende des Projekts über die Vor- und Nachteile jedes Frameworks. Diese Berichte und die darin enthaltenen Expertenmeinungen bilden die Grundlage des neuen Whitepapers von Witekio, das die Debatte zwischen Qt und Android endgültig beenden könnte.
Ergebnisse
Dieses Whitepaper von Witekio ist mehr als nur eine Zusammenfassung von Laborberichten. Es nimmt den Kampf zwischen Qt und Android direkt auf.
Es beginnt mit einer allgemeinen Diskussion über den Kontext dieser Debatte zwischen Qt und Android. Das Whitepaper erklärt die gängigen Gründe für die Wahl des Android- oder Linux- und Qt-Frameworks. Dazu gehören die Vorteile der regelmäßigen Updates im Google Play Store sowie der geringere Speicherbedarf und CPU-Verbrauch bei Qt.
Ob es um die Optimierung der Boot-Geschwindigkeit geht, den Vergleich mit einer Proof-of-Concept-Softwarelösung oder die Bewertung des RAM-Bedarfs – Linux war die Plattform, die als Sieger hervorging.
Im Kern des Whitepapers steht der Vergleich zwischen Qt und Android in Bezug auf drei Kriterien:
- Framework-Funktionen
- Entwicklungsfreundlichkeit
- Entwicklungsgeschwindigkeit
Für jedes Kriterium erklären die Experten von Witekio, wie sich jedes Framework schlägt, und geben klare Beispiele für die Stärken und Schwächen jeder Herangehensweise im Kontext des Entwicklungsprozesses. Speziell das Team von Witekio erläutert die Auswirkungen der Frameworks auf:
- Die Architektur der Anwendung
- Das Design und die Funktionen der Benutzererfahrung (Design, Implementierung, interne Navigation, Komponentenanzeige)
- Dateimanipulation für die Auswahl und den Download von Diskografien (Dateisystem, Dateiimport, Suche)
- Datenmanipulation für die Darstellung und Filterung von Diskografien (Modellierung, Filterung, Grafik)
- Multimedia-Funktionen, Medien-Metadaten, Audio-Wiedergabe
- Steuerelemente und Zugänglichkeit
- Internationalisierung
- Gesamteinfachheit der Entwicklung
Endlich eine Antwort
Indem wir uns auf ein Experiment konzentrieren, bei dem die beiden Frameworks gegeneinander antreten, statt uns nur auf Theorie und Bauchgefühl zu verlassen, kann das Whitepaper von Witekio endlich erklären, warum eines der Frameworks dem anderen überlegen ist.
Es war ein knappes Rennen. Qt ist stärker in Bezug auf die reine Benutzererfahrung, die Entwicklungsumgebung von Android bietet eine bessere Unterstützung und Debugging-Möglichkeiten, und beide sind stark bei der Manipulation von Mediendateien. Am Ende gibt es jedoch einen klaren Gewinner, und unser Whitepaper erklärt, warum dies die bessere Wahl im Kontext unserer Embedded-Musikplayer-App ist.