In deze technische blog leggen we alles uit over de User Interface van FieldBuddy Swift.
Andere bibliotheken
Een andere essentiële keuze die gemaakt moest worden is de UI toolkit. Helaas zijn er in de wereld van React Native nog niet zo veel UI toolkits beschikbaar. Een van de meest complete set componenten is NativeBase. We hebben voor deze kit gekozen, omdat volgens ons alle basiscomponenten bevat die wij nodig zouden kunnen hebben. We merkten de laatste tijd echter dat we steeds vaker rondkeken naar andere mogelijkheden. Niet een daarvan is zo rijk en compleet als NativeBase, maar er zijn zeer degelijke alternatieven. Een voorbeeld is react-native-elements (Elements). Dit biedt een relatief klein aantal hoogwaardige componenten, die erg goed en intuïtief zijn. Andere bibliotheken zijn vrij specialistisch en richten zich hoofdzakelijk op het goed uitvoeren van één ding, bijv. react-native-scrollable-tab-view en react-native-action-button.
NativeBase en Elements bieden geen van beide een goede agenda of agendacomponent. En aangezien FieldBuddy Swift app uiteindelijk helemaal om afspraken draait, was dat een hoofdbreker voor ons team. Uiteindelijk vonden we een fantastische React Native library, genaamd react-native-calendars, die zeer customizable blijkt te zijn.
Er zijn meer bibliotheken die van hoge kwaliteit en zeer flexibel zijn. Voor animaties gebruiken we twee geweldige bibliotheken: react-native-animatable en lottie, en dankzij react-native-svg kunnen we de Signature Pad functie bieden. Kaarten worden weergegeven en naar wens aangepast met de react-native-maps bibliotheek. We zoeken onze componenten op native.directory. Ze moeten zowel Android als iOS ondersteunen en compatibel zijn met Expo. FieldBuddy Swift baseert zich op een aantal gangbare bibliotheken: lodash, ramda, numbro en moment. We coderen met modern JavaScript met een statisch type checker flow. Ons team is aan het testen met jest. We zouden meer willen doen met enzyme, dat staat op onze agenda. Sentry en logentries worden gebruikt als error-handling en log services. Er komen steeds meer bibliotheken en de meeste bibliotheken worden beter bij elke release. Hetzelfde geldt voor FieldBuddy Swift.
Toekomst
React Native en Expo groeien snel maar toch veilig, ze zijn elke maand verder uitgerijpt en krachtiger. Steeds meer functies die aanvankelijk alleen voor native apps beschikbaar waren, worden nu onderdeel van React Native ervaring. Daarom is het zo fantastisch om met React Native en Expo te werken. Doordat wij met deze allernieuwste technologie werken, leert ons kleine team in zeer korte tijd zeer veel bij. We hebben dan ook het gevoel dat we aan het begin van een grote reis staan en het traject voor de komende maanden is al gepland. Veel functionaliteit zal binnenkort worden geïmplementeerd. Onze focus op smartphones zal worden uitgebreid tot tablets. We willen de kwaliteit en testbaarheid van UI componenten verbeteren.
Vragen over de user interface van FieldBuddy Swift? Neem gerust contact met ons op!
>> Lees: Greg vertelt het verhaal achter FieldBuddy Swift – Technische blog 1
>> Lees: Functionaliteit en gereedschap van FieldBuddy Swift – Technische blog 2