Wie war mDevCamp 2024?

Wie war mDevCamp 2024?
15/5/2024

Seit 15 Jahren findet in Prag eine große Konferenz zur Entwicklung mobiler Anwendungen statt. Ursprünglich begann diese als Android Dev Camp im Jahr 2009. Einige Jahre später kamen iOS und Windows Phone hinzu, so dass es in Mobile Dev Camp, abgekürzt mDevCamp, umbenannt wurde. Und unter diesem Namen wurde die Veranstaltung in Mitteleuropa bekannt.

Am 23. April 2024, fand im Prager Kongresszentrum ein weiteres mDevCamp statt. Ich hatte die Gelegenheit, es zu besuchen und mir einige Inspirationen und Neuigkeiten auf dem Gebiet der mobilen Apps zu holen.

Hier sind einige Notizen und Erkenntnisse, die ich für interessant halte. Es ist erwähnenswert, dass das Programm parallel auf drei Bühnen ablief, daher decken meine Notizen natürlich nicht alles ab.

Die genaue Zahl ist mir nicht bekannt, aber ich schätze, dass etwa 300 Teilnehmer anwesend waren. Die Veranstaltung fand in Prag in der Tschechischen Republik statt. Aber die offizielle Sprache war natürlich Englisch. Die Organisatoren wählten den Online-Dienst slido.com, damit Fragen an den Redner gestellt werden konnten. Die Fragen wurden durch Abstimmungen hervorgehoben und dann sortiert, so dass die am meisten gewünschten Fragen zuerst beantwortet wurden.

Ich gehe davon aus, dass sich die meisten Kollegen auf die Entwicklung nativer mobiler Apps konzentrieren und weniger auf Multiplattform-Entwicklung. Dies ging aus den Diskussionen und der Teilnahme an den einzelnen Vorträgen hervor. Aber auch Microsoft MAUI, Googles Flutter und das Java-basierte Kotlin wurden in den Vorträgen diskutiert.

Hier finden Sie Notizen in chronologischer Reihenfolgen zu den einzelnen Präsentationen die ich besucht habe.

Unsere Architektur Journey bei ČSOB

Jan Mašek, ČSOB

Jan Mašek, ein iOS-Entwickler der ČSOB, einer der größten tschechischen Banken, sprach über die Entwicklung der Softwarearchitektur der ČSOB SmartBanking-App. Eine der am meisten genutzten mobilen Banking-Apps in der Tschechischen Republik.

Das ČSOB-Entwicklungsteam hat die Architektur eingeschränkt, um Skalierbarkeit, Testbarkeit und Verwaltungsfähigkeit zu gewährleisten. Seien Sie sich bewusst, dass implizite Anforderungen, die Kunden erwarten, nicht mitgeteilt werden. Die Analytiker müssen sie explizit erfragen. Die verwendeten Werkzeuge waren Textbeschreibung, UML, draw.io und natürlich Stift und Papier. Mit Hilfe von Enterprise Architect.

Das Team schlussfolgerte, dass die beste Architektur diejenige ist, die den Anforderungen entspricht, indem sie den Umfang der Anwendung berücksichtigt. Refactor so viel wie möglich während der Entwicklung.

ČSOB SmartBanking - einige interessante Fakten:

  • Etwa 1 Million Nutzer, gestartet 2019, jetzt 48 Funktionen.
  • Parallele Entwicklung aller Funktionen.
  • Flows-Ansatz wird verwendet, hat jeder Fluss seinen Router (WindowFlow, TabBarFlow, und mehr). Interessant ist die Verwendung von UseCase-Suffixen bei der Benennung von Klassen.

Ursprünglich wurde das MVP-Muster (Model View Presenter) verwendet, aber mit der Einführung von Swift UI in iOS 14 war man gezwungen, es in das MVVM-Muster (Model View ViewModel) zu ändern. Swift UI unterstützt kein MVP. Das Team war gezwungen, MVP aufzugeben, die Domain zu vereinfachen und Kits und UseCases zu verwenden. Jetzt hat jedes Feature seinen eigenen Flow und jeder Flow hat einen FeatureWrapper.


Aufbau einer sicheren Fintech-App

Petr Dvořák, Wultra

Petr Dvořák hielt einen interessanten Vortrag über Fintech-Apps. Daran mangelt es weltweit, daher ist der Markt offen für neue Apps. Man klassifiziert "Fintech-Apps" als Anwendungen, die Dienste wie Budgetmanagement, Unterstützung bei Investitionen, Geldtransfers und aktienbezogene Funktionen anbieten.

Petr hat drei Hauptthemen aufgedeckt, die viele Fintech-Apps weltweit zum Scheitern bringen. In der Regel liegt es nicht an einem Mangel an guter Architektur oder nützlichen Funktionen.

Die wichtigsten Killer solcher Anwendungen sind:

  • UX-Workflows
  • Sicherheit
  • Rechtliche Aspekte

