2024-03-22 01:37:32 +01:00

5.3 KiB

Einleitung

Motivation

Die Entwicklung moderner und ansprechender Benutzeroberflächen (GUIs) für eingebettete Linux-Systeme ist eine Herausforderung. Herkömmliche GUI-Toolkits stoßen häufig an ihre Grenzen, wenn es um die Erfüllung der Anforderungen an Leistung, plattformübergreifende Kompatibilität und Design geht. Flutter, ein quelloffenes Benutzerschnittstellen-Entwicklungs-Kit von Google, stellt eine vielversprechende Alternative dar. Es zeichnet sich durch eine native Kompilierung für eine hohe Leistung und geringen Ressourcenverbrauch, einer flexiblen Architektur, die an verschiedene Plattformen angepasst werden kann, und seinen Fokus auf moderne und intuitive Benutzeroberflächen aus. Zudem ist Flutter durch seine BSD-Lizenz attraktiv für sowohl kommerzielle Anwendungen als auch Hochschul- und Hobbyprojekte, da es keine Lizenzgebühren oder Einschränkungen gibt.

Relevanz und Zielsetzung

In dieser Arbeit wird der Einsatz von Flutter für die Entwicklung von GUIs für eingebettete Linux-Systeme untersucht. Die Arbeit leistet einen wichtigen Beitrag zu diesem Forschungsbereich, indem sie:

  • die Leistungsmerkmale von Flutter auf eingebetteter Hardware detailliert untersucht und wertvolle Hinweise für die Auswahl der richtigen Toolkits liefert.
  • den Entwicklungsprozess detailliert beschreibt und Herausforderungen sowie bewährte Praktiken bei der Verwendung von Flutter in einem eingebetteten Linux-Kontext aufzeigt.
  • eine reale eingebettete GUI mit Flutter implementiert und dabei die Fähigkeiten und potenziellen Anwendungsfälle des Toolkits hervorhebt.

Die Ergebnisse dieser Arbeit sind relevant für Entwickler im Bereich eingebetteter Systeme, die moderne, performante und ansprechende GUIs für Linux-basierte Geräte entwickeln möchten.

Problemstellung

Beantwortet werden soll die Frage, inwieweit sich Flutter für die Entwicklung von GUIs für eingebettete Linux-Systeme eignet. Dazu wird in dieser Arbeit geklärt: Wie einfach und effizient ist die Entwicklung und Wartung von GUIs mit Flutter? Welche Auswirkungen hat Flutter auf die Leistung und den Ressourcenverbrauch im eingebetteten Kontext? Wie hoch ist der Lernaufwand für Entwickler? Welche Community und Support-Ressourcen stehen für Flutter-Entwickler zur Verfügung? Um diese Fragen zu beantworten wird die folgende Methodik angewendet.

Methodik

Um die Forschungsfrage zu beantworten, wird eine Literaturrecherche, eine experimentelle Untersuchung und eine Auswertung der Untersuchung durchgeführt. In der Literaturrecherche werden aktuelle Quellen zur Nutzung von Flutter außerhalb des klassischen App-Entwicklungskontexts, insbesondere für die Entwicklung von GUIs für eingebettete Systeme, gesucht und ausgewertet. Die experimentelle Untersuchung umfasst die Implementierung einer realen eingebetteten Anwendung mit Flutter und die Bewertung der Leistung, des Ressourcenverbrauchs und der Entwicklungserfahrung. In der Anwendung werden die Embedder "Flutter-Pi" und "Flutter-Auto" dazu genauer untersucht, diese ermöglichen die Ausführung von Flutter im eingebetteten Linux-Kontext. Die Ergebnisse der Untersuchung werden abschließend zusammengefasst und bewertet. Basierend auf den Ergebnissen wird ein Leitfaden für die Entwicklung von GUIs für eingebettete Linux-Systeme mit Flutter erstellt.

Struktur der Arbeit

Die Arbeit ist in acht Kapitel unterteilt. Nach der Einleitung folgt eine Einführung in die Grundlagen von Flutter und eingebetteten Linux-Systemen. Danach wird die Literaturrecherche durchgeführt und die Ergebnisse werden festgehalten. Anschließend wird die experimentelle Untersuchung, im diesen Fall die Fallstudie mit der Flutter Anwendung im eingebetteten Linux-Kontext, genauer erläutert und es wird erklärt, wie das Projekt geplant wurde und die Entwicklungsumgebung aufgebaut ist. Danach wird die Implementierung der Flutter Anwendung beschrieben und dann wird die Erstellung der angepassten Linux Distribution mit Yocto für die Nutzung der entwickelten Flutter Anwendung im eingebetteten Linux Bereich erklärt. Abschließend werden die Ergebnisse der Arbeit festgehalten und es wird eine Schlussfolgerung gezogen.