I bought the limited early access to The Joy of React the other day and worked through the whole course since then. Switching to web development while still being at the very beginning of my journey of becoming a Swift developer might not be the smartest choice but I never claimed to follow a thought-through master plan in regards to my learning, so whatever.
Before we get started: These are my current thoughts on getting into web development as somebody who has only a basic understanding of HTML and CSS. These thoughts will be different in a year from now. Cool your jets and consider this as something like a user test for the question of “How accessible is becoming a web developer?”.
Web development is a pain in the ass. You need to understand what a terminal is, what it’s used for and how to use it to even get to the point of asking yourself “What the fuck is NPM?”. Then NPM needs to be installed which feels like hacking the Matrix, since it does something somewhere but you won’t see anything but lines of text in your little terminal window into the soul of your computer that you’re afraid to touch because what if you sudo your SSD or something.
If you managed to install NPM, you have to… boot up your project by hacking even more Avada Kedavra shit into your cOmMaNd LiNe. Something happens and suddenly there’s a terminal you can’t use for anything else anymore because it’s doing… something and is busy forever. You end up with a browser tab directly plugged into whatever terminal magic is now showing you your empty project.
Great. It took only two and a half years to understand all of this and to get it to work. Fun!
Even if you managed to do all of this, you’ll end up in Visual Studio Code which only seems to work properly if you install a dozen plugins and hope for the best. I bet there’s some kind of user experience to be found in VS Code but it sure doesn’t stack up against anything I’ve grown accustomed to while using Xcode.
My whinging doesn’t stop there, no worries!
I’m not happy with JavaScript and React either. JavaScript feels weirdly incomplete after getting used to Swift, even though (or because?) it’s old as fuck. Even simple things like capitalizing a string is a non-trivial endeavour with something like three different solutions. I found those in Stack Overflow threads from 1932, by the way.
React does have similarities to SwiftUI and I see why people can grow to like it but it lacks the fun of SwiftUI. It feels clunky and verbose. JSX, CSS, a sheer endless amount of semicolons and angle brackets… it’s a little ugly? Granted, I don’t know anything and haven’t used it for half as long as I’ve spent with SwiftUI but still… there’s a lack of grace there that’s a liiittle bit repugnant.
So, where am I at right now?
I couldn’t wait to start my first project after finishing 100 Days of SwiftUI. Xcode was fun, the iOS simulator worked great and everything felt thought-through and like a paradise of possibilities. Finishing The Joy of React on the other hand left me with a feeling of dread and a weird taste in my mouth. Everything related to web development seems to be fragile, fiddly and like a late-game Jenga situation.
I’m not giving up though. This seems to be modern web development and since I want to be able to create web apps I’m going to stick with it. It’ll get better.
Anyway, here’s my little “You did it” achievement the course gave me. I’ll slap that on my LinkedIn profile now and consider myself a junior frontend web developer.