For a while, I believed that jQuery and bootstrap are the best tools out there for getting a frontend working the way you want. I am sure there are jQuery pundits who still stand by this. But I am not a jQuery pundit. In fact, I am quite bad with javascript – for whatever reason, I never managed to master this one skill. I have been using javascript from 2005 but I still have to look up every now and then for some super basic operations. The same holds true for jQuery as well. But I still manage to write some apps here and there using jQuery and javascript. So basically, I can find my way without too much of a struggle.
Recently, I started writing out a prototype for a web-app for a friend of mine. I decided to use python flask as the backend server and jQuery+bootstrap as the frontend. I started writing some far and then figured out maybe I am not doing the most optimal stuff by doing this. Bootstrap is still the better choice for CSS because, like javascript, I don’t have a great eye for visually pleasing CSS. Bootstrap can help visually challenged folk like myself get an acceptable UI. But the same cannot be said of jQuery. So I took some time and decided to venture into a newer technique – Angular or React. One from Google and the other from Facebook, I think.
I have a friend who freelances with React. So it seems to make a good starting point because I can go back to him for help. Then something changed in my head and I started out with the codeschool tutorial on angular. I finished the tutorial in about 4 hours – babysitting my 3-month-old son half the time. Now, that means this is a super easy framework to use, right? Right. So I chose to try angular first.
And believe it or not, I finished the UI and the backend server integrated over JSON (oops! that reminds me, I need to SSL that link), in a little over 12 hours time spread over 3 days. That’s the fastest I ever built a web-app. I still have a few features to add like email/SMS integration, the just remembered SSLification and perhaps some theme to the bootstrap UI. I don’t have a database yet because the prototype does not need one. But I am sure the python portions of the code take the lesser amounts of time. And maybe UX needs to improve a bit as well. But if I think about it, building a simple todo list app with bootstrap + jQuery and flight-PHP backend cost me the same amount of time.
Cool. I just added another tool to my box. I guess I’ll stick to bootstrap + angular for most of my web-based side projects in the coming months.