In dit technische blog leggen we je alles uit over de functionaliteit en gereedschap van onze mobiele app: FieldBuddy Swift.
Functionaliteit
FieldBuddy Swift is een complete offline-first field service app. Het bevat een agenda met werkopdrachten die gesynchroniseerd worden met de backend wanneer iets aan de gegevens wordt veranderd.
Onze eindgebruikers zijn ingenieurs of monteurs die automatisch afspraken ophalen uit de backend en klanten bezoeken om een bepaalde opdracht uit te voeren. Dat kan regulier onderhoud zijn, of een reparatie- of installatie-opdracht. Ze gebruiken mobiele navigatie en zodra hun werk gedaan is, tekent de klant af met behulp van een signature pad. Een soepel proces, dat helemaal via de smartphone verloopt.
Workflow
Goed gereedschap is essentieel. Gelukkig zijn er tegenwoordig geweldige open-source tools die je dagelijks kunt gebruiken. Daarin zijn we niet zo origineel: wij gebruiken de tools die de meeste ontwikkelaars het liefst gebruiken. Dit zijn:
- Visual Studio Codeof Sublime als onze IDE
- gitom onze source control te beheren
- Package management wordt gedaan met zowel npm als yarn (maar zoals veel anderen zeggen: we zijn wel gek op yarn).
- Expo Client en Expo XDE voor debugging
- iOS Simulator en Xamarin Android Player
- Google Chrome DevToolsvoor debugging
- Sketch voor UI design
Grote open source bibliotheken
De technology stack van React Native is indrukwekkend, net zoals die van ons. We zijn voortdurend aan het uitbreiden en waar nodig aan het aanpassen, waardoor wij meer ervaring opdoen. Er zijn echter een paar bibliotheken die net als de Expo SDK de hoekstenen van FieldBuddy Swift zijn geworden. Deze bibliotheken richten zich op twee kerngebieden van de React Native applicatie: state management en navigatie. We hebben gekozen voor MobX als de state management oplossing omdat het simpel van opzet, maar toch compleet is, en gemakkelijker te implementeren dan bestaande redux bibliotheken.
We hadden meer problemen met de navigatie. Dat is eigenlijk een van de grootste verrassingen voor een ontwikkelaar die begint te werken met React Native: de navigatie is een aandachtspunt. In tegenstelling tot websites is er bij mobiele apps niet één standaardmanier om tussen schermen te wisselen. Ook als je iOS en Android met elkaar vergelijkt, kun je grote verschillen zien in de manier waarop deze platforms hiermee omgaan. Daarom ontkom je er niet aan, als je met je eerste React Native app begint, om een keuze te maken tussen een paar grote navigatiebibliotheken (of je kunt er zelf nog een bijbouwen). Dus de beslissing die je op dat moment maakt is cruciaal voor je app. Zo’n keuze kan moeilijk of zelfs onmogelijk zijn als je nog maar net komt kijken. In dat geval kun je het beste de mainstream volgen. We hebben een paar mogelijkheden uitgeprobeerd en hebben uiteindelijk gekozen wat ons het meeste mainstream leek: react navigatie. Dat is gemakkelijk te configureren, intuïtief en wordt regelmatig geüpdatet.
Heb jij vragen over de functionaliteit of gereedschap van FieldBuddy Swift? Neem gerust contact met ons op!
>> Lees: Greg vertelt het verhaal achter FieldBuddy Swift – Technische blog 1
>> Lees: User Interface van FieldBuddy Swift – Technische blog 3