Lets you build your own design pattern unlike other frameworks with already MVC pattern built-in. Easy to learn and thanks to clear documentation. One big plus for me is the easy to learn ORM feature that supports sql, and nosql. I can no longer worry about using both db or switching from one to another bec my orm code will be the same; just change db settings.
Ranked in these QuestionsQuestion Ranking
Pro Lightweight without losing functionality
The framework is very lightweight and fast. Even though it's pretty light, it still does not lose a lot of functionality.
Pro Highly modular
Virtually everything is modular. You can choose which modules and libraries to include and to keep the framework as lightweight as possible.
Pro Shortened development time
Building an application that processes a URL (display a page, submit a form, invoke Ajax, etc.) requires very little code and can be achieved very quickly. Allows developers to focus on the application itself and not the plumbing.
Pro Comprehensive documentation and API reference
Concise and to the point documentation. Includes many examples and complete API reference @ https://fatfreeframework.com/3.6/api-reference
Pro Very stable
You know those frameworks that have updated 5 times during your own development phase? Well, F3 sees one or two updates per year. Never had any issues updating or upgrading. F3 just works.
Pro Easy to get started
After you download the framework it is very simple to get an app up and running very quickly. Makes it easy for newer PHP and web app developers to start using a MVC framework.
Pro ORM supports sql, nosql, and jig
Pro No canned coding/directory structure
Freedom to structure your projects' directories and codes as you wish.
F3 is a non-opinionated framework : you are entirely free to use the files/API/assets structure that you love.
Following a minimalistic approach, F3 tends to avoid adding code and structure that are not strictly necessary, while focusing on what really matters : coding your solution; actually you learn F3 while implementing/coding your project/webapp
Pro Multiple view engines
Default view engine is superb and can also work with varieties of PHP view engines including Twig.
Pro Vibrant community behind the framework
The community is responsive and helpful in clarifying the aspects of the framework.
See by yourself @ https://groups.google.com/forum/#!forum/f3-framework
Pro Self documenting code
Pro Simple development set up
Pro Unit testing toolkit
Pro FREE structure
Pro No composer, curl or dependency injectors
You download a zip file and use it by placing require(); statement. No need to use composer, curl or any dependency injector which sometime become a great pain.
Con Default ORM doesn't support joins
The default ORM for this framework is missing some features such as joins. But it's important to keep in mind that it's a small plugin, only 23KB in size which still can be replaced with a larger ORM if needed.
An alternative the drop in f3-cortex ORM which is popular, and supported by the community, which supports Joins and much more.
Con The default template engine is "home made"
Con Requires front-end stack support
As often used with a .js framework or libraries there is a need for a combined workflow. For example, a workflow using laraval-mix+ nom.
Con Backward incompatible within minor version
There are serious incompatibilities even between minor versions (eg. between 3.6.0 and 3.6.2). Developers exhibit complete lack of understanding what is versioning of product (and which changes should be integrated in which versions), which makes this framework unsuitable for serious work. Development is slow, stable versions are rare and not treated seriously.
Con Lack of video tutorials
While there is a great user guide, compared to other established PHP frameworks, there is a relative shortage of video and written step-by-step tutorials for newbies to learn this framework.