A couple of years ago, I was regularly developing with Flask. Since then, I’ve moved onto other projects and technologies. Today, I decided to revisit this “old” tech stack; it was a fun and interesting experience.
A little background
When I first used Flask, I was trying to build a personal website. It would be a simple site, containing a blog, a list of projects, and other static content. I built something and used it for a while. But eventually, I decided to shut my custom project down, and began hosting my site with github.
Since shutting my site down, I hadn’t done any programming with Flask. Today, I was thinking of building a new website/app. I read through some introductory texts on a few existing solutions: Django, Ghost, Wordpress, etc… And then, I came across my old friend Flask.
For probably the same reasons as before, Flask appealed to me. It uses python, which I like. It feels relatively lightweight, at least moreso than Django. So, here I am again, after a couple of years, trying to build my Flask application, again for the second time.
Familiar faces and places
As I began building a new Flask app, things felt very familiar. The code was really easy to understand, because well, I had seen it before.
Google searches led me to Miguel Grinberg’s site. His site contains lots of great tutorials related to Flask. I used it a couple of years ago, so I was sure the content would be good.
When you go through introductory tutorials, it is easy to be overwhelmed. There is just so much to learn: domain specific jargon, new concepts, and other technical difficulties. Good tutorials try to explain the bare minimum to keep you moving, while introducing a whole new world. Tutorial authors must maintain a fine line to push forward without losing the reader.
But for experienced developers, who are revisiting a topic, there is a lot more room for error. Instead of trying to focus in and just get through the tutorial, you breeze through the easy steps and can absorb extra nuggets of information. When I went through the Flask tutorial, I diverged from the tutorial and experimented with different implementations. If things went wrong, it was easy to get back on track.
Revisitng Flask today, felt like a pleasant warm up. The muscle memory of how Flask works faded, but I’m waking them up and was able to get coding right away.
New bells and whistles
Coming back to Flask, I found that the landscape has changed a little. I’m sure the platform has improved internally, but I haven’t gotten deep enough into it to notice. I did however notice that tutorials provide instructions for building with Docker and putting a React frontend UI in front of the Flask server.
Finding that Flask is ready to work with these technologies is a nice surprise. I use Docker a lot these days, so I’m comfortable in that development workflow. I have been meaning to learn React, so this project gives me a good reason to learn.
What did I build?
Nothing much. I have a super simple app consisting of a flask backend server and a react frontend UI. It is ready to work and build with Docker. If you are curious about it, I posted the project here simple-flask-reack-docker.
Conclusions and Recommendations
I highly recommend trying out technologies that you used in the past. Maybe some of the things you hated about it have improved? So, you’ll find it more pleasant than before. Even if things haven’t changed a lot, you will still have some memory of how things used to work, so you should be able to get started without a painful learning curve.
And as a more experienced developer, you will bring a new perspective to technologies you used before. You may be able to understand more of how things work, which feels good. You may also be able to incorporate some of your new knowledge so that you can get more out of that old tech stack.
We all start as coding newbs. Blindly pointing and clicking, hoping to just get those “hello world” applications to run. Before you realize it, you have learned and forgotten plenty of tech stacks. Instead of jumping into the new trendy toolset, I recommend revisiting some old stuff and see what things looks like there. I think you’ll find it to be a rewarding experience.
Top comments (0)