React Native v/s Ionic
Nowadays, “Cross Platform” is the new jargon in the web development community. Businesses all over the globe has adopted it and 1Rivet is no exception. Cross platform framework solves major business problems such as reduced time to market, low development, and maintenance cost along with targeting devices of various view ports and platforms which helps the businesses to reach a wider user base.
With cross-platform frameworks, one gets the freedom to develop web as well as mobile applications with the knowledge Web Technology Stack. But with freedom comes responsibility, as selecting a cross-platform framework from the available ones is not a low hanging fruit, especially when the market is flooded with huge number of such frameworks.
Hence, we are here with an article that demonstrates our experience at 1Rivet in selecting and using cross-platform frameworks, especially Ionic and React Native.
Making decisions as to which framework suits the best for the business boils down to the business requirements, the targeted userbase and platforms, the expected UX across the different platforms, the available time to develop for the web and mobile application and the expertise of the development team.
The first scenario is when the UX requirements for web and the mobile were completely different, however the business requirements for both were quite similar. Due to this similarity, the client wanted us to come up with a frontend technology stack that respects the differences in UX for web and mobile platforms but allows the reuse of common pieces of code that contributes to the frontend logic of web and mobile. The use of common code would certainly reduce the budget as well as Time to Market. The team analyzed the cross-platform frameworks like React Native and Ionic, and found React Native to be the best match for the requirement as it allows the developers to create designs (UI/UX) for web and mobile separately, with a common codebase to share logic between them. Also, the POCs that were performed in 1Lab for React gave us additional confidence in the technology with respect to performance and also reduced the time to train the existing web development community of the organization. With React Native, front end logic such as authentication, authorization, utility functions, business calculations, actions and its reducers, middleware (API calls), the model and the validation logic were shared between the web and mobile app which contributed to around 40 % of the total codebase. Hence, React Native shines the most when the UX for across the platforms is different with similar business requirements.
The second scenario is where the business requirements were common across all the platforms, along with that the UX was approached from the mobile-first standpoint with negotiable differences between mobile and web. In this case we were challenged with identifying a cross-platform framework which could generate applications for web and mobile platform from a single codebase to reduce the development effort and reach out to a wider user base in a short span of time. The team came up with a decision that the Ionic framework is the best choice for this use case as it has same UX and business requirements for both mobile and web, and business did not predict heavy graphics dependency such as 3D gaming for the future releases. Also, the experience of 1Rivet in deploying production ready and performant Angular applications gave us an additional boost to leverage Ionic with Angular for this use case. One of the major concerns for the clients while using Ionic is the security vulnerabilities that it opens up for the application as it renders the application in a WebView controlled by Capacitor. However, 1Rivet strictly controls the applicability of security standards that enables the Ionic applications to comply with the security standards of OWASP MASVS, ISO:27001 and HIPAA.
Choosing the right cross-platform framework as per the UX and the business requirements is no more a no brainer as it requires deep analysis of requirements, the expected UX and a complete understanding of the framework itself. Moreover, a wrong decision early on regarding the choice of the framework might come back and bite the team as they might end up duplicating the code or deteriorate the user experience. This would mean that the business would have to spend more on maintenance of the application or might lose users attention to the application due to a deteriorated UX. Therefore, proposing a right framework during the design analysis phase matters the most and is what we have mastered at 1Rivet based on our past experiences on working with frameworks such as Ionic and React Native.