A Business Canvas for Social Businesses

We recently faced a problem that is getting a lot of air time at the moment. How can we balance social good with a commercial outcome, and how do we map the path to a sustainable future? We found a…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Why learn native development in the age of React Native?

I recently saw this question on Quora, and realized that it is quite an important one to ask:

I am particularly able to answer this question because I first learned native iOS development, and then React Native so that I could publish an app on the Google Play store. Thus, I am well aware of the advantages that I have from my experience with iOS development, as well as the limitations that I currently face from my lack of experience with native Android development.

With that consideration, I answered with the following:

Two reasons: customization and optimization.

If you need to add a new feature and there isn’t already a React element made for it… you can just write it yourself! If you have never used XCode and developed iOS apps with swift, then you’re limited to only using React elements that other iOS developers have created.

Another key reason is optimization. There are some instances when using React native will result in less-than-optimal performance. For example, I made an app where I wanted to load locally stored documents and display them on the screen. With RN by itself, it was obnoxious to dynamically load local files, and the rendering took a bit longer than I wanted. When I went in and wrote it with Swift and native iOS elements, it was speedy and the code was a lot simpler.

There are certain things that either can’t be done yet with React Native, or at least can’t be done well without some custom (swift) code. If you are familiar with iOS development, it’s no problem. You just make it yourself. If you aren’t familiar with it, then you kind of hit a dead end.

Hope this helps.

After answering this question however, I am faced by a critical question:

Based on my response about the importance of learning iOS development, it seems like the obvious answer is yes. Based on the abilities that my knowledge of iOS development has brought me, it seems only natural that I would want to spend some time with Android development in order to have the same abilities with the Android versions of my apps.

So far, my experience has allowed me to get by without significant knowledge of Android development (besides of course knowing understanding Java). If I decide to create more apps for Android in the future, it will likely be worth it to have some background knowledge of native Android development for the sake of optimization and customization that I mentioned earlier.

This raises another interesting question however:

Traditionally, one would learn native Android development simply by building gradually more complex Android apps natively (rather than with RN), and using all of the tools and skills they learn along the way.

After being familiar with native iOS development and React Native however, this method of learning may be less practical. It may make more sense to simply learn about the native aspects of Android relevant to each of my React Native projects, and gradually build my Android knowledge and experience that way.

That should be a faster and more effective way of learning, and one that will allow me to continue being productive with my already learned React Native skills as I develop my native Android skills.

Even in the days of React Native, learning native iOS and Android development still has the advantages of customizability and optimizability.

That doesn’t mean however, that you should drop your React Native projects to go work on purely native apps. Rather, it is more effective to simply learn the relevant aspects of native development as you go about your work with React Native.

Thanks for reading.

Add a comment

Related posts:

How to Run a 5k Under 20 Minutes

To achieve any fitness goal, especially one as tough as running a 5k under 20 minutes, you must first break it down into digestible chunks. Say you want to lose 50 pounds. Telling yourself, “Ok. Time…

EXPERIENCE WHILE COLLECTING FUNDS FOR EDHI FOUNDATION

Donating funds is an act of generosity and care. This encourages the people to help others in the hour of need. We used to think that the process of collecting funds was an easy task until we started…

The anxiety of designing

Living with anxiety is being afraid of things that most people won’t even stop to think about. For me, it means that I am constantly afraid of making decisions. Should I have salad or pizza for…