Why I’m throwing out React and going back to Angular 1.x
I recently quit my job to start a company. My goal is to build a revenue stream, it dominates my mind 24/7. I have an arbitrary hard deadline. It’s annoying, but it didn’t come from thin air. It came from a simple calculation. I took how much money I have, and subtracted my monthly costs as a guy with a family, and a budget for marketing my product, then assumed revenue will be little to none for several months since overnight success only happens in Disney Cartoons. Then I got a date.
When I started to build my product, at the top of my mind was one thing. That runway time. Every decision, has to be about that time. When it comes to technology, I don’t have that much time to spend on it. It just really doesn’t matter. If my business fails, no one will ever know how beautiful my code base was. If it succeeds, I want a technology that lets me work as fast as possible. That’s why on the server side I chose PHP. It’s not pretty, but it has libraries for everything I need, and built in functions to do many of the things I want. Ruby, or C# has the same properties, but getting set up has always taken me a few days. I don’t have that. I need those days to cold email customers, setup phone calls, and validate I’m building a useful product. Deploying in those technologies has always been an arduous task for me too. PHP has always been the quickest to deploy for me. I need that time. So when I chose my front-end tech, I have the same requirements. Quick setup, libraries for everything I need, quick deployment.
I’m losing time battling my stack. It should be helping me.
Using Angular 1.x seems like a suicidal choice in the long term. It’s already obsolete. The problem is none of the technologies that filled the void have what I need. React has been anything but quick to setup. The paradigm shifts are fine, I don’t find them to improve my productivity, but they don’t hurt it. It’s just different. However the tooling is maddening. Perhaps in 5 years things will settle, but right now there are way too many variables. Worse, it hasn’t been a one-time cost. After I was setup (I chose the “stable” technologies) it wasn’t good enough. As soon as I started trying to bring in libraries to do what I needed, I found my chain wasn’t up to the task. Of course I couldn’t just follow the instructions on the CLI when there were errors… because there was a few levels of indirection in the tools. I’m losing time battling my stack. It should be helping me.
What am I supposed to do? React is slowing me down, vue isn’t established enough, Angular 2 also isn’t established enough, and forces me to learn Typescript. My real choice seems to be knockout, ember, or Angular 1. Given a choice between those 3, I prefer Angular 1. So I guess just like I still do development in python 2.7 I’m choosing to still do development in Angular 1. I don’t have time for the others. Maybe in the future my product will be successful, and angular won’t be able to support me any longer. But I don’t have time to prepare for a future that almost certainly won’t come if I choose the “leading” technology.