I picked up React Native as a web developer and here's what I've learned

Laura buns on June 09, 2019

For the last couple weeks, I've been building a React native app at work. It's a news reader (duh) and a bit of a monster at that, with filesystem ... [Read Full]
markdown guide
 

Nice write up!

Last time I tried RN was about 6-8 months ago, so I'm not sure what the state now is. What I found as downsides back then were the constant issues related to the build process. At some point I was spending more time fixing build problems than writing actual RN code. That was really frustrating. Things were especially bad when upgrading RN from one version to another. Is this still the case?

 
 

Did you read that long article from Airbnb explaining why they abandoned React Native? Didn't understand it fully but it kind of put me off...medium.com/airbnb-engineering/suns...

 

TL;DR: If you're as big as Airbnb, you'll have Airbnb sized problems - infrastructure, team structure, and team integration. >95% of business's created on the RN platform will not experience those issues.

 

Facebook is an exception. Sure they are a huge company, but they created RN and it will always cater to how they use it. The last time I checked they only used RN for the Marketplace section of the Facebook app. They even aren't committed to for everything.

I'm not saying big business's can't use RN, they absolutely can. When choosing a technology, it always comes down to what's best for the job. In Airbnb's case, it turned out not to be the right choice.

I can totally understand your point of view, and this is the first time I knew only marketplace uses RN...

Quite shocking that RN is not facebook's "own dog food" 😨

It's really not, unless their new FB app is completely RN. We'll have to wait and see! I have heard they use RN extensively for internal tools as well.

 

For svg's checkout SVGR which makes it easy to go from a folder of svgs to a folder of react components in one simple swoop with this command "icons": "svgr --native -d ./components/Icons ./import-icons",

Thanks for the write up, was super interesting to read

 
 

I am so confused. What do you mean you can't "float" anything, or cascade? By using the "absolute" in a view and setting the offsets you can put any window anywhere Even build your own custom control. also while you can use flex and it's really easy to learn how to do it but you should learn it separate from react native you don't need to rely on it. Just take the height and width of your device and do the layout yourself it's so much more rewarding and you have so much more control. Modal's exact positioning of any w
View is trivial with react native!!!

 

Awesome article Laura, thank you! I've messed around with React Native a bit as well and greatly enjoyed the developer experience. Have you tried any other hybrid solutions like Google's Flutter and the Ionic framework?

 

This was a really well written article IMHO. I just started playing around with RN recently and was amazed how fast I could get an app running on my Android with Expo. I am a bit worried about CI/CD process but I'll be experimenting with that using Azure DevOps (I come from a .NET background) and/or mobile.azure.com.

 

Hybrid apps are cost-effective solutions since one-time development is compatible with multiple platforms. YOu can get the more info through "Native and Hybrid Mobile Application Development"

 

I disagree. This is far from cost-effective if you go beyond the simple "build a simple app" as the article is about. The costs (= time spent) skyrocket when you have to include CI/CD, and real debugging (starting with, say, breakpoints), and not talking about the always-present last tiny bits of things you have to do specifically for each platform (Info.plist, Build Settings, build.graddle...).

The "one-time development" promise is a false-promise to me. The promise is valid for some code. But you need a LOT more to make a real production app.

 

I agree, React Native is beautiful!

You might want to check out React Native Debugger, really handy for layout debugging.

 

Although I've read about React Native, and read through some source code, I never really 'got' it. But this article has definitely put me on the path to 'getting' it! I suppose one day I'll have to fire up a native app now.

A lot of the questions I had about RN have been answered as well as questions I didn't even know I had 😊

 

Hi
Great Read!! Uno question,is it possible To build ipa file in react native without dev account?

 
 

I really enjoyed this article. You have a great tone and are a skilled writer. Thanks for taking the time to write it out for all of us to see!

 
code of conduct - report abuse