Mobile App mit Drupal backend

Projekt Beschreibung

Die mobile App Habinator wurde sowohl im Apple Store als auch auf Google Play veröffentlicht. Die App "Digitaler Gesundheits-Assistent und Life-Coach" ermöglicht Benutzer, persönliche Ziele zu erreichen und deinen Lebensstil zu ändern - das ist der einzige echte Weg, um gesund zu werden. Die mobile App wurde in React Native implementiert. Das Backend ist Drupal 8 einschließlich Google Firebase und APIs von Social Media Seiten, um eine einfache Anmeldung und einen externen E-Mail-Service für Marketingzwecke zu ermöglichen.

Das Projekt wurde unter Verwendung bekannter Best Practices und Helfer-Tools wie Fastlane erstellt, was uns ermöglicht, eine neue Version zu erstellen und sie innerhalb von Minuten mit einem einzigen Befehl in beiden Stores hochzuladen. Wir haben auch einen optimierten TIP Solutions Hosting-Stack mit AWS CloudFront für eine schnellere weltweite Datenbereitstellung konfiguriert.
 

Vorteile

Da Drupal 8.7 im Core bereits über JSON API- und REST-Module verfügt, sind Empfang und Versand von Daten zwischen App und Backend so einfach wie nie zuvor. Die Erstellung eines neuen API-Endpunkts dauert etwa zwei Minuten.

Die Authentifizierung und Datenverschlüsselung erfolgt über ein OAUTH-Modul und dessen Abhängigkeiten, die den Benutzer sogar anonymisieren (GDPR-Anforderung).

Die Standard-Taxonomie-, Entity-Referenz- und Node-Systeme von Core sind dafür bekannt, ein leistungsfähiges Werkzeug bei der Erstellung gewohnter Datenarchitekturen zu sein. Ein weiterer Vorteil von Drupal ist, dass die Inhalte mit dem WYSIWYG-Editor und anderen gängigen Inhalts-Tools erstellt werden können - um dann direkt von der App genutzt werden zu können. Auch Übersetzungen sind wie immer simple.

Herausforderungen

Die Entwicklung des Backends erforderte die Erstellung von sechs Custom Modulen, deren Entwicklung etwa einen Monat in Anspruch nahmen. Dazu gehörte die Implementierung der sozialen Login-Optionen über Twitter oder Facebook zur Erstellung eines Kontos. Contrib-Module für Push-Benachrichtigungen waren nicht für unsere Zwecke geeignet, aber wir haben offizielle Firebase PHP-Bundles gefunden, mit denen wir ein perfektes Benachrichtigungssystem aufbauen konnten. Zusätzlich erforderten Sicherheitsmaßnahmen ein wenig Arbeit, da wir es den App-Benutzern nicht erlauben, sich direkt am Backend anzumelden.

Schlussfolgerung

Die Leute haben gefragt, ob Drupal 8 für ein mobiles App-Backend geeignet ist?

Wir waren auch sehr skeptisch und hätten Drupal 7 nie empfohlen, aber die Version 8 ist ein völlig anderes System. Die Dokumentation der Community über mobile Apps gibt einen guten Einstiegspunkt.

Die Antwort scheint wirklich "ja, es ist sehr passend" zu sein - auch im Bereich der Performance. Dies liegt daran, dass die allgemeine Wahrnehmung Richtung "Drupal ist langsam" geht. Aber Drupal ist nur PHP-Code mit einer Datenbank und es gibt Werkzeuge wie Redis, um es stark zu beschleunigen, vorausgesetzt, die Seite wird korrekt entworfen und umgesetzt.