Wenn Ihre Fintech-App nicht über eine moderne Benutzeroberfläche verfügt, wird sie von den Nutzern schnell wieder verlassen. Sicherheit ist das A und O, denn sobald Ihre App Zehntausende von Nutzern anzieht, wird sie zu einem Hauptziel für Hacker und illegale Aktivitäten. Es spielt keine Rolle, wie sicher die App aus technischer Sicht ist, wenn sie von Kriminellen genutzt werden kann, um Nutzer davon zu überzeugen, ihren Zugang freizugeben. Zum Beispiel, indem sie so tun, als seien sie von der Bank des Nutzers, um beim Zugriff auf das Bankkonto zu helfen / Hacking zu verhindern, usw.
Erstaunlich ist die hohe Erfolgsquote der Angriffe, die in der Präsentation hervorgehoben wird, sowie die beträchtlichen Geldbeträge, die gestohlen werden. Ein beträchtlicher Teil dieser Angriffe ist erfolgreich, wobei durchschnittlich 10.000 EUR erbeutet werden☹.

Ein weiterer Aspekt ist, dass die Nutzer aller Altersgruppen zusätzliche Informationen benötigen. Dies ist ein dringendes Problem im heutigen digitalen Zeitalter.

Glücklicherweise arbeitet die Europäische Union an einer digitalen ID, die die Einrichtung von Konten in Fintech-Apps und deren Validierung in digitalen Diensten erheblich vereinfachen dürfte. Sie soll in den Jahren 2025-2026 eingeführt werden.

Wichtige Ergebnisse:

  • Ihre Fintech-App muss Phishing aktiv verhindern.
  • Der Code der Anwendung ist anfällig und kann dekompiliert und mit korrupten Inhalten manipuliert werden.
  • Der Code muss verschleiert werden, es muss eine Verschlüsselung verwendet werden.
  • Malware auf Android ist eine sehr häufige Sache.
  • In Asien ist die serverseitige Biometrie weit verbreitet und erforderlich, es wird Gesichtserkennung verwendet.

eDoklady - Schaffung der (inter)nationalen digitalen Identitäts-App

Igor Rosocha, Ackee

Die Einführung einer nationalen, digitalen Identitätsanwendung in der Tschechischen Republik bietet den Nutzern eine digitale Darstellung ihres Personalausweises und erleichtert die Überprüfung gegenüber Behörden wie der Polizei. Es ist wichtig anzumerken, dass diese Anwendung nicht dazu gedacht ist, als Identitätsanbieter im digitalen Bereich zu fungieren.

Es gibt zwei Arbeitsabläufe - Proximity Flow über BLE und Remote Flow über HTTPS durch Scannen von QR-Codes in der App der anderen Seite. Die App enthält den Standard mDL (mobile device license) ISO/IEC 18013-5 für den Proximity Flow, wodurch sie mit zukünftigen EU-weiten digitalen Geldbörsen konform ist. Der Fernzugriff basiert auf dem Protokoll OpenID4VP.

Daher ist es wichtig, dass alle mobilen Apps, die derzeit in verschiedenen Ländern der EU entwickelt oder genutzt werden, mit der kommenden EU-weiten digitalen Geldbörse kompatibel sind. Die eDoklady-App ist dafür bereit.

Die App ist in React Native geschrieben. Und kommuniziert mit zwei Backend-Servern - einer als Identitätsanbieter und der zweite für die Geschäftslogik. Sicherer Speicher / Schlüsselbund wird verwendet. Mdoc-Authentifizierung. 90 Prozent Testabdeckung des Codes.


Erstellung von nativen und hybriden Anwendungen mit .NET MAUI und Blazor

James Montemagno, Microsoft

Trotz der Tatsache, dass mDevCamp hauptsächlich von nativen Entwicklern besucht wird, die sich entweder auf die Android- oder iOS-Plattform konzentrieren, war Microsoft hier mit seinem Multiplattform-Framework .NET MAUI vertreten, das auch bei SABO Mobile IT weit verbreitet ist und das wir für alle mobilen Projekte empfehlen.

Der berühmte James Montemagno, in der Position des Principal Lead Program Manager für die .NET-Community bei Microsoft, kam nach Prag, um die .NET MAUI-Apps vorzustellen. Der Code kann nicht nur zwischen den beiden mobilen Plattformen (Android, iOS) geteilt werden, sondern durch die Verwendung von Blazor-Komponenten auch mit Web-Anwendungen.

Im Allgemeinen kann .NET für das Schreiben von mobilen Anwendungen verwendet werden, indem die stark typisierte objektorientierte Programmiersprache C# verwendet wird. Die Benutzeroberfläche wird nur einmal im XAML-Format geschrieben und mit Hilfe des MAUI-Frameworks von Android- und iOS-Plattformen gemeinsam genutzt.
Die Architektur der .NET MAUI Mobile App ermöglicht es uns, SOLID und effektiven Code zu erstellen, der durch Unit-Tests abgedeckt ist. So bleibt die App offen für zukünftige Entwicklungen und Verbesserungen.

