Update Mobile Accelerator Konzept authored by Maximilian Peter Rabus's avatar Maximilian Peter Rabus
......@@ -117,14 +117,24 @@ Auch beim Cross-Plattform-Ansatz hilft eine gemeinsame Code-Basis eine schnelle
**Typische Umsetzung mit:** Flutter, React Native
## Nativ vs. Hybrid vs. Cross-Plattform
Der erste Ansatz gegen den sich bei diesem Vergleich entschieden wird, ist die Hybrid-Variante. Für diesen Ansatz wird sich hauptsächlich entschieden wenn Zeit ein entscheidender Faktor ist und schnell ein vorzeigbares Produkt vorgewiesen werden muss.
Da dies im Rahmen der Vorlesung eher ein sekundärer Faktor ist, sind die Nachteile wie die mäßige Performance und die schlechte Benutzererfahrung zu schwerwiegend.
Im Vergleich zwischen dem Nativ- und Cross-Plattform-Ansatz würden wir abschließend die Empfehlung für den Cross-Plattform-Ansatz aussprechen. Der große Nachteil für den Nativ-Ansatz ist der hohe Zeitaufwand und das nötige Know-How um die großen Nachteile dieses Ansatzes auch wirklich sehen und spüren zu können. Da der Accelerator von Studenten weiterentwickelt wird stellt dies wohl keine sinnvolle Variante dar. Zum einen müssten zwei Teams daran arbeiten, da eine Version für Android und eine für iOS erstellt werden müsste und ob sich überhaupt Studenten finden, die mit Sprachen? Vertraut sind ist im Vergleich zu den anderen Ansätzen eher unwahrscheinlich.
Hier stellt der Cross-Plattform-Ansatz…
Im Vergleich zwischen dem Nativ- und Cross-Plattform-Ansatz würden wir abschließend die Empfehlung für den Cross-Plattform-Ansatz aussprechen. Der große Nachteil für den Nativ-Ansatz ist der hohe Zeitaufwand und das nötige Know-How um die großen Vorteile dieses Ansatzes auch wirklich sehen und spüren zu können.
Da der Accelerator von Studenten weiterentwickelt wird stellt dies wohl keine sinnvolle Variante dar. Zum einen müssten zwei Teams daran arbeiten, da eine Version für Android und eine für iOS erstellt werden müsste, und zum anderen ist es wahrscheinlicher Studenten zu finden, die sich mit JS anstatt mit Swift/Objectice-C auskennen.
Der Cross-Plattform-Ansatz bietet hier also das Beste aus allen Welten und stellt unsere finale Empfehlung aus den genannten Gründen dar.
React vs Flutter
## React vs. Flutter
Besonderheiten
Als tatsächliche Technologien mit denen man den mobilen Accelerator bauen könnte, gibt es für uns zwei valide Kandidaten: Flutter und React Native.
Beide Technologien sind Open-Source und wurden ursprünglich von großen Konzernen auf den Markt gebracht (Google bei Flutter, Facebook bei React Native).
Einer der großen Unterschiede liegt in der Reife der jeweiligen Ökosysteme. React Native ist von 2015, kann mittlerweile als etabliert bezeichnet und ein vorzeigbares Ökosystem an Plugins vorweisen. Flutter ist von 2018 und kommt mit viel Vorschusslorbeeren und einem starken Wachstum in den letzten Jahren auf den Markt. Trotzdem ist es was die Stabilität und das Ökosystem angeht noch nicht auf dem Level von React Native.
Ein weiterer Unterschied liegt in der Programmiersprache: Während in Flutter mit Dart programmiert wird, geschieht dies in React Native mit JS.
Im Spezialfall des Accelerators spielt vor allem eine weitere Technologie eine wichtige Rolle: WebRTC, was die Kommunikation mehrerer Teilnehmer überhaupt erst möglich macht. Hier bieten beide Technologien bereits Plugins, die es ermöglichen WebRTC in eine eigene App zu integrieren.
- Flutter WebRTC: https://github.com/flutter-webrtc/flutter-webrtc
- React Native WebRTC: https://github.com/react-native-webrtc/react-native-webrtc
Letztendlich sind es vor allem die beiden Unterscheide in der Reife und der Programmiersprache, weswegen unsere Empfehlung für React Native ausfällt. Zum einen ist es wahrscheinlicher Studenten mit JS-Kenntnissen als mit Dart-Kenntnissen zu gewinnen und zum anderen macht es im Hinblick auf die Nachhaltigkeit dieser Technologie-Empfehlung Sinn auf das etabliertere Ökosystem von React Native zu setzen.
\ No newline at end of file