paint-brush
To go (or not to go) React Native wayby@purrweb
1,694 reads
1,694 reads

To go (or not to go) React Native way

by Purrweb.comNovember 16th, 2018
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Instead, just strong and weak sides of that JavaScript framework (as any other technology has) and certain use cases to consider. And we are here to tell you about that:)

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - To go (or not to go) React Native way
Purrweb.com HackerNoon profile picture

You won’t find here anything about how cool guys like Facebook, Netflix, and Airbnb benefited from React Native.

Instead, just strong and weak sides of that JavaScript framework (as any other technology has) and certain use cases to consider. And we are here to tell you about that:)

Purrweb builds stable products and MVPs to let business enthusiasts validate ideas. To get started, go write us at [email protected]!

Perks

One shared codebase. Actually, with React Native you’re building two separate app versions (IOS and Android). Yes, the two app versions that share 65–70% of JavaScript code. The same codebase gives you easier maintenance and fewer bugs to worry about (because the total amount of code is almost twice less). It saves extra days and weeks you that could spend on new functionality.

Damn close to native performance. Unlike other cross-platform options, like Cordova, Ionic or Titanium that emulate browser app (it’s like having a simulated responsive web app in app market), React Native runs native APIs. There are no tap and scrolling issues, and UI feels like a native app, not browser based.

So, Swipe in React Native would be completely the same as if you had implemented it in Swift or Java — Source

There are tons of other UI-tool kits and libraries that help you handle performance challenges during the development stages just like in any other mature framework. And as always, you’ll only have to make sure that the library bundles you’re gonna use are frequently updated + don’t forget to study the backlog of existing issues for them.

Quick talent search. There’s no need to waste the whole weekend sitting in front of a laptop and searching for Swift and Java gurus. Simply find a sucker for JavaScript (it’s not a big issue when dealing with the most popular language) and there you go. Finding one who knows React will be already great. Just ensure you know how to choose ‘the good’ ones from the candidate list.

Huge community. It’s all about developers’ happiness. When a developer cannot handle bugs through googling, the community comes to help. It means that anyone may open an issue on Github — and some magic happens — there’s a ready-to-use solution from someone who’s already faced the same problem before. The happier the devs are, the e̶a̶s̶i̶e̶r̶ ̶y̶o̶u̶r̶ ̶l̶i̶f̶e̶ ̶i̶s̶ smoother the project development goes.

That’s all fine and dandy, if focusing solely on superpowers, we would be like door-to-door salesmen. Salesmen who sell shit and try to convince you it’s sweet.

You’d better off see things from all angles. React Native is in no way perfect

Hi there! Wanna find the best app-building tool?

Gotchas

Immature framework. It’s not version 1.0.0 yet, so there are plenty of missing components and constant updates. For a developer, it means spending much time and efforts to find already-made solutions and incorporate new releases. As for custom stuff (super unique features), he would have to build them on his own and might need Swift and Java experience.

Works poorly with complex animations. Here a dev most likely needs to dig into the native code. Doubt that for MVPs it’s the main concern though.

Not made for 3D games. Or something that requires physics and heavy graphics, so here you would also have to rely on native mobile app devs.

So, what’s the verdict, guys?

The choice actually depends on the specifics of your future app. To summarize the above, you can opt for React Native when:

You need an MVP. Say, you wanna start out with just a fancy prototype that lets you test the concept for both platforms and collect initial feedback. For cheap and as quick as possible.

You need a social app. The framework is suitable for features like camera access, fingerprint, geolocation, and maps.

There’s nothing about animation-intensive apps. I mean that React Native isn’t the smartest option in this case. It gives you the ability to implement nice UX animations, but when it comes to some outrage things like the animation for zoom in/out of 10000 objects on a single screen, you’d better stick to truly native way. On the other hand, if your app has only UX interactions and transitions between screens — this framework is a solid option.

If we didn’t cover your pain about React Native, feel free to contact Sergey, our COO, to discuss your new app idea and find out together if this framework suits well.


Sergey Nikonenko — Chief Operations Officer — PurrWeb | LinkedIn_View Sergey Nikonenko’s profile on LinkedIn, the world’s largest professional community. Sergey has 1 job listed on…_www.linkedin.com

Go follow Purrweb on Instagram | Like us on Facebook or Twitter

Hugs and meows ♥