Durch die Hinzufügung von Blazor-Komponenten bietet Microsoft eine noch effizientere Möglichkeit, Multiplattform-Projekte auf eine spannende und einfache Weise zu schreiben.

Entwickler können sowohl Visual Studio als auch Visual Studio Code für die Arbeit an .NET MAUI-Anwendungen verwenden.


Zwei Plattformen, dieselben Bausteine

Petr Zvoníček, Spotify

Da jeder Spotify kennt, die Musik-App, die auf allen Plattformen der Welt verfügbar ist, war der Vortrag von Petr Zvoníček, Senior Architect bei Spotify, einer der Höhepunkte der Veranstaltung.

Trotz werden die Android- und iOS-Clients von Spotify getrennt in nativen Programmiersprachen entwickelt (Kotlin auf Android und Swift auf iOS), die Gesamtarchitektur ist nur einmalig gehalten in Bezug auf die Plattform agnostisch. Es wird eine deklarative API mit einem hohen Abstraktionsgrad verwendet, die vier Hauptbausteine der App deklariert.

  1. Staatliche Verwaltung
    Sie bauen ein neues Framework Mobius. Model kann nur von der Domänenlogik durch die Update-Funktion geändert werden und ist unveränderlich. UI löst die Update-Funktion aus und ist an Model gebunden. Mobius ist eine Laufzeitumgebung, die von Spotify als Open Source zur Verfügung gestellt wird und auf GitHub mit Dokumentation verfügbar ist. e
  2. Laden der Seite
    Jede Seite hat einen ähnlichen Zustandsautomaten - mit den Zuständen error, mot found, loaded.
  3. Darstellung der Seite
    Spotify enthält hunderte von Seiten, die meisten davon mit der gleichen Struktur . Das Spotify-Team hat die Seitenarchitektur vereinheitlicht, so dass jede Seite die gleiche Struktur aufweist - Parameter, Abhängigkeiten, Eigenschaften, Navigation, Content Factory.

    Die Seite ist ein Baustein auf hoher Ebene. Eigenschaften werden in Katalogen abgebildet, die in eine Seite eingefügt werden können.
  4. Intelligente UI-Komponente
    Eine zusätzliche Komponente über der Seite. Jede Smart-UI-Komponente bietet mehr eigenständige Funktionen, unabhängig von der darunter liegenden Seite. Die Schaltfläche "Play" ist beispielsweise eine intelligente UI-Komponente. Sie bietet einen standardisierten Weg, um sie zu erstellen, so dass sie von verschiedenen Teams gemeinsam genutzt werden kann. Sie haben die gleiche Struktur - Status, Verhalten, UI, Eigenschaften. Eigenschaften können nur von außen importiert und geändert werden. Die Isolierung und Definition sowie die Grenzen / Einschränkungen machen sie für alle Teams, die an Spotify arbeiten, gut nutzbar.

Lessons Learned aus der Arbeit mit Bausteinen:
Recherchieren Sie, bevor Sie mit Ihrer Arbeit beginnen. Semantik ist alles (richtige Benennung der Dinge). Sie werden es nicht auf Anhieb schaffen. Konzentrieren Sie sich auf die Erfahrung des Entwicklers.


Wie wir das Designsystem bei Škoda Auto aufbauen

Michal Mátl, Green:Code

"Die letzte Präsentation, die ich während der Veranstaltung besucht habe, war die von Michal Matl über den Aufbau des Designsystems für Skoda Auto. Sie haben Škoda Flow entwickelt, das Designsystem für alle digitalen Produkte von Škoda. Es konzentriert sich auf Komponenten und Konsistenz über alle CI-Produkte hinweg. Mobile Apps, Web-Apps, Infotainment im Auto, etc. Die Flow-Bibliothek in Figma wird Entwicklern und Škoda-Mitarbeitern unter flow.skoda-brand.com kostenlos zur Verfügung gestellt.

Schlussfolgerung

Es gab viele inspirierende Vorträge und Redner, eine freundliche Umgebung und ein großartiges Catering. Vielen Dank an die Organisatoren von https://mdevcamp.eu/, die das mDevCamp 2024 zu einer großartigen Veranstaltung gemacht haben!

Luboš Brát

Senior-Entwickler für .NET und mobile Anwendungen

Teilen:
Luboš ist ein erfahrener .NET-Entwickler (Web und mobile Anwendungen), der mit SQL und DevOps bestens vertraut ist. Er hat zahlreiche Webanwendungen entwickelt, die weltweit von der Industrie und der akademischen Welt genutzt werden. Er hat einen Bachelor-Abschluss in angewandter Physik und Astrophysik. Er spielt gerne Bowling und Geige und fährt E-Mountainbike und Ski.

Article collaborators

SABO Newsletter icon

SABO NEWSLETTER

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

SABO Mobile IT

Für unsere Kunden aus der Industrie entwickeln wir spezialisierte Software zur Umsetzung von Industry 4.0. IoT, Machine Learning und Künstliche Intelligenz ermöglichen uns, signifikante Effizienzsteigerungen bei unseren Kunden zu erzielen.
Über uns