Plattformen und Frameworks

💡

Dauer: höchstens 30 Minuten

  • Plattformen für native Apps
  • Frameworks für plattformübergreifende Apps

Ziel: Überblick verschiedener Ansätze zur App-Entwicklung

Auf dem Whiteboard oder in Excalidraw wird skizziert, welche verschiedenen Ansätze es gibt, Apps für Android und iOS zu entwickeln.

⚠️

Vorteil Whiteboard: Medienbruch in die „Realität“, weg vom Computer

Vorteil Excalidraw: Änderungen und Neuanordnungen sind leichter möglich

Plattformen

Es gibt mit Android und iOS nur noch zwei relevante Plattformen, um Apps für Smartphones zu entwickeln. Die Hersteller beider Plattformen stellen „offizielle“ Ansätze bereit, um native Apps zu entwickeln.

Native Apps

Android-Geräte werden von vielen verschiedenen Herstellern auf den Markt gebracht. Das Android-Betriebssystem wird von Google entwickelt.

iPhones haben iOS als Betriebssystem und werden ausschließlich von Apple angefertigt.

Hier verwenden wir Android und iOS als Bezeichnungen für die nativen Plattformen zur App-Entwicklung für Android-Geräte bzw. iPhones.

PlattformHerstellerProgrammierspracheEntwicklungsumgebung
AndroidGoogleKotlin (Java)Android Studio mit Windows, macOS oder Linux
iOSAppleSwift (ObjectiveC)XCode ausschließlich (!) auf macOS

Native Apps werden für Android in Googles PlayStore und für iPhones in Apples AppStore veröffentlicht.

Webanwendungen

Mit mobilen Webanwendungen, die im Browser ausgeführt werden, können ebenfalls Apps für Smartphones entwickelt werden. Hierzu gibt es neben den herkömmlichen Frontend-Technologien HTML, CSS und JavaScript spezielle Techniken für mobile Geräte wie das responsive Design und Service Workers u.a. für Offline-Funktionalität. Unter dem Begriff Progressive Web Apps (PWA) werden diese Techniken zusammengefasst.

Ein paar nützliche Links zu PWAs:

Solche PWAs sind durch URLs im Browser erreichbar und werden in der Regel nicht zur Installation im AppStore bzw. PlayStore bereitgestellt. Häufig lassen sich PWAs jedoch mit Icon auf dem Homescreen des Smartphones ablegen, sodass sie wie eine App erscheinen.

Insbesondere sind PWAs natürlicherweise plattformübergreifend und funktionieren gleichermaßen auf Android-Geräten und iPhones.

Letztendlich funktionieren gut durchdachte und mit den o.ä. Techniken erstellte Webanwendungen sowohl auf Desktop-Rechnern oder Laptops, als auch auf Smartphones. Deswegen sind PWAs im Prinzip eigentlich bloß „gewöhnliche“ Webanwendungen.

Frameworks

Es gibt mehrere Frameworks, mit denen plattformübergreifende Apps für Android und iOS entwickelt werden können:

FrameworkUrsprungProgrammierspracheEntwicklungsumgebungWebseite
React Native (mit Expo)Meta (Facebook)JavaScript (und TypeScript)Texteditor, empfohlen wird VS Codereactnative.dev
FlutterGoogleDartTexteditor, empfohlen wird Android Studio oder VS Codeflutter.dev
.NET MAUI / XamarinMicrosoftC#Visual Studio ?dot.net/maui
ionicIonicJavaScriptTexteditor, empfohlem wird VS Codeionicframework.com

Alle diese Frameworks sind Open Source Projekte.

Mit diesen Frameworks (und auch mit PWAs) ist es möglich, Apps mit nur einer Codebasis sowohl für Android-Geräte als auch für iPhones zu entwickeln (und in manchen Fällen auch für weitere Plattformen wie Windows, macOS, u.a.).


Möglicherweise gibt es weitere relevante Frameworks, d.h. solche, die von einigen genutzt und weiterentwickelt werden. Folgende Frameworks sind Open Source: