Is React Native really flexible? Unexpected ending đź’¦
As mentioned in the previous article, I had the opportunity to work on a project with React Native.
It was my first experience with this popular technology. Previously, I had worked with Java, Flutter, and had some exposure to Xamarin and Jetpack Compose.
Also you can read:
I knew that React Native was based on React.js for developing applications for Android and iOS. Therefore, it relied on web technologies, using HTML, CSS, and JavaScript, with TypeScript being the newest option.
Also you can read
When starting the project, I thought I would have many advantages, as these languages have been around for years, and I was confident I could solve any problem.
One of the requirements for the project was for the application to be a PWA (Progressive Web App). With my 5 years of experience in native development, I had to delve into the concept of what PWAs are and how to create them, their advantages and disadvantages. And I was pleasantly surprised by React Native in this regard.
Also read the article of Julian Neagu
The big surprise I found with React Native is that I can develop applications for iOS and Android in three different ways.
- Using native components
- Developing as PWA local page app, “write or rendering html”
- Developing as PWA remote app, “embeding a website”
It’s the first time in my professional experience that a technology like React Native offers such possibilities. Creating a Progressive Web App (PWA) opens up a window of opportunities and is easy to implement, as in the case of directly using web libraries like Three.js or Matter.js.
As an application developer, I had a good experience with React Native, although I can’t ignore the disadvantages, such as the fact that project building can be slower. Despite having features like hot reload. The size of an application in React Native can be larger compared to one developed natively.
Similar to the impressive versatility of water, React Native also adapts to different approaches to mobile application development and can streamline the process for those who already have a solid understanding of web development, such as Node.js, HTML, CSS, and JavaScript.