a heavy grey box that hooked up to the TV

I’ve been a coder most of my life. No, seriously, I started writing code when I was about 9 years old. My uncle gave me an old TI-99/4A and a book on programming in BASIC. “Have fun!”, he said. Surprisingly enough, I did. He would help from time to time, but I would spend hours looking up how to color individual pixels to draw images on the screen. I’d make the screen flash while a stick figure danced (well, flipped on the horizontal axis, anyway), and ask basic yes / no questions and give different responses based on the user input.
It took forever, and when you were done, you couldn’t even save the program to a hard drive. There was no hard drive. There wasn’t even a floppy disk. There was, however, a cable that you could hook up to a cassette player. Then, after pressing record, you could convert the program to a bunch of screeches and squawks. Then, later, you could set up the computer to “listen” for the playback of the tape, thus loading your program into memory.
Much later on, I figured out this was basically how modems worked to transmit data over phone lines. But that’s just another dead technology to put on the stack.
Anyway. Since then, technology advanced rapidly, and I advanced with it. I knew a little c, dabbled in HTML and css, Visual Basic, VB.net, ASP.net, c#, javascript, jquery, ajax, WCF, MVC, angular, node, AWS, devops, SEO ahhh!!! Sometimes it feels like a lifetime of learning every 5 years or so, only to dump it and start anew. Mind you, most of the principles carry forward, but what you can accomplish, and how, changes with the blink of an eye.
you can do miracles these days
Which leads us to Expo and React Native. I’ve wanted to make a visual novel for a long time, and even started writing one in c# several years back. But the meta concepts around the project have changed enough that now it makes sense to make an app. Which I’ve never done before. Time for another lifetime of learning, I guess.
After a little research, I decided on React Native and started following some fantastic tutorials by Robin Lebhar over on Udemy. (not sponsored, I just think the courses were great). He got me up and running with a Hello World app running on my phone in minutes. Nay, seconds. If you had told 9 year old me, who spent hours and days to get a silly stick figure on his TV, that he could have an app running on a phone in minutes, he would have… well. He would have been really confused about what an app was, and how you could do it on a phone. But still, we’ve come a long way.
Expo is fantastic. Sure, it’s a bit finicky, but for quick prototyping and getting up and running, it’s unbeatable. You can make changes, deploy it to an emulated android device and your iPhone to see how your code behaves in near real time. I was able to make a prototype for the visual novel, and then after experimenting with it and evolving the idea, throw it nearly entirely away and make another one in record time.
but there’s a catch, isn’t there?
However, and it took me an embarassingly long time to realize this, Expo is not the be-all-end-all. You see, the way it works is Expo made an application shell that installs onto your phone or other devices. That shell is then capable of receiving and executing javascript bundles containing your code. But you can’t deploy a store app that way. Eventually, you need to wean yourself from Expo if you want to release the application. That means setting up Android and iOS developer accounts. That means buying or figuring out how to build iOS packages if you’re not currently on the Apple ecosystem.
And that’s where I am. All the worries Expo took away from me are looming over my head again. Gotta learn how to do it the “right way” now. And I’m a little daunted by it. Sure, I will find a path forward, but it’s like all those tasks you’ve been unwittingly kicking down the road all coming due at once.
I want to be clear, I’m not being critical of Expo. I’m being critical of my own lack of critical thinking about facts that should have been obvious all along. Did I “know” these things? Yes, yes I did. Did I really stop to think about them and what they meant? No, no I did not.
but seriously it will all be ok in the end
So anyway, that’s where I am. I feel like I was making a lot of progress on the application, and now I’m going to spin my wheels for X amount of time so I can get my ducks in a row and start making progress again without Expo. Or at least, without fully leaning on Expo like I currently am. They do offer a lot of cool tools that I plan to leverage.
But yeah. Time to pay my dues, I suppose. Here goes nothing. And here’s to another several lifetimes of learning.
[like this content? follow ye olde pixelhime blog for more]