Native Entwicklung oder Cross-Plattform

Wenn Webapplikationen und Apps auf konventionelle Weise erstellt werden, geschieht das, indem seperate Anwendungen für die unterschiedlichen Zielplattformen entwickelt werden. Ob die Betriebssysteme Android, iOS oder das Web: oft kommen hierbei unterschiedliche UI-Frameworks und Programmiersprachen zum Einsatz.

Cross-Plattform-Entwicklung beschreibt nun, dass eine Technologie und eine gemeinsame Codebasis auf mehreren Plattformen hinweg lauffähig ist. Vorteilhaft sind dabei die niedrigeren Entwicklungskosten und eine kürzere Entwicklungszeit. In der nativen Entwicklung, in der eine Codebasis lediglich auf einer Plattform lauffähig ist, ist demgegenüber die höchste native Performance möglich und ein problemloser Zugriff auf alle verfügbaren Gerätefunktionen. In diesen Punkten kann es bei der Cross-Plattform-Entwicklung noch gewisse Einschränkungen geben.

Die Google-Produkte Flutter und Dart im Einsatz

Flutter ist ein von Google entwickeltes Open-Source UI-Entwicklungs-Kit und wurde 2017 erstmals veröffentlicht. Die genutzte Programmiersprache ist Dart. Zu den unterstützten Plattformen zählen Android, iOS und seit dem Release von Flutter 2.0 im April 2021 auch das Web, Windows, Linux, macOS, und Google Fuchsia. Weitere Beispiele fur Cross-Platform-Frameworks sind Ionic, React Native, Unity und
Xamarin.

Dart ist eine ebenfalls von Google entwickelte, objektorientierte Programmiersprache, die für die UI-Entwicklung optimiert wurde. Die Programmiersprache verspricht native Performance auf verschiedensten Plattformen. Für das Web muss der Dartcode in JavaScript übersetzt werden.

Umsetzung einer Money-Tracker-Anwendung

Die Studenten Simon Förster und Luca Ruf haben sich in Ihrer Projektarbeit in das UI-Framework eingearbeitet und eine Beispielanwendung implementiert. Die „Expense-Tracker“ Anwendung soll zwei Personen dabei helfen, gemeinsame Ausgaben zu verwalten. Es wurde zudem recherchiert, welche Unterschiede zwischen nativer Entwicklung und Cross-Plattform-Entwicklung existieren und was andere UI-Frameworks von Flutter unterscheidet.