All I Wanted was an Hello World
I needed to learn React
I started to consult different materials on how to use react-native and after some while, I discovered that I needed some background knowledge on using React for the web. I decided to learn React and I did that by building a simple web application that displays public picture from twitter though the guidance of the book Reactjs Essentials. Although the web application did not work as expected, but I already absorbed a lot on how react works such as the building and composing component, component life cycle, jsx, how the virtual DOM works etc.
Setting up React-native was terrible
The next thing was to start my react native, but it was not as simple as I thought. Firstly, I needed to set up react-native, but the documentation for setting up react native was not really good for windows-based computers. I had do some extra research myself. I needed to get a lot of software and tools in order to get react-native work on my computer system such as android studio, android sdk, node, JDK etc.
Setting up Android studio was no fun. I am always getting one error or the order(which I had no knowledge about) when I try to install it, I was so confused and frustrated, but the desire to learn react native, to just be able to say hello world with react native kept me going. I had to meet a lot of friends, visited stack overflow time without numbers and do everything that I can and after a week or more, it finally worked.
Getting an emulator was hell
If, android studio was the end of the problem I had with setting up react native, then I would have referred to react-native as easy, but that was the beginning of my struggle. The next set of error I was getting was not as a result of the documentation anymore, but they were due to the kind of computer system I was using, it does not support Virtualization technology. For sure I needed an emulator if I was going to be building applications, so I tried setting up the normal android studio emulator, but all my attempt resulted in one error or the other. It was after some few days that I realized that the error was due to the fact that my system does not support virtualization technology. The next immediate option was not a good one, using arm based emulator, it is going to be super slow on my computer system.
I started to make research about how to find a way around this, then I came across another emulator, Genymotion. I thought genymotion was the messiah, but I was wrong. I tried setting up genymotion, surprisingly it was still all about errors, but now the error message it gave was very popular on stackoverflow, so there was a lot of possible fix to it. I applied almost all the fix that I came across but none of them even changed the error massage so therefore, I left genymotion alone.
I had to take some break as the frustration was just too much. However I knew there must be a work around to this issue and did not surrender to failure because I wanted to at least say hello world with react native. After some powerful google searching, I found out that there was a way to make the popular BlueStacks android emulator work as a development emulator.
One night, when my roommates were asleep and i was still up fixing errors, i did all i can to bluestacks and it worked. I was so happy and surprised, i was seeing right in my front “Hello React Native”.
After about 4 months of serious google searching and frustration, I was able to say Hello World with react native. However it was after all this that I realized that I have learnt a lot of skills in the course of my research some of which are, how use the command prompt effectively, how to use an error message, how to seek for solution to errors online etc. Now I am very sure that I can fix any error that comes my way myself in the course of programming and this I am very proud of.
All because I wanted to say hello world with react native, I had to learn react, do some little Java stuffs on android studio, visit stack overflow and others of it kind times without numbers and do much more. This is my most recent challenging learning experience.