-->
As I casually browsed through YouTubeās vast landscape of coding tutorials and tech discussions, React Native made a recurring appearance. Devs from various corners of the internet spoke about it, each sharing a sentiment that hovered somewhere between intrigue and reservation. What struck me as unusual was the absence of extreme opinions ā no overwhelming cheers, nor resounding jeers. It was an enigma, acknowledged by many, yet truly understood by only a few.
āEasy to work with,ā they said. But the air carried a peculiar weight ā a subtle lack of genuine enjoyment echoed in the narratives. It was a paradox, and it piqued my interest.
Itās with these ideas that I delved headfirst into exploring React Native, in the pursuit of completing part 10 of the Full-Stack Open Course Iām currently studying. Hereās a summary of my initial impressions:
As Iām writing this article, Iāve not yet completed the part, but hereās what Iāve made so far:
Itās pretty simple; it queries repositories from an external API and features them in a list. Thereās also a secure JWT token authentication function.
React Native is still new to me, and Iāll need to put a lot more time working with it to really feel like I get a good grasp of it, but here are my first impressions:
Problems with making Tailwind work: I spent a lot of time trying to make Tailwind work with the application without success. For a while, I almost made it work, but the Tailwind code wasnāt getting properly compiled, and I couldnāt use the tailwind.config.js
variables, despite following the instructions.
Debugging can be really tricky: Error messages given by the compiler are ambiguous; itās often been really difficult to figure out where the problems were happening. Maybe thatās because I got so used to using Typescript over the past year? At the beginning of the project, I also didnāt manage to set up the React Native Debugger to work with my remote development environment (I wanted to develop using my physical iOS phone rather than an emulator).
While those problems could maybe have been solved given a bit more time, itās undeniable thereās a level of extra complexity compared to web development.
Flexbox Gap does not work: I know thatās small, but it really annoyed me a lot while styling.
React Native seems to me like a great tool, and I think the fact that itās built on top of React makes it much easier to learn for anyone who knows React. Nonetheless, I definitely personally donāt find it as enjoyable as developing for the web. My next personal project is probably not going to be a React Native App, but Iād be okay working with it again in the future.