Drupal-backend kännykkäsovelluksessa

Kuvaus

Habinator App julkaistiin Apple Storessa ja Google Playssä muutama kuukausi sitten. Kännykkäsovellus "Digitaalinen Terveysavustaja ja Life-Coach" käyttäjän saavuttaa henkilökohtaisia maaleja ja tehdä elämäntapamuutoksia - joka on ainut keino tulla oikeasti terveeksi. App kehitettiin React Native teknologialla. Backendinä on Drupal 8, jonka tukena Google Firebase, sosiaalisen median rajapintoja nopeaan kirjautumiseen, sekä ulkoinen sähköpostipalvelu tehokkaaseen markkinointiin.

Projekti tehtiin käyttäen parhaita käytäntöjä ja työkaluja kuten Fastlane:a, jonka mahdollistaa julkaisun (release) tekemisen ja sen lataamisen molempiin kauppoihin minuuteissa - yhdellä komennolla. Lisäksi konfiguroimme optimoidun TIP Solutionsin hosting-pakan (stack) AWS CloudFrontin kanssa, jotta voidaan palvella käyttäjiä maailmanlaajuisesti nopealla data-liikenteellä. 

Hyödyt

Koska Drupal 8.7:ssa on JSON API ja REST-moduulit coressa, datan pyyntö (GET) ja lähettäminen (POST) sovelluksen ja backendin välillä ei voisi olla helpompaa. Lisäksi uuden rajapinnan luonti kestää noin kaksi minuuttia.

Autentikaatio ja datan salaus on tehty OAUTH -moduulilla (ja sen riippuvuuksilla), joka anonymisoi käyttäjän ( 

Authentication and data encryption is done with an OAUTH module and it's dependencies which even anonymize the user (yleinen tietosuoja-asetus, GDPR-vaatimus).

Coren oletus taksonomia,- entity reference,- ja node systeemit ovat tunnetusti erittäin laadukas työkalu data-arkkitehtuurin tekoon, jota voidaan käyttää hyväksi kuten normaaleissakin projekteissa. Lisäetuna käyttämällä Drupalia sisältöä voidaan luoda käyttäen WYSIWYG-editoria ja muita normaaleja sisällönluonti työkaluja, jonka jälkeen dataa voidaan käyttää Appissa. Käännökset ja monikielisyys on helppo rakentaa kuten aina.

Haasteet

Backendin rakentaminen vaati kuuden custom-moduulin rakentamista, joka vei noin kuukauden. Näitä olivat muun muassa sosiaalisen kirjautumisen ja käyttäjätilin luonti käyttäen Twitteriä ja Facebookkia. Drupal yhteisön push-notifikaatio moduulit eivät myöskään käynyt meille, mutta löysimme ilmaisen Firebase PHP -kirjaston, jota käyttäen loimme täydellisen notifikaatio-koneiston. Lisäksi tietoturvatoimet vaativat hieman lisätöitä, koska emme anna App-käyttäjien kirjautua sivustolle.

Yhteenveto

Ihmiset ovat kyselleet, että sopiiko Drupal 8 mobiilisovelluksen backendiksi?

Me olimme myös skeptisia asian suhteen ja emme olisi koskaan suositelleet Drupalin 7. versiota, mutta versio 8 on täysin eri järjestelmä. Yhteisön dokumentaatio mobiili-appin kehityksestä antaa esimakua.

Vastaus näyttää olevan "kyllä, se on erittäin sopiva" - jopa tehokkuuden ja nopeuden alueella. Yleinen luulo on, että "Drupal on hidas", mutta ihmiset eivät käsitä, että Drupal on vain PHP-koodia, joka käyttää tietokantaa ja on olemassa sovelluksia kuten Redis, joka tekee siitä erittäin nopean, jos sivusto on rakennnettu oikein.