Welcome to my post, dear reader, on my lessons learned on my first React-Native project.
I didn't expect this post to get so wordy, so I'm going to break down each of the above points into its own page, and link it to its respective lesson below. Hopefully that breaks it down into easily digestible chunks :) There, I'll delve into the details of why and how this lesson affected me and why it was important. I'll avoid code and in-depth technical lessons for the most part, as that isn't the focus of this post. Those will likely be separate posts, but linked back to this one.
If you want to take the "I really like reading long posts" path, head over here to see the post in its original form. I prefer this form, as I think it reads a little nicer visually but I've been told I'm weird for liking super long blog posts.
Whew. That's a lot of lessons. Overall, this was a fairly difficult for project for me. Not having had any experience in mobile development that wasn't Xamarin, coming into a React-Native project I realized very quickly how out of my depth I was. So, if you're still reading, great! Come with me on a journey of
death and destruction exploration and discovery!
Before you start digging in though...
- I have no idea what I'm doing. Seriously. Even now, with this blog post, I just have slightly less of no idea what I'm doing.
- I'm probably wrong with a few things. I've likely made assumptions or statements that anyone with knowledge of React-Native (or the respective native platforms) will probably go "uhhh... what?". If so, please yell at me politely on Twitter, and I'll add some updates where necessary.
- Some of these issues were greatly exacerbated by my lack of any native mobile development knowledge coming in. Up until this project, most of my mobile development experience came in the form of Xamarin, which is the .NET variant of cross-platform mobile development.
- I'm not covering Expo as part of this post. The main issue with Expo was as soon as you need to hook into anything not covered by its libraries you need to "eject" from the Expo project and then you're in the wilderness of React-Native anyway.