React Native a Students Experience

Why react native?

Before we get to why I chose this let’s see my other options, while there are dozens of frameworks to choose, from at the time I only heard of three. Android studio (using kotlin), Flutter, and react native. I had a poor experience just installing Flutter in my first semester so that was off the list, and it seemed as though everyone around me was using android studio, so why not try react native? There are plenty of benefits in using react native but for the most part, I thought I could learn a lot and it would be fun.

My approach

Given the fact that I don’t know javascript let alone react or react native, my path was always bound to be a rocky one. I started off watching Mosh Hamedani’s 2–3 hour long tutorials on YouTube. I thought learning javascript should be a bare minimum before I start making my project, and so I spent some time creating random things. I tried to learn react as well but halfway through decided that rather than learn the basics I should start my project and learn as I go, this turned out to be a good decision. Not learning javascript thoroughly did have its problems but overall it was still faster. I regularly referred to expo and react native docs to understand and use all the different components.

My experience with react native

The syntax is easy to understand and basically javascript, designing the front, end, be it with images, button or some other component was exceptionally easy and intuitive. Libraries are mostly easy to use. But it had a fair amount of issues, while one of the benefits of react native is supposed to be third party modules, many times when I tried to use them some weird error would pop up without any real way to fix it. I would regularly face the error “null is not an object” which half the time doesn’t make any sense. I even faced problems when some things would randomly not work. The page I made that was supposed to show your location on the map only worked when I entered the page left and then entered again, while this was most likely a mistake I made, normally googling and going through documents is enough to find a fix when doing something in java or C++, althought the community is fairly large and active it seems the fact that its new still poses a problem. React native async storage is now react native community package, and since I was having issues with yarn I couldn’t install it and had to change up my project

Conclusion

Overall I think react native is great as long as you don’t want to do something too complicated, if third-party modules work for you then it is definitely easy and quick. And the fact that its code is reusable for iOS and android certainly saves time and money in a more professional environment. It’s a fun simple framework and something I would recommend to a fellow student to try out