I often asked myself why developing apps for either iOS or Android had to be so different throughout my time at Algonquin College. It was no secret that I was much better at using Javascript, HTML, and CSS instead of OOP (Object Oriented Programming) or Swift. Then in the third term, we were introduced to React Native. React Native allows a developer to create one application and deploy it to both the Google Play Store and App Store, as long as they followed each store's respective rules and guidelines.
So, is native app programming dead? To answer this question, let's list some pros and cons for both. Interestingly, the pros for one language are the con of another and vice versa.
Pro: Native Development (Android Studio and Swift)
Con: React Native (or similar programming languages)
1. Control
While React Native allows you to create custom code for both platforms, it can become quite tedious as the same element on one platform and behave completely different on the other. Trying to pinpoint each one of those differences and coding them differently in different folders can create confusion. In some cases, it might be easier to develop them separately to keep a smooth workflow.
2. Features
When coding for a platform natively, developers can take full advantage of a phone's technology and features. In many cases, platforms and devices vary in this respect.
Con: Native Development (Android Studio and Swift)
Pro: React Native (or similar programming languages)
4. Following Different Guidelines
The biggest struggle of developing an app is following platform guidelines. When coding in React Native, you can keep all the same back-end of an app and change the front-end design to accommodate guidelines. Instead of having two sets of code like with Native development.
5. Different Experiences for Users
Often overlooked is the hassle of explaining to an elderly relative how to use an app over the phone. Throw in different UX designs, and it gets worst. When developing with React Native, you can code to follow iOS standards and still deploy to the Google Play Store. Perhaps this is intentional to create user envy and drive conversion, but all in all, it's sometimes annoying.
6. Developing Two Versions
I know that I am starting to sound like a broken record. Still, the natural appeal to using React Native or similar program languages is that these languages attempt to take away the hassle of developing an application twice. By having a single source code, developers can release new versions promptly and consistently.
Verdict
All in all, both programming languages have their appeal. I prefer React Native for both front-end and back-end development and only run into trouble when an android device decides to render my design differently. With that said, you have to find what works best for you and your project.
Top comments (0)