Build your digital product with an experienced team

How to Learn React and React Native – an Interview With Nader Dabit

By Weronika Nużyńska

28 September 2017 -
6 min read

We asked Nader Dabit, who hosted Lama Media’s first meeting of knowJS, a few questions about the technology and his experience with React. Nader is a software consultant specializing in teaching and building mobile apps using React & React Native.

min6 min

Nader Dabit – React Native trainer – in our Lama Media office

React Native allows developers to build cross-platform mobile apps using JavaScript. It’s similar to React, which is Facebook’s popular JavaScript library for building single page web applications without the need for rewriting user’s interfaces for web, iOS and Android.
What was your first programming experience?

The first programming language I learned was PHP. I think I realised I wanted to be a developer just after I learned PHP and built few projects with WordPress. I moved to California and started working with companies in Los Angeles. All of the developers that I’ looked up to were developing in JavaScript, so I basically just followed them to achieve their level of expertise. I actually didn’t really have any good reason, other than that, hence I moved to JavaScript (laugh).

How did you start your adventure with React and React Native?

While I was in California I was attending lots of meetups and conferences. The new thing at that time was Angular which was written in JavaScript. I learned Angular and Ionic – the way to build mobile apps. Then, Angular 2 was released and it was unstable for at least two years. When I was consulting for clients I didn’t want to move them onto a unstable platform. At that time React Native had just come out and I was looking at it carefully. It seemed like a step in the right direction, away from Angular. Using React Native was supposed to be temporary for me, because I wanted to go back to Angular 2 when it came back out, but I never did.

Even though Angular seemed to be pretty popular in US, React is actually better suited to mobile apps. The biggest change for me in the last few months is working with Amazon and seeing them shift all of their technology to React and React Native. Normally when we see a large, billion dollar company moving to a technology it’s a good signal that it’s going to be stable and its use will be expanding for a long time to come, because developers are going to be using it, relying on it and contributing back to the open source project.

Some time ago the solutions such as open libraries and code sharing were not that popular as now. How would you describe the changes in the programming community?

I believe that open source development is the future of software. It’s a great option for users because open source software is often free and safer to use (malicious code is less likely to be implemented). Moreover, many companies are encouraging coders to contribute to open source projects. For example, Microsoft decided to open source their .NET Framework.

If you could list a few core things that differentiate React and React Native from other frameworks/libraries, what would you say?

The main reason React and React Native are right to jump into now is that you can use the same code for deployment on iOS as well as on Android. You’re able to do a lot more things in a shorter period of time; hence you save both development time and cost. React enables you to build across web, Android, iOS, Apple TV and a bunch of other platforms.

Have there been any hardships that you’ve faced working with React?

Learning React is understanding a new paradigm. Maybe for advanced developers it would be easier to grasp, but for someone like me, who started without any background, it was harder. However, I believe that now is the best time to learn React. The groundwork has already been done, and bugfixes and other documentations available online.

What should we consider while planning safety issues in React application?

It really depends. If we’re talking about authorization and authentication with React Native, there are a few different libraries that you can use that will handle encryption for you. For example, there is a library called Realm which has been doing cryptography for mobile apps (iOS and Android) for a long time. They just put their algorithms over to React Native so you can actually get very secure authentication. Just like that – out of the box. With React as whole however, you actually are not going to get it out of the box, you actually have to understand what you’re doing. , If you don’t understand what is actually happening with your authentication and your cryptography then you may want to hire a specialist. For someone who doesn’t already understands it might be a negative, but if they do, then it’s just as secure as any other web application.

What do you think about other trending frameworks?

I think Vue.js is very promising and a really good second choice to React. In the future Vue.js might possibly mature enough where it’s on the same level, because there’s a framework called Weex that Alibaba made, so like Facebook made React Native, Alibaba made Weex. Weex basically allows you to build mobile applications using Vue.js. There’s also a new framework called Flutter that was put out by Google – instead of writing JavaScript you’ve got Dart. Dart basically compiles to JavaScript, so Dart is very similar to JavaScript with the strong types. If you’ve written JavaScript using TypeScript, then you already should understand Dart code. Apparently, Google spent a lot of time, effort and money building Flutter so I think that in the future Flutter is going to be a contender to React Native. Right now, the frameworks that I would invest in if you want to make money and build up applications for clients for the future would be by learning both Vue.js and Flutter.

What are some top technologies or trends that you are most excited about nowadays?

Cryptocurrency along with blockchain technologies. I’ve invested my time in those areas and I believe they’re interesting thing to keep an eye on. Besides those, I would say machine learning. If you’re a developer and you want to learn how to do machine learning, there’s really easy way to get into it with Python. For this, I would recommend to get a book on Scikit-learn, which is basically like a package that you can write machine learning algorithms with Python. I believe that there’s a huge business potential for machine learning and artificial intelligence.Clickhereto know more about Nader’s presentation about React Native and followknowJS event of Facebook.