A React Native app is a real mobile app
With React Native, you don't build a “mobile web app”, an “HTML5 app”, or a “hybrid app”. You build a real mobile app that's indistinguishable from an app built using Objective-C or Java. React Native uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React.
9 reasons why programmers should learn react native
1. 9 Reasons why programmers
should learn React Native
Reactsharing.com
2. React Native is the future of modern app development.
By 2015, React Native was released on iOS and Android platforms.
At present, I think it is the most successful alternative technology
for mobile development. Day by day, it has a lot of developers use
React Native in the world and React Native community are
becoming stronger than ever. In this article we will let you know why
we should use React Native.
3. 1. Is React Native ‘Native’?
As you probably guessed from the name itself, React Native lets
you build native applications. Cordova and other types of
framework, like Sencha Touch or Ionic, are hybrid solutions, and
with them, you will never achieve the look and feel of a native
app.
4. It’s the little things that matter: fluent or accelerated scrolling,
transitions between screens, totally custom animations, custom
navigation, and so on. If you ever worked with React on the web,
you’re in for a treat because you’ll feel right at home. Even though
you are writing JavaScript, you’re not using the web view to render
components. React Native renders real native components, and
you can use platform-specific components, like the activity
indicator, that will give every platform a recognizable look and feel.
The main problem with hybrid technology previously was that the
embedded browser just didn’t work well enough. It wasn’t
optimized, and it provided poor performance. From a technology
standpoint, the biggest competitor for RN is Xamarin, which lets
you develop apps for lots of platforms: Mac, Windows, iOS,
Android, Windows Phone, you name it. Native Script also works in
the same way. Xamarin, for example, is great because it has neat
IDE (VS), but you have to use C#. Since you’re a web developer,
you probably don’t know C# that well, and you’re likely more
familiar with JavaScript. React Native works similar to JavaScript
since you’re writing code with JS itself (you can also use
Angular.js, for instance). Furthermore, JS was astonishingly
upgraded with standards like ES6 and ES7. That’s not to mention
how big and powerful the JS community is.
6. Users spend 18x more time in native apps than on mobile web.
Most products have to cover at least web, iOS and Android
platforms to be successful today. This usually means tripling
the costs of software development as you develop and
maintain each platform separately. In such diverse
environment, it can be really tricky to provide a consistent
experience for your users. Hybrid apps might seem to be a
solution. There is a lower barrier to entry, you can reuse your
code amongst all platforms and it is much easier to maintain
consistency with a single cross-platform team. Unfortunately
hybrid apps often don’t deliver a high quality user experience.
And angering your users is risky business, because mobile
users are unforgiving, which Facebook has learned the hard
way. React Native makes a real difference. You can create
truly native apps with JavaScript and other tools you know from
the web. React Native supports hot reloading, and tools like
Reploy and CodePush can instantly deliver your app to
customers and testers. Wondering about code reuse between
platforms? Facebook shares 87% of the Groups app codebase
between their Android and iOS platform.
8. That’s always a good thing, right? It’s also one of React
Native’s greatest strengths. It’s readable like a children’s
book, so you can just glance at it. With other frameworks,
you are usually forced to learn a long list of concepts.
Over time, Facebook significantly improved their official
React Native documentation. Recently, they added
the basics section, which is a really neat, clever way to
learn RN because it explains everything you need to know
in a straightforward crash course. If you know JavaScript,
you’re in luck. React Native uses ES6. Still not familiar
with ES6? Here’s a tutorial explaining some ES6
specifics that will make your JavaScript development a lot
easier. It uses JSX, which is basically like HTML. Styles
are very similar to CSS, but they are written within
components and not in a separate single file. There are
pros and cons to that approach, and many articles have
been written about it. So really, everything you need to
know is React. React is easy. Imagine a div component
named “View” and another text component simply named
“Text.” This is essentially the connection between React
Native and React.js.
9.
10. Styling is very similar to CSS, except it’s included with the
component itself and not in a separate file.
11. 4. You can update your applications remotely.
Facebook says that the glitches in the publishing process of
Native applications have forced them to develop React Native.
Let’s think. You want to add a new property to your application.
You’ve added this feature on both Android and iOS and you
need to update your applications already on the market. One
of the problems here is that you can instantly publish your
Android app on Google Play while you’ll be under the control
of AppStore. This means that the features you develop are
published at different times on different platforms.
Especially in A / B testing, we can experience difficulties
because data on different platforms arrive at different times. As
a workaround, you need to send iOS before. In this case,
development processes can lead to various troubles such as
the same features of Android and iOS being developed at
different times. Of course this is not the only problem. Beyond
publishing, the update we publish is not always available to the
user. Many users can resist downloading the new update.
This, in turn, leads to a lot of additional work, from API
versioning to force update.
12. We allow our users to download the JavaScript bundle. This
allows the user to load the latest version automatically (often
without annoying the user) when the application is turned on. This
means that many of the problems we mentioned earlier are
resolved automatically.
The first question that may come to mind here is what will happen
to the changes in the Native codes? Naturally, we can not use the
remote update feature for changes we made on the Native side.
So, when we change an ObjC code (or Java, Swift vs…), we need
to publish it in the market because it needs to be compiled. We
can use the remote update feature only for Javascript and
developments in the assets domain.
13. 5. You can speed up application development.
The biggest obstacle for software developers in their
development process is undoubtedly limited time. In addition to
working overtime to train the project on time, it is important to
think seriously about development processes and optimize as
much as possible. On the other hand, we can not overcome
some obstacles. When we look at the mobile world, we can
think of compile times of languages that we use for Native
development. If we use Java, ObjC or Swift language, Compile-
time is giving us serious time loss. Of course not only compile,
but the application we wrote at the end of the Linking and
Building processes becomes testable on the mobile device. In
order to shorten these times, there are various solutions such
as incremental builders, but we can not reach the development
speed of a javascript project at all.
14. 6. Reactive Community Always Willing to Help
React Native has been increasing its popularity since its first
publication. Below, we can observe the search graph of the
React Native keyword from Google Trends over time and the
rise in user searches.
In addition, many projects outside Facebook also produce
libraries for React Native. As you develop your mobile, you
will be able to easily find solutions to many difficulties.
15. 7. It’s still JavaScript
Elm, ClojureScript, PureScript and other great languages compete
with React.js to be the coolest kid on the block. They all have
interesting super-powers you can’t match in JavaScript. However,
they have a much higher barrier to entry in the form of a
completely new language and ecosystem. React.js brings in
revolutionary concepts, but it is still JavaScript. If you haven’t done
much functional programming before, it is probably easier and
safer to start with React.js
16. 8. You don’t have to rewrite your native application.
If you already have an application, you may find it a risky way to
rewrite it with React Native. Let’s not forget that React Native is
capable of producing native applications in real sense. In this
case, you can move certain parts of your application to the RN,
test both the technology and create a good starting point.
17. 9. It offers a cross-platform framework for the future.
Let’s face it, the reason React Native is such a favorite with
developers is because it supports cross-platform
development. The ability to develop for both the major mobile
operating systems with just a single development language is
what originally attracted developers to the scene. React
Native maximizes code reuse; so, you can use the same
code for deployment on Android and iOS. If the recent
calculations are anything to go by, then up to 80-90% of your
code can be reused between the two platforms. Developing
two native applications with just a single codebase saves you
a lot of development time and effort, and that’s not to
mention the huge savings in cost as well.
Give it a go! It’s time to become a mobile developer. As
we’ve explained, this framework really has potential. The
whole development logic uses modern principles; the
workflow is efficient, easy, and quick to learn; more and more
platforms are using it; and all of that is just the start. That’s
where you come in: a new React Native developer, resolving
problems and bringing new ideas to this fast-rising
framework of the future.