I recently wrote how I'd turned my back on my favourite web framework, Django, to use Next.js for my next product.
Well, after moving very slowly over the past month and a half, I got frustrated with my development speed.
Momentum and speed is crucial at the beginning of a new project. You don't want to be bogged down having to learn a new framework and coding paradigms when all you want to do is get something out to customers to see if it's something they want.
I'm starting again in Django.
I could have just built the thing in the same amount of time as I have spent researching and learning.
This time I'll be incorporating React into the front-end in certain pages where it makes sense.
My typical way of building is using vanilla JS for interactive parts of my apps, with every view and template powered by Django. The simplest and easiest way to build.
If I use React instead, I'll be able to move towards a full React front-end in the future if I wanted. And I get all the benefits of using React over vanilla JS like state management and re-usable components.
I started on a new Django build just yesterday. In one evening I almost got to the same place in the app than I had got to in Next.js. That took me multiple days' work over the span of five weeks. (I even copied over some of the React-based components I'd written for the front-end right into my new build! 🔥)
You can't stop me now.