When comparing Flask vs Phalcon, the Slant community recommends Flask for most people. In the question“What are the best backend web frameworks?” Flask is ranked 7th while Phalcon is ranked 10th. The most important reason people chose Flask is:
Flask is very easy to get up and going, with vanilla HTML or with bootstrap pieces. It doesn't take much lines of Python to load Flask to get headers working, etc, and since it's all modular you don't have to have something you don't want in your application.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Minimalist without losing power
Flask is very easy to get up and going, with vanilla HTML or with bootstrap pieces. It doesn't take much lines of Python to load Flask to get headers working, etc, and since it's all modular you don't have to have something you don't want in your application.
Pro Lots of resources available online
Flask is one of the most popular Python web frameworks, if not the most popular one. As such, there's plenty of guides, tutorials, and libraries available for it. A large number of important Python libraries, such as SQLAlchemy have libraries for Flask, which add valuable bindings to make the development process and the integration between these libraries and Flask as easy as possible.
Pro Extremely easy to build a quick prototype
Even though it's pretty minimalistic out of the box, Flask still provides the necessary tools to build a quick prototype for a web app right after a fresh install. With all the main components pretty much packed in the flask
package, building a simple web app in a single Python file is as easy as it gets.
Pro Very flexible
Flask gives developers a lot of flexibility in how they develop their web applications.
For example, the choice of not having an ORM, but instead choosing one suited to the task, or another area where Flask gives a lot of options to developers is the templating. They can use Jinja2, Flask's default templating language or choose from a number of different templating languages they desire.
Pro Great documentation
The official documentation is very thorough and complete. Everything is explained in-depth and followed by extremely well-explained tutorials that tackle real-world problems.
Pro Able to use ORM or "true SQL"
Pro Extremely fast
Since the framework is and extension built in C it's extremely fast and efficient. It's actually one of the fastest PHP frameworks, and according to some benchmarks it's the fastest framework out there.
Pro Open source
Phalcon is open source and is available under the BSD License.
Pro Uses Volt template engine
The Volt template engine, which is embedded into Phalcon itself takes it's inspiration from the Jinja template engine and as such it's nice to look at, with a clear and understandable syntax.
Volt also compiles very fast, like Phalcon itself, so it avoids being a bottleneck for the framework's overall speed.
Pro Very flexible project structure
You can set up the base project as you want. It's very flexible
Pro Clean and light project code
Since the framework code is not in the project directory, the code is light and clean.
Pro Customizable with Zephir
Zephir is a high-level language designed to create PHP extensions easily by PHP programmers with no knowledge in C.
Zephir does this by compiling directly to C and then the C program is in turn compiled to be run as a PHP extension. This, coupled with the fact that Zephir's syntax is very similar to PHP makes it a perfect way for PHP developers to use it for customizing Phalcon.
Pro Loosely coupled components
Some components can be used as standalone packages like models, views, etc..
Cons
Con Not async-friendly
Flask is explicitly not designed to handle async programming.
Con Setting up a large project requires some previous knowledge of the framework
Setting up a large project with Flask is not that easy considering how there's no "official" way of doing it. Blueprints are a useful tool in this regard but require some additional reading and are a bit tricky to get right for a beginner.
The lack of some defaults can also be problematic. Having to choose between different libraries for a certain task is never easy, especially if you have never worked with Flask before.
Con Threadlocals and globals used everywhere
The default way of creating applications in flask makes it hard to use reusable and clean code.
Con HTML-oriented, not API-oriented
Not necessarily designed for making APIs, though that is possible
Con Not for shared hosting
Phalcon needs root access to install the PHP extension which is written in C. Developers who plan on using Phalcon must use VPS or Cloud Hosting with root access available.
Con Require good programming skills
Not so easy to use if you want to gain the best from it.
Con Debugging requires knowledge of C
You need to be a C programmer to debug Zephir or C code. Or if Phalcon is not maintained anymore and you have a problem and don't have much skills in C, you will be hard-pressed to find a C programmer to fix it.