What is CodeIgniter and what are its top alternatives?
Top Alternatives to CodeIgniter
- Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching. ...
- WordPress
The core software is built by hundreds of community volunteers, and when you’re ready for more there are thousands of plugins and themes available to transform your site into almost anything you can imagine. Over 60 million people have chosen WordPress to power the place on the web they call “home” — we’d love you to join the family. ...
- Yii
Yii comes with: MVC, DAO/ActiveRecord, I18N/L10N, caching, authentication and role-based access control, scaffolding, testing, etc. It can reduce your development time significantly. ...
- Symfony
It is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP.. ...
- Kohana
Kohana is an elegant, open source, and object oriented HMVC framework built using PHP5, by a team of volunteers. It aims to be swift, secure, and small. ...
- CakePHP
It makes building web applications simpler, faster, while requiring less code. A modern PHP 7 framework offering a flexible database access layer and a powerful scaffolding system. ...
- Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...
- React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...
CodeIgniter alternatives & related posts
- Clean architecture534
- Growing community382
- Composer friendly360
- Open source331
- The only framework to consider for php311
- Mvc214
- Quickly develop205
- Dependency injection164
- Application architecture151
- Embraces good community packages140
- Write less, do more69
- Orm (eloquent)64
- Restful routing63
- Database migrations & seeds52
- Artisan scaffolding and migrations50
- Awesome37
- Great documentation37
- Awsome, Powerfull, Fast and Rapid28
- Build Apps faster, easier and better26
- Promotes elegant coding25
- Eloquent ORM24
- JSON friendly23
- Modern PHP23
- Easy to learn, scalability22
- Most easy for me21
- Blade Template21
- Beautiful21
- Test-Driven20
- Security14
- Based on SOLID14
- Easy to attach Middleware12
- Clean Documentation12
- Cool12
- Convention over Configuration11
- Simple11
- Easy Request Validatin10
- Easy to use9
- Fast9
- Simpler9
- Friendly API8
- Its just wow8
- Get going quickly straight out of the box. BYOKDM8
- Laravel + Cassandra = Killer Framework8
- Simplistic , easy and faster7
- Less dependencies7
- Super easy and powerful7
- Its beautiful to code in6
- Great customer support6
- Laravel Mix5
- Easy5
- The only "cons" is wrong! No static method just Facades5
- Fast and Clarify framework5
- Active Record5
- Php75
- Speed5
- Minimum system requirements5
- Easy views handling and great ORM4
- Eloquent4
- Laragon4
- Composer4
- Laravel Passport3
- Intuitive usage3
- Ease of use3
- Cashier with Braintree and Stripe3
- Laravel Forge and Envoy3
- Laravel Horizon and Telescope3
- Laravel Spark3
- Laravel Nova3
- Laravel casher3
- Scout2
- Rapid development2
- Lovely1
- Deployment1
- Succint sintax1
- PHP48
- Too many dependency31
- Slower than the other two22
- A lot of static method calls for convenience17
- Too many include15
- Heavy12
- Bloated8
- Laravel7
- Confusing6
- Too underrated5
- Not fast with MongoDB3
- Difficult to learn1
- Not using SOLID principles1
related Laravel posts
I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?
Need help deciding technology stack. Thanks.
Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.
Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.
By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.
Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.
There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.
We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.
As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com
WordPress
- Customizable413
- Easy to manage363
- Plugins & themes352
- Non-tech colleagues can update website content258
- Really powerful246
- Rapid website development144
- Best documentation77
- Codex51
- Product feature set44
- Custom/internal social network35
- Open source16
- Great for all types of websites8
- Huge install and user base6
- Best5
- It's simple and easy to use by any novice5
- Perfect example of user collaboration5
- Open Source Community5
- Most websites make use of it5
- I like it like I like a kick in the groin5
- Community4
- API-based CMS4
- Easy To use3
- <a href="https://secure.wphackedhel">Easy Beginner</a>2
- Plugins are of mixed quality12
- Hard to keep up-to-date if you customize things12
- Not best backend UI9
- Complex Organization2
- Great Security1
related WordPress posts
I've heard that I have the ability to write well, at times. When it flows, it flows. I decided to start blogging in 2013 on Blogger. I started a company and joined BizPark with the Microsoft Azure allotment. I created a WordPress blog and did a migration at some point. A lot happened in the time after that migration but I stopped coding and changed cities during tumultuous times that taught me many lessons concerning mental health and productivity. I eventually graduated from BizSpark and outgrew the credit allotment. That killed the WordPress blog.
I blogged about writing again on the existing Blogger blog but it didn't feel right. I looked at a few options where I wouldn't have to worry about hosting cost indefinitely and Jekyll stood out with GitHub Pages. The Importer was fairly straightforward for the existing blog posts.
Todo * Set up redirects for all posts on blogger. The URI format is different so a complete redirect wouldn't work. Although, there may be something in Jekyll that could manage the redirects. I did notice the old URLs were stored in the front matter. I'm working on a command-line Ruby gem for the current plan. * I did find some of the lost WordPress posts on archive.org that I downloaded with the waybackmachinedownloader. I think I might write an importer for that. * I still have a few Disqus comment threads to map
WordPress Magento PHP Java Swift JavaScript
Back in the days, we started looking for a date on different matrimonial websites as there were no Dating Applications. We used to create different profiles. It all changed in 2012 when Tinder, an Online Dating application came into India Market.
Tinder allowed us to communicate with our potential soul mates. That too without paying any extra money. I too got 4-6 matches in 6 years. It changed the life of many Millennials. Tinder created a revolution of its own. P.S. - I still don't have a date :(
Posting my first article. Please have a look and do give feedback.
Communication InAppChat Dating Matrimonial #messaging
- Open source42
- Code generator33
- Simple33
- Active record29
- Full featured26
- Documentation21
- High performance21
- Rapid development20
- Flexible16
- Mvc11
- Not bloated10
- Stable Release8
- Community8
- Amazing8
- View Helpers7
- Modular architecture6
- Long Term Support6
- Easy setup, easy develop5
- Easy1
- Promotes spagetti code1
- Unnatural love of arrays1
- Too Opinionated1
- Promotes bad practice1
related Yii posts
Of all PHP frameworks, my best and only choice is Yii . Think of this: you have a MySQL database, it contains several tables. Now you want to setup a PHP-MVC site, firstly, you must create Models, Yii have a very handy tool called Gii, you can easily create model with Gii just by one click, Gii will read your database table columns and create PHP models automatically for you. Now you need Controller, still with Gii, it will automatically create all 4 php files for you with Insert/Delete/Update/Select even with Search function.
Well, now the most modern way is to have a RESTful API, that's even easier with Yii, you even don't need to care about all the columns, just 4 lines of code you can expose your database table as RESTful API with all GET/POST/PUT/DELETE support, even you change your database table columns, you don't need to change any PHP code.
For security, Yii have embedded authentication and RBAC support. For multi language, Yii have embedded i18n support, all with out-of-box. Just play with it, I bet you will love it.
- Open source175
- Php147
- Community128
- Dependency injection127
- Professional120
- Doctrine78
- Organized73
- Modular architecture69
- Smart programming45
- Solid43
- Documentation19
- LTS releases15
- Easy to Learn10
- Decoupled framework components9
- Robust9
- Good practices guideline8
- Service container8
- Bundle8
- Powerful7
- Simple7
- Flexible5
- Too many dependency9
- Lot of config files7
- YMAL4
- Feature creep2
- Bloated1
related Symfony posts
I really love Django because it is really fast to create a web application from scratch and it has a lot a facilities like the ORM or the Admin module ! The Python language is really easy to read and powerful, that's why I prefer Django over Symfony.
I use Django at work to make tools for the technicians but I also use it for me to build my personal website which I host on PythonAnywhere, and with a domain name bought on Namecheap.
We needed our e-commerce platform (built using WooCommerce) to be able to keep products in sync with our #pim (provided by #akeneo) which is built in Symfony . We hooked into the kernel.event_listener to send RabbitMQ messages to a WordPress API endpoint that triggers the updated product to rebuild with fresh data.
- Open source4
- Efficient and lightweight3
- Cascading filesystem3
- Easy to understand PHP framework2
- Extensible2
- A business opportunity1
related Kohana posts
- Open source35
- Really rapid framework25
- Good code organization19
- Flexibility13
- Security best practices10
- Clean architecture7
- ORM5
- Less code5
- Composer friendly4
- Convention Over Configuration4
- CakePhp Book2
- Cake Bake2
- Built-in Validation2
- Ctp view File extension1
- CakePhp inflector1
- Quickly develop1
- Rest Full Apis1
- Robust Baking Tool1
- Follows Good Programming Practices1
related CakePHP posts
Hi all, I need to create a simple IoT interface application that connects the end device API with a GeoTab API. I am considering using Bubble due to its simple interface and configuration tools, but I fear it's too simple. We will want to add features and new devices as we grow - I was thinking of using CodeIgniter or CakePHP on a hosted site for the application. Must support JCOM encoding between the two APIs and there is no need for a separate interface as GeoTab already has one; we are just connecting and pushing data. Thoughts?
- Rapid development656
- Open source480
- Great community414
- Easy to learn369
- Mvc270
- Beautiful code224
- Elegant216
- Free199
- Great packages196
- Great libraries185
- Restful74
- Comes with auth and crud admin panel72
- Powerful72
- Great documentation69
- Great for web64
- Python51
- Great orm39
- Great for api37
- All included28
- Fast25
- Web Apps23
- Used by top startups20
- Clean20
- Easy setup19
- Sexy17
- Convention over configuration14
- Allows for very rapid development with great libraries13
- ORM13
- The Django community12
- King of backend world10
- Great MVC and templating engine9
- Full stack8
- Batteries included7
- Its elegant and practical7
- Have not found anything that it can't do6
- Very quick to get something up and running6
- Cross-Platform6
- Fast prototyping6
- Mvt6
- Zero code burden to change databases5
- Easy to develop end to end AI Models5
- Easy Structure , useful inbuilt library5
- Great peformance4
- Python community4
- Map4
- Easy4
- Many libraries4
- Modular4
- Easy to use4
- Easy to change database manager4
- Just the right level of abstraction3
- Scaffold3
- Full-Text Search3
- Scalable1
- Node js1
- Rails0
- Fastapi0
- Underpowered templating25
- Autoreload restarts whole server22
- Underpowered ORM21
- URL dispatcher ignores HTTP method15
- Internal subcomponents coupling10
- Not nodejs8
- Admin7
- Configuration hell7
- Not as clean and nice documentation like Laravel5
- Bloated admin panel included3
- Python3
- Not typed3
- InEffective Multithreading2
- Overwhelming folder structure2
related Django posts
Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.
Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.
For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.
However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.
All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.
Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?
- Components801
- Virtual dom663
- Performance571
- Simplicity500
- Composable442
- Data flow183
- Declarative165
- Isn't an mvc framework126
- Reactive updates116
- Explicit app state113
- JSX44
- Learn once, write everywhere27
- Easy to Use20
- Uni-directional data flow20
- Works great with Flux Architecture16
- Great perfomance11
- Built by Facebook9
- Javascript9
- TypeScript support7
- Speed6
- Hooks5
- Excellent Documentation5
- Props5
- Functional5
- Easy as Lego5
- Closer to standard JavaScript and HTML than others5
- Cross-platform5
- Server Side Rendering5
- Feels like the 90s5
- Easy to start5
- Awesome5
- Scalable5
- Strong Community4
- Server side views4
- Fancy third party tools4
- Scales super well4
- Start simple4
- Super easy4
- Simple, easy to reason about and makes you productive3
- Fast evolving3
- SSR3
- Great migration pathway for older systems3
- Rich ecosystem3
- Simple3
- Has functional components3
- Allows creating single page applications3
- Has arrow functions3
- Very gentle learning curve3
- Sdfsdfsdf3
- Beautiful and Neat Component Management3
- Just the View of MVC3
- Split your UI into components with one true state2
- Fragments2
- Sharable2
- Every decision architecture wise makes sense2
- Permissively-licensed2
- Image upload1
- HTML-like1
- Recharts1
- Requires discipline to keep architecture organized38
- No predefined way to structure your app27
- Need to be familiar with lots of third party packages26
- JSX10
- Not enterprise friendly8
- One-way binding only6
- State consistency with backend neglected3
- Bad Documentation3
- Paradigms change too fast2
- Error boundary is needed2
related React posts









I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.
I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.
A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.
In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.
If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.