DEV Community

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

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 ...
Collapse
 
petarov profile image
Petar G. Petrov

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?

Collapse
 
t4rzsan profile image
Jakob Christensen

This πŸ‘†πŸ™„

Collapse
 
zzjames profile image
James Smith

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...

Collapse
 
nshoes profile image
Nate Shoemaker

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.

Collapse
 
yaser profile image
Yaser Al-Najjar

Facebook size?

Thread Thread
 
nshoes profile image
Nate Shoemaker • Edited

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.

Thread Thread
 
yaser profile image
Yaser Al-Najjar

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" 😨

Thread Thread
 
nshoes profile image
Nate Shoemaker

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.

Collapse
 
stefkors profile image
Stef Kors • Edited

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

Collapse
 
arthurwhenry profile image
ArthurWHenry • Edited

This was a great read. Thanks for taking the time to write his up!

I am currently working on a mobile app for a software development class and felt a bit lost and this post definitely makes me feel a lot better on approaching react without being too scared because I was. I'm so used to building apps on the web it started to feel like uncharted territory when I couldn't use <div> or just add some text without using <Text></Text>.

Collapse
 
simonlegg profile image
Simon

Nice! How do you get it to stop telling you to cancel all your subscriptions??

Collapse
 
walaura profile image
Laura buns

im confused what

Collapse
 
simonlegg profile image
Simon
Collapse
 
bmuthoga profile image
andela-bm

I agree, React Native is beautiful!

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

Collapse
 
ryanelfman profile image
Ryan Elfman

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.

Collapse
 
ardennl profile image
Arden de Raaij

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?

Collapse
 
millan123ta profile image
millan123ta

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"

Collapse
 
onekiloparsec profile image
CΓ©dric Foellmi

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.

Collapse
 
healeycodes profile image
Andrew Healey

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 😊

Collapse
 
cyphire profile image
Brian B. Canin

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!!!

Collapse
 
devkingos profile image
Devkingos

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

Collapse
 
leraatwater profile image
Lera Atwater

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!

Collapse
 
ogaston profile image
Omar Gaston Chalas

React Native is the reason why i learned react. :)

Collapse
 
ungive profile image
Jonas • Edited

I love your humor and energy!

Collapse
 
psyxman profile image
The Man

Nice read!Thank you so much for sharing your experience on RN.Personally,I feel like RN is much more easier if you come from React,this post has left me smiling.