DEV Community

Roshan Sharma
Roshan Sharma

Posted on

Combined powers of Flask and Falcon

Hola, people!

Quite some time ago, I started learning Flask. Boy, it really got me engaged and addicted to creating web apps the "easy" way.

But, it wasn't long when it got real mundane typing from flask import whatever for every little project I wanted out to try. In fact, I really started to ask, "Am I learning something, or just importing flask every now and then?".

Next thing you know my history is flooded with searches as in "Flask alternatives", or "Python web frameworks -flask" (-flask is a Google dork, meaning MINUS/SKIP "flask") and so on, and I was overwhelmed with the number of frameworks out there.

Out of all those numbers, one thing that got my tick was Falcon. I quickly navigated to it's docs, followed the tutorial, and yes - there was an app serving within minutes I read the documentation.

Now, due to some random state of my mind, I decided to start a project using Falcon. I made a couple "test apps" to acquaint myself with the framework, but yeah, they didn't suffice the skillset required to create scalable apps yet.

I started figuring things out, and decided to re-create a Flask project I made back in the days, using Falcon to serve as an API.

It was (is) an open-source blogging site, where you can (at least) upload blogs, and share your posts' URL for people to read.

I now plan (and am working on) to introduce some more advanced features like following people, getting suggestions from people regarding possible enhancements in posts (much like GitHub PR Reviews), and, maybe some more.

I've hosted the app here - https://blogstate.pythonanywhere.com
running on the source - https://github.com/roshnet/blogstate-refactor
based on the API - https://github.com/roshnet/blogstate-api
which is deployed somewhere top-secret ;>

If (by the slightest chance) you might wanna suggest anything or help me out in code, please open a PR on the linked repositories, or submit an issue.

Thanks for your time!

Top comments (0)