I’ve been an iOS developer for some time now and most of my previous posts were touching the aspects of iOS platform. However, I have to admit something… I’ve been having an affair with React-Native and what is even “worse” — I feel really good about it.
If you do not know what React-Native is, you should check React-Native website .
React Native lets you build mobile apps using only JavaScript. It uses the same design as React, letting you compose a rich mobile UI from declarative components.
Let me tell you about three reasons for my affair with React-Native.
I was first introduced to React when I had a chance to develop a web panel for a project. It was really fun to see how things work on the web and learn more about architectures like Redux. I was really happy when I found out, that the knowledge of React + Redux was easily transferable to mobile development with React-Native. This allows you to apply your skills to various parts of the project you are working on if situation requires it. I’m not saying that you will be as effective as a person who is an “expert” on a specific platform, but you can surely help you teammates and add value to a project.
If you are a fan of TDD/BDD or you just feel that a well-written code needs to be tested, then you probably know that having a short feedback loop is a real benefit in this way of working. I love the fact that I can run my tests on each file save and it takes only seconds to know the result. This makes me feel that tools that I use fit my work style and helps me to write code in the way that I like.
Coming from iOS project that was not that small, I was used to long build times and the fact, that sometimes even switching to test target required me to rebuild my project. React/React-Native projects that I took part in were not that big, but still… The fact that you can see changes instantly due to hot reloading and probably the only thing that you wait for is your Typescript transpiler is a huge improvement in productivity.
I really like the way that React/React-Native fit my work style. These are great tools that will surely help you get things done. I must say that I’m not that much hyped about the fact that RN allows you to reuse a big portion of the code between the platforms. This is a great thing of course and I would surely not give up on this, but the thing that I really like about RN is the pleasure that I get from building things with it and the way that tools that come with RN are created with developers in mind.
It’s not about leaving everything behind for React-Native. Learning any new framework or language will help you understand what you like and allow you to get in touch with patterns used on various platforms. Maybe it will inspire you to find new ways of improving your workflow in other projects.
Do not get to attached to your beloved language or framework and try something else from time to time — it will surely benefit you as a developer.