Skip to main content

Stand Apps März 2024

Apps

FillingFeedbackApp

App für die Produktion bei HLR

  • Ist mit Expo entwickelt worden, aber nicht auf dem aktuellsten Stand und müsste überarbeitet werden, um diese App weiter zu erweitern.

DeliveryOrderApp

App zur Verwaltung von Lieferscheinen im Standard. (bzw. Auf Basis von odyn-erp-server API_DEV)

  • Ist mit Expo entwickelt worden, aber nicht auf dem aktuellsten Stand und müsste überarbeitet werden, um diese App weiter zu erweitern.
  • Sollte man die Lieferschein-App

Frameworks

React-Native mit Expo

Vorteile

  • Viele Pakete, welche alle miteinander funktionieren und teilweise sehr komplexe Dinge ausgesprochen einfach darstellen
    • Scannen von QR-Codes
    • Daten auf dem Gerät speichern
    • Unterschiedlichste Android API's ansteuern
  • Leichtes Bundeln zu IOS und zu Android
    • zum Bundeln für IOS wird kein MAC mit XCode benötigt
  • Einfaches Testen der App auf verschiedenen Endgeräten mit der EXPO Go App

Nachteile

  • Entwickelt sich sehr schnell weiter und zwingt dazu die Codebase aktiv weiterzuentwickeln, dadurch ist Code schnell nicht mehr brauchbar und muss überarbeitet werden
  • Bietet momentan keine möglichkeit komplett unabhängig von EXPO-Servern zu bundeln (Wissenstand: Juni 2023)
  • Häufig funktionieren Apps in der Test-App scheitern daraufhin jedoch in der gebundelten Version und es gibt keine Unterstützung dort zu debuggen.
  • Die gebundelte größe einer App ist sehr groß, da in die App alle EXPO-SDKs geladen werden müssen. Eine App welche "Hello World" auf weißem hintergrund ausgibt ist 25mb groß.

React-Native ohne Expo

Vorteile

  • Man ist unabhängig von Bundle Tools
  • Man kann die Versionen verwenden, welche man möchte

Nachteile

  • Es ist aufwendiger weitere Pakete hinzuzufügen und der Support für manche Funktion wird leider nur begrentzt ermöglicht.

Flutter

Vorteile

  • Effizienz durch schnelle Entwicklung: Zeitgemäß werden Änderungen im Code direkt auch in der App zu entwickelnden App dargestellt, was die Geschwindigkeit bei der Entwicklung stärkt.
  • Design der Benutzeroberflächen: Durch die vielen anpassbaren Widgets sehen die Benutzeroberflächen sehr schön aus und lassen sich auch gut bedienen. Das Framework setzt beim Design und der optischen Attraktivität einen Schwerpunkt.
  • Leistungsfähigkeit: Das Framework wurde auf Leistung optimiert. Erkennbar ist das an den schnellen und flüssigen Animationen, an eleganten Übergängen und auch daran, dass ältere Geräte damit kein Problem haben. Auch dort laufen die programmierten Apps reibungslos. Das erhöht zwangsläufig die Zahl der potenziellen Nutzer auch bei anspruchsvollen mobilen Anwendungen.
  • Verwendung für viele Plattformen: Mit Flutter lassen sich nicht nur mobile Apps, sondern auch Desktop- und Web-Apps entwickeln. Das Tool ist damit sehr vielseitig und dient der Entwicklung von plattformübergreifenden Anwendungen.
  • Open-Source-Framework: Da das Framework als kostenlose Open-Source zur Verfügung steht, nutzt es eine große Community von Freelancern und Entwicklern in Unternehmen. Diese Community entwickelt es permanent weiter, was seine Fähigkeiten ständig erhöht.

Nachteile

  • Bibliotheken von Dritten: Momentan ist der support von Bibliotheken von Dritten noch relativ schwach im Vergleich zu anderen Frameworks.

Meine Meinung und Fazit zu den Apps

Wenn die bisherigen Apps weiterentickelt oder erneut gebundelt werden sollten, würde ich empfehlen bei den Apps mit eject aus Expo auszutreten und diese dann als ein React Native Projekt ohne Expo versuchen weiterzuführen.

Hierbei erhoffe ich mir weniger Aufwand aufwenden zu müssen, als diese laufend auf neue Expo Versionen zu portieren oder die Apps in einem anderen Framework neu zu entwickeln.

Die Delivery-Order-App ist 4300 Zeilen Code groß. Die FillingFeedbackApp ist 1250 Zeilen Code groß. Ein rewrite würde dementsprechend sehr viel Zeit in Anspruch nehmen.

Neue Apps würde ich ohne React Native entwickeln und stattdessen auf Flutter umsteigen. Es kann immer noch nativ entwickelt werden, aber die Performance steigt deutlich und die Größe der Apps schrumpft.

Man ist damit unabhängiger von dritten Parteien und kann ein Softwareprojekt auch in langsameren Zyklen (bspw. einmal im Jahr) weiterentwickeln.

Außerdem ist EXPO nicht open-source und beginnt momentan schon damit Pay-Walls in ihren Produkten unterzubringen. Es wäre also denkbar, dass der momentan kostenlose Dienst in Zukunft Kosten würde oder Stärker eingeschränkt werden könnte.