When comparing Bottle vs CodeIgniter, the Slant community recommends CodeIgniter for most people. In the question“What are the best backend web frameworks?” CodeIgniter is ranked 17th while Bottle is ranked 20th. The most important reason people chose CodeIgniter is:
Setting up CodeIgniter is quick and easy. You can download the version you want from the CI homepage or directly pull the latest version from GitHub. After that, you unzip the contents to the directory that's required. The final step is to edit the `config.php` to suit your needs and it's set up and ready for development. There are also a lot of guides and tutorials from developers who have been using CI for a long time. This is because of the relative old age of the framework and the large community behind it.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Flexible
Being a small one file distribution it includes almost every vital thing you need to support little websites (routing, templating). Everything else can be implemented using plugins.
Pro Single-file distribution
Bottle works around the one-file approach, everything is done in a bottle.py
file. This means that it's extremely easy to share and upload your application since it practically is just one python file.
Pro No need to install
It is so little there's no need to install, it is included in the standard libs python.
Pro Async, *let friendly
Using it with gevent is a breeze. It's a WSGI app so it's easy to make it work with anything.
Pro Truly magnificent
Pro Beginner-friendly
Setting up CodeIgniter is quick and easy. You can download the version you want from the CI homepage or directly pull the latest version from GitHub. After that, you unzip the contents to the directory that's required. The final step is to edit the config.php
to suit your needs and it's set up and ready for development.
There are also a lot of guides and tutorials from developers who have been using CI for a long time. This is because of the relative old age of the framework and the large community behind it.
Pro Lightweight
CodeIgniter has a small footprint, just 3MB and that's including the user guide.
Pro Well documented
The documentation is clear, structured and thorough. It explains both commonly used and CodeIgniter specific concepts and always with clear examples.
Pro Active community
Because it's relatively old and well-liked, it has an active community of developers behind it. It's used by a lot of websites in production.
Pro Open source
The MIT License (MIT)
CodeIgniter is open source and is distributed under the MIT license.
Pro Stable
CodeIgniter is tested by hundreds of thousand of developers that use it in production. This means that it's very hard for any bugs or problems to go unnoticed. Even when a new version is out, bugs are quickly found and patched up.
Pro Easy to use templating engine
CodeIgniter has it's own templating engine built-in. It's based on a mustache-like templating language which is easy to learn for new developers who have never seen it. While experienced developers will feel very comfortable using it.
Pro Output caching
CodeIgniter lets you cache the web pages in order to decrease loading times and increase efficiency and performance.
Pro CodeIgniter v4 is a complete rewrite
CI4 will be out soon & is a rewrite..
"CodeIgniter 4 is a rewrite of the framework and is not backwards compatible."
So it will support ALOT more newer functionality built-in.
Cons
Con Small community. Difficult to find online docs and examples
Con Very hard to develop projects that are not smaller than 1000 lines
While Bottle is a great framework for building small applications (generally less than 1000 lines of code), it starts getting very hard to manage your application if you want to go even a bit larger than that.
The fact that it follows a single-file distribution model and that it's missing something like Flask's blueprints only make this problem worse.
Con Outdated
CodeIgniter was first released during the times of PHP 4. This means that a lot of features that were added later to PHP are not available. Some of these features are:
- Support for namespaces
- Modular separation by default
- Procedural function helpers
While nowadays CodeIgniter can be used along the latest version of PHP, these features were not added so as not to mess with backward compatibility. They can still be used with CI, but it requires extending core files to make it work which is a waste of time and energy and requires advanced knowloedge of both PHP and CI.
Con No unit testing
Con It does not have basic functions
Some of the missing features include controller security, filters in forms and modoles, rules of validation, among others.