Fieldbuddy in 2 minutes
+31(0)20-2611100 Request a demo

Free demo

Experience ultimate comfort

Complete the form below to request a free demo. We will contact you as soon as possible to make an appointment.

Request a quote

Let our endless possibilities surprise you

Fill in the form below to request a quote.

Return to blog overview

User Interface FieldBuddy Swift – Technical blog 3

Other libraries

Another essential decision to make is a UI toolkit. Unfortunately there are not many UI toolkit there in the React Native world yet. One of the most complete set of components is NativeBase. We decided to use it for our development because it seemed to consist of any basic component that we might need. Recently however we found ourselves moving more often towards other options. None of them is as rich and complete as NativeBase but they are very solid alternatives. One example is react-native-elements (Elements) that offers a relatively small number of high quality components but they’re very good and predictable. Other libraries are rather very specialized and focus on doing one thing good, eg. react-native-scrollable-tab-view and react-native-action-button.

Neither NativeBase, nor Elements offers a good calendar or agenda component. And since the FieldBuddy Swift app is at the end of the day all about appointments, that was a serious headache for our team. Eventually, we found one of the most spectacular React Native library  called react-native-calendars that turns out to be highly customizable

There are other libraries of an amazing quality and flexibility. For animation purposes, we use two great libraries: react-native-animatable and lottie, and thanks to react-native-svg we’re able to offer Signature Pad feature. Map is displayed and customized with react-native-maps library. We search our components on native.directory. They must support both Android and iOS, and be compatible with Expo. FieldBuddy Swift relies on a number of common libraries: lodash, ramda, numbro and moment. We code using modern JavaScript with a static type checker flow. Our unit tests run with jest. We don’t do enough with enzyme yet but it is on our roadmap. Sentry and logentries serve as error-handling and logging services. And there are more and more libraries. Most of the libraries improve their quality every with every single release and so is FieldBuddy Swift.

Future

React Native and Expo grow quickly yet safely, they are more mature and powerful every month. More features that were available only for the native apps become now a part of React Native experience. That’s why working with React Native and Expo is so exciting. Our small team learns a lot within a very short period of time working the latest cutting-edge technology. So we’ve got a feeling that the journey is just beginning although our roadmap is full for coming months. Many features will be implemented soon. Primary focus on smartphone will be now extended also on tablets. We’d like to improved the quality and testability of UI components.

***

This posts opens hopefully a series of articles where we’re going to present our React Native development journey.

>> Read: Greg explains FieldBuddy Swift – Technical blog 1

>> Read: Greg explains FieldBuddy Swift – Technical blog 2