My Experience Publishing a React Native App as an iOS Developer
Publishing a React Native App
I started my journey as an iOS developer through a bootcamp. The reason I ended up publishing an app using React Native was that iOS development felt like a somewhat closed ecosystem—you only build iOS apps using Xcode within the Apple environment. Focusing solely on iOS made me feel a bit trapped over time.
Whether I end up getting a full-time job or working as a freelancer, I realized that for the long term, I need to expand my skill set beyond just iOS. While focusing on iOS is great, I felt there was no reason to distance myself from Android.
I am also someone with a lot of interest in other development areas. I’d love to challenge myself with web development someday, though it might be tough right now. As these thoughts built up, I developed a strong desire to publish an Android app alongside my iOS ones, which ultimately led me to build an app with React Native.
Why React Native?
You might ask, "If you wanted to build an Android app, why did it have to be React Native?" For instance, I could have used Kotlin for native Android development, or even Flutter, another cross-platform framework.
The reason I chose React Native despite those options was that I had briefly learned HTML, CSS, and JavaScript in the past. As an extension of that, getting into React felt natural, and using React Native seemed to have a much lower barrier to entry for me.
What I Learned Building with React Native
I experienced several pros and cons while actually publishing iOS and Android apps with React Native.
Frequent Bugs and Errors
Compared to native iOS development, I encountered bugs much more frequently in React Native, and the process of tracking down errors felt somewhat lacking. I also struggled with debugging because I wasn't used to it. While this might partly be due to my own lack of experience, I still felt that the debugging tools and workflows weren't as refined as those in a native development environment.
UI/UX Inconsistencies
For example, when I placed an 'X' close button in the top-left corner, it appeared exactly where I wanted it on iOS. But on Android, the button would shift slightly up or down, making it look awkward, or sometimes it would even bleed off the screen. I had this illusion that building a cross-platform app with React Native meant one single codebase would magically support both platforms perfectly. In reality, there were frequent issues where the position or style subtly differed across platforms, and having to manually tweak them for each OS was quite a hassle.
Double the Work for Launch Preparation
When it was time to release the app, I had to prepare separate assets like app icons and screenshots tailored specifically for iOS and Android. This meant doing the exact same work twice.
Conclusion
Before building an app with React Native, I had this vague expectation that "you can build an app for two platforms with just one codebase." Now I realize that this is only partially true.
React Native is definitely an appealing tool with the massive advantage of being cross-platform. However, in actual development, I faced very real barriers: subtle platform differences, frequent bugs, and debugging difficulties.
Nevertheless, broadening my horizons beyond just iOS development and the sheer experience of successfully launching an app on both platforms made this entire journey incredibly meaningful to me.
Publishing a React Native App I started my journey as an iOS developer through a bootcamp. The reason I ended up publishing an app using React Native was that iOS development felt like a somewhat closed ecosystem—you only build iOS apps using Xcode within the Apple environment. Focusing solely on iOS made me feel a bit trapped over time.
Whether I end up getting a full-time job or working as a freelancer, I realized that for the long term, I need to expand my skill set beyond just iOS. While focusing on iOS is great, I felt there was no reason to distance myself from Android.
I am also someone with a lot of interest in other development areas. I’d love to challenge myself with web development someday, though it might be tough right now. As these thoughts built up, I developed a strong desire to publish an Android app alongside my iOS ones, which ultimately led me to build an app with React Native.
Why React Native? You might ask, "If you wanted to build an Android app, why did it have to be React Native?" For instance, I could have used Kotlin for native Android development, or even Flutter, another cross-platform framework.
The reason I chose React Native despite those options was that I had briefly learned HTML, CSS, and JavaScript in the past. As an extension of that, getting into React felt natural, and using React Native seemed to have a much lower barrier to entry for me.
What I Learned Building with React Native I experienced several pros and cons while actually publishing iOS and Android apps with React Native.
Frequent Bugs and Errors Compared to native iOS development, I encountered bugs much more frequently in React Native, and the process of tracking down errors felt somewhat lacking. I also struggled with debugging because I wasn't used to it. While this might partly be due to my own lack of experience, I still felt that the debugging tools and workflows weren't as refined as those in a native development environment.
UI/UX Inconsistencies For example, when I placed an 'X' close button in the top-left corner, it appeared exactly where I wanted it on iOS. But on Android, the button would shift slightly up or down, making it look awkward, or sometimes it would even bleed off the screen. I had this illusion that building a cross-platform app with React Native meant one single codebase would magically support both platforms perfectly. In reality, there were frequent issues where the position or style subtly differed across platforms, and having to manually tweak them for each OS was quite a hassle.
Double the Work for Launch Preparation When it was time to release the app, I had to prepare separate assets like app icons and screenshots tailored specifically for iOS and Android. This meant doing the exact same work twice.
Conclusion Before building an app with React Native, I had this vague expectation that "you can build an app for two platforms with just one codebase." Now I realize that this is only partially true.
React Native is definitely an appealing tool with the massive advantage of being cross-platform. However, in actual development, I faced very real barriers: subtle platform differences, frequent bugs, and debugging difficulties.
Nevertheless, broadening my horizons beyond just iOS development and the sheer experience of successfully launching an app on both platforms made this entire journey incredibly meaningful to me.
댓글
댓글 쓰기