The StrapMobile team’s open source framework is called NativeBase. With the help of this framework, developers may create React Native iOS and Android apps that incorporate ES6. NativeBase creates a layer on top of React Native that gives you access to a foundational set of components for creating mobile applications. There are no compromises made in the User Experience of the applications because the applications’ stack of components is constructed using native UI components. NativeBase focuses specifically on the UI interactivity and visual appeal of your app. Without a doubt, NativeBase works well with mobile applications and significantly reduces the size of the front end of your project.
Quick links to NativeBase
Applications for react native are created using Expo. It gives you access to a number of tools that make creating and testing React Native apps easier, as well as the user interface and service components that are typically found in third-party native React Native components. All of them are available in the Expo SDK.
Expo is used to build Enatega. Without you touching Xcode or Android Studio, it is powered by Expo SDK to provide you access to your device’s capabilities and the Expo services to handle the labor-intensive task of generating your app binary and submitting it to the store. The “bare” methodology gives you complete control over your iOS and Android projects while simultaneously accelerating development with the Expo SDK and React Native.
In React Native apps, routing and navigation are handled by React Navigation. Some Navigator components are shared with Enatega.
- Drawer Navigator: When a user swipes from left to right or taps the drawer icon, it creates a drawer.
- Stack Navigator: With Stack Navigator, just one screen is displayed at a time and screens are stacked on top of one another.
- Switch Navigator: The authentication process inside the program is handled by Switch Navigator. Enatega does not currently do any authentication; nonetheless, all routing related to authentication is made using this
Modern apps are unsuited for REST architecture, hence GraphQL serves as a replacement. The point-to-point structure of REST, a procedural API protocol, makes it necessary for service providers and users to plan out each use case in advance. Development is noticeably slowed down when frontend teams must continually ask backend teams for new endpoints, frequently with each new screen in an app. Both teams must work separately and quickly.
While Redux is typically used for application level state management, we used Apollo’s built-in state management in our app. Redux’s flaw is an excessive amount of boilerplate code that bloats the code and requires a steep learning curve for new users. We have leveraged its built-in State management capabilities given by the Apollo Client as we are already utilizing Apollo as a replacement for REST without needing any third-party state management libraries. Our medium-sized application integrates seamlessly with it.