CodeIgniter vs Laravel vs Node.js

Need advice about which tool to choose?Ask the StackShare community!

CodeIgniter

3.2K
1.5K
+ 1
466
Laravel

27.6K
22.8K
+ 1
3.9K
Node.js

190.8K
155.3K
+ 1
8.5K

CodeIgniter vs Laravel vs Node.js: What are the differences?

Introduction:

In this markdown code, I will provide a comparison between CodeIgniter, Laravel, and Node.js by highlighting their key differences. Each difference will be described in a single paragraph, and the formatting will be suitable for website usage.

1. CodeIgniter: Lightweight and Simplicity

CodeIgniter is a lightweight and straightforward PHP framework that allows quick and efficient development of web applications. It follows the MVC architecture pattern and provides excellent performance due to its small footprint. CodeIgniter is suitable for small to medium-sized projects that require a simple and fast framework.

2. Laravel: Elegant Syntax and Rich Features

Laravel is a powerful PHP framework known for its elegant and expressive syntax. It provides a rich set of features and tools for web development, including a robust ORM, built-in authentication, caching, and routing. Laravel follows the MVC pattern and promotes clean and maintainable code. It is suitable for both small and large-scale projects.

3. Node.js: Asynchronous and Scalable

Node.js is a runtime environment that allows the execution of JavaScript code on the server-side. It utilizes an event-driven, non-blocking I/O model, making it highly efficient for handling concurrent requests. Node.js excels in developing real-time applications, such as chat platforms and streaming services, due to its ability to handle high traffic and scale easily. It is an excellent choice for building applications that require speed and performance.

4. CodeIgniter: Minimal Configuration and Quick Setup

One of the significant advantages of CodeIgniter is its minimal configuration and quick setup process. It requires fewer setup steps compared to other frameworks, making it ideal for beginners or developers who need to start a project right away. CodeIgniter's simplicity and ease of use make it a popular choice for rapid development.

5. Laravel: Ecosystem and Community Support

Laravel has a vibrant ecosystem and a large community of developers, which provides extensive support and resources. The ecosystem includes various packages and libraries that can be easily integrated into Laravel projects, saving development time and effort. The Laravel community actively contributes to the framework's improvement, regularly releasing updates and documentation. This strong community support ensures that developers can find solutions and assistance promptly.

6. Node.js: Single-Language Stack

Node.js enables developers to build both the server-side and client-side components of an application using JavaScript, making it a cohesive and efficient single-language stack. This simplifies the development process and allows for better code sharing between the front-end and back-end teams. With Node.js, developers can work with a unified language throughout the entire project, reducing the learning curve and enabling faster development cycles.

In Summary, CodeIgniter provides a lightweight and simple framework, Laravel offers an elegant syntax with rich features and a strong ecosystem, while Node.js excels in scalability and asynchronous capabilities, providing a single-language stack for both server-side and client-side development.

Advice on CodeIgniter, Laravel, and Node.js
Shanover Saiyed
Software Engineer (Web) · | 4 upvotes · 66.9K views
Needs advice
on
LaravelLaravel
and
Node.jsNode.js

I'm working as a full stack web developer and have been given an opportunity to re-frame the whole website which is written in PHP and JavaScript. Our website is required to be fast, efficient, having good analytics, easy to maintain and rework, and subject to frequent changes. It would be handling some medium size files like resumes, video recordings, etc. So I am thinking of changing the tech stack but confused for which backend to choose for the long run. Which back-end would prove to be better in terms of learning, development, and maintenance?

See more
Replies (2)
Recommends
on
Node.jsNode.js

If it was me, then I would go with node.js because it has huge a number of packages,community,support & good dev experience and learning curve is also not that steep, if coupled with express.js, its gonna be efficient and fast in serving web requests, and if we adopt good design patterns and follow best practices, I guess it will be easy to maintain it as well, and for storing resumes, video rec etc.., I would use assest management tools like cloudinary etc.., rather than storing in db, coz Its gonna be much more faster this way.

See more
Recommends
on
Node.jsNode.js

Nuxt + Fastify + GraphQL + Nginx + Memcache = fast, confortable and a lot of plug-ins. Apache is realy slow :(. Nuxt is great and easy to use. Nginx, Memcache and Fastify it's very efficient. GraphQL require much more from You then REST, but give You flaxibility, order, plugin etc. We tried and don't regret .

See more
Needs advice
on
DjangoDjangoLaravelLaravel
and
SpringSpring

Hi all. I want to rewrite my system. I was a complete newbie 4 years ago and have developed a comprehensive business / finance web application that has been running successfully for 3 years (I am a business person and not a developer primarily although it seems I have become a developer). Front-end is written in native PHP (no framework) and jQuery with backend and where many processes run in MySQL. Hosted on Linux and also sends emails with attachments etc. The system logic is great and the business has grown and the system is creaking and needs to be modernised. I feel I would stick with MySql as DB and update / use Django / Spring or Laravel (because its php which I understand). To me, PHP feels old fashioned. I don't mind learning new things and also I want to set the system up that it can be easily migrated to Android/iOS app with SQLite. I would probably employ an experienced developer while also doing some myself. Please provide advice -- from my research it seems Spring/Java is the way to go ... not sure. Thanks

See more
Replies (4)
Recommends
on
LaravelLaravelVue.jsVue.js

PhP might be old fashionned but Laravel is really great. I've tried nodeJs backend with express, python with flask and a little bit of serverless, and quite frankly, laravel was by far the best in my opinion. It has a lot of official packages that speeds up development (from authentification to serverless deployement), it also uses Eloquent ORM that support Mysql databases. Finally it works great with VueJs for the front end development.

See more
Harry Jin

I recommend ExpressJS or NestJS as BackEnd and React as Front-End and PostgreSQL as the database. The reason is as follows. First of all, since it is a financial system, various services will exist, and each service must be well connected and combined with each other. The organic combination of small services that work very well is the foundation of a great system. For this, it is best to use Node.js based, and I think ExpressJS or NestJS is the best choice. We recommend choosing React or Vue as the FrontEnd. PostgreSQL is currently the best performing database. These three combinations have many examples, and their superiority has been confirmed by my implementation in many projects already. If you are interested in my advice and have any questions, please feel free to contact me.

See more
Jayson Pamittan
Software Engineer - Level III at Arch Global Services · | 4 upvotes · 91.6K views
Recommends
on
LaravelLaravel

On my end for me it's better to choose Laravel. It has very good documentation and easy to code. The framework supports MVC and you can create either monolithic or API only. The community is also big. If you combined a Domain Driven Development (DDD) and Test Driven Development (TDD) on Laravel then it will be a superb.

See more

Since you are using PHP more natural is Python - it can handle high traffic - Python is very effective in coding. Python is superset of Java and C++ - True Object Oriented and have very clear syntax (Spring is hard to learn and debug - you can be confused many times). It is human readable you can code 2-4 times faster with small speed sacrifice. Jinja2 is more faster/flexible Django - whatever Django is better with ORM. Flask is just proposal - many other options of web servers.

See more
Needs advice
on
ASP.NETASP.NETJavaScriptJavaScript
and
Node.jsNode.js

I am about to complete my graduation with a computer science background. I want to pursue my career in software development. My front-end knowledge is very poor. I didn't like PHP so I didn't go for Laravel. My university offers a course on ASP.NET, I liked C# that's why I took asp.net. But now I think .net tech is unnecessarily complicated and most of the job offers available for .net are not for freshers. Should I try js and Node.js now? I mean as a fresher which tech stack should I choose for web development(Backend)?

See more
Replies (2)
Anthony Chiboucas
Software Engineer & Support Operations Lead · | 5 upvotes · 87K views
Recommends
on
JavaScriptJavaScriptNode.jsNode.js

Just don't .NET. It was a failed idea from the start. Node and javascript are easier to learn, with much wider adoption, and more active communities.

.NET is an old experiment in using a markup language to separate the UI from the business logic. The idea was that this would allow a small team of hyper-competent engineers to build the tooling and code for a large team of less-skilled front-end developers to leverage. In practice, leveraging that customized UI markup requires understanding and adjusting the underlying code. The result is that any UI change requires a hyper-competent .NET engineer.

However, many larger companies bought into it a long time ago, and now have a hard dependency on old monolithic .NET ecosystems, and they do need .NET developers to maintain them.

So, you can get a well paying .NET job without much difficulty. However, you'll neither like it, nor be doing anything interesting. There's no growth here, only a very long slow death of .NET (that'll probably take another 20 years).

Node and Javascript are sticking around, and still growing.

See more
Mahmoud Gabr
Software engineer at AlgoDriven · | 4 upvotes · 87.2K views
Recommends
on
ASP.NETASP.NET

What I can see, you are confusing yourself, if you studied .Net now it's better to work as .Net developer, and you will find opportunities as fresh. Just search and don't waste your time. After you get more experience in .Net, then you can learn NodeJS if you still need to learn it.

See more
Needs advice
on
DjangoDjango
and
Node.jsNode.js
in

Situation: I need to make a website for my Final Year Project. It's the website for brain analysis. The website features include chat, blogs, posts, users, payment methods. One of the main features includes the use of AI, which I know only in Python.

Decisions and Confusions: I decided to make two backends and one front-end. One backend will be using Django with GraphQL/RestAPI that will be running my AI models. The other backend is for the website. It will add users, chat, post, etc. I'm thinking of using TypeScript, Prisma, ExpressJS, GraphQL, MongoDB/PostgreSQL.

Please guide me to the latest and stable tech stack I can use. Because one of the requirements of our Final Year Project is to use the latest tech stacks. 1st Backend advice? (This will be used to run AI models) 2nd Backend advice? Frontend to 2nd Backend advice?

Thank you.

See more
Replies (2)

Hey there 👋,

Daniel from the Prisma team here.

I think your choice of a stack would work well for your final year project.

Some recommendations: - Use PostgreSQL if you need a stable stack. Prisma support for MongoDB is currently in Preview and therefore isn't stable. Moreover, PostgreSQL being a relational database enforces a schema more strictly than MongoDB which is useful given that your data model involves multiple relations. - If your Django backend exposes a REST API, you can also expose it over the GraphQL API by proxying requests from the GraphQL API to the REST API. That way, you have a unified API for all operations. This is typically known as wrapping. - Regarding the GraphQL part, I would consider looking at Nexus and nexus-prisma.

For inspiration, check out the Prisma Examples ​repository which contains many ready-to-run examples.

Here's another fully-fledged example using Prisma, Fastify, GraphQL, and PostgreSQL: https://github.com/2color/fastify-graphql-nexus-prisma

See more
Recommends
on
FastAPIFastAPIKubernetesKubernetes

Hi. Maybe you can try use FastAPI instead Django https://fastapi.tiangolo.com It could be faster. The FastAPI documentation is so useful and elegant.

Also you can try split a little more the backend and use an "microservice" architecture. Using Kubernetes to deploy your services.

See more
Needs advice
on
CodeIgniterCodeIgniter
and
LaravelLaravel

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.

See more
Replies (8)
anas mattar
Technical Lead at DPO International · | 19 upvotes · 128.6K views
Recommends
on
LaravelLaravelVue.jsVue.js

It's better to use Laravel with Vue.js and also laravel is very lightweight and speed performance.

See more
Jagdeep Singh
Tech Lead at Founder + Lightning · | 8 upvotes · 115.6K views
Recommends
on
LaravelLaravel

Go for Laravel 8 (not 7, obviously because it's the latest version and has a lot of new features and bug fixes) when it comes to backend coding.

Go for Vue.js (if you don't have any preference) because it is having by default configuration setup in Laravel).

Pick MySQL or PostgreSQL both work fine.

If you know GCP, go for it, otherwise go for Heroku.

Avoid spending time on hosting setup - prefer PaaS based solutions.

In Laravel, try Laravel Breeze or Jetstream - these might make the development much faster - at least for the basic setup that is there.

See more

40-50k should not be a problem at all for the database nor for any frontend/backend combo. Laravel works pretty well with Vue.js, for example; and you can include Elasticsearch in the combo if you really need fulltext search capabilites in your app. That will be much more decisive in the final product than the frontend stack chosen.

See more
Brandon Miller
Recommends
on
GolangGolangNode.jsNode.js

I don't know anything really about CodeIgniter, but I do know that microservices are a great choice for e-commerce, as they tend to have a lot of different moving (but not necessarily connected) parts. That being said, and if you have a choice, I'd recommend Go personally. But node isn't the worst option if Go isn't something you're comfortable with.

If you know typescript and want an entire framework to work with, go wth Angular. AngularJS, to my knowledge was deprecated. React is great, popular, and you'll find a ton of support.

See more
Vlad Macovei
Full stack developer at EasyDo Digital Technologies · | 4 upvotes · 63.3K views
Recommends
on
LaravelLaravelNuxt.jsNuxt.js

I highly recomand using the Vue based Nuxt framework for the front end. It is not required to use the server render feature and the folder based routing and stores are really nice to work with. In addition it brings component auto import and lots of plugins neatly integrated (authentication, i18n, socket.io, etc.). If in the setup process you also chose Vuetify as a component library you will cover 98% of needed components.

As for Laravel vs CodeIginter I would chose Laravel as the safest bet. Sadly, CodeIgniter development slowed down after the main contributor's death. It is also worth mentioning, as others did, that the initial boost Vue got is from Laravel's creator and community. The simplicity and ease of use mindset is shared.

See more
Nic Rosental
Recommends
on
Vue.jsVue.js

I can't speak to Angular since I haven't used it for at least 3 years (I wasn't a fan back then) but both React and Vue are great frameworks and will do the job just fine. Since you are using Laravel for the back end I'd recommend Vue. There's a lot of overlap between the communities and most Laravel developers I know do favor Vue over React.

See more
Prashant Singh Ahluwalia
Head of Engineering - AIOps at Microsoft · | 2 upvotes · 52.1K views
Recommends

If your customer is an enterprise, I'll strongly recommend leveraging Azure or AWS for building and hosting your backend. AWS API Gateway + AWS Lambda + AWS RDS would be a good combination. You might want to run everything in your VPC if security / privacy are your top concerns.

See more
Recommends
on
LaravelLaravel

Laravel is the best tool in php and I know it also if i don't develop in php. Vue.js is the future. In combination with https://bootstrap-vue.org/ is THE solution.

Best regards

See more
Needs advice
on
LaravelLaravel
and
Spring BootSpring Boot

Hi. I am a backend developer in a company tasked with recoding a legacy application, choosing the right technology stack, and then later hiring for that stack.

This is a freight/logistics application made 15 years ago in PHP with no modern framework used. In this application, customers from different countries login into theirs accounts and add a huge number of shipments, like let's say 500, and then, later on, generate PDFs for them after calling third-party APIs. This application has API integrations with lots of other companies and also offers API access to its own software as well. This application is also used in-house by warehouse people to scan different shipments using barcode scanners and to process shipments by performing different actions on them. The database being used currently is MySQL.

Now we have the choice to write this application in a modern technology stack. Performance, speed, reliability, and security are the primary concerns here.

Should I go with Java/Spring Boot with AngularJS as the front end or PHP/Laravel with Vue.js as the front end?

Switching at this point from PHP to Java will not be hard if Java is considered better here because we can hire as per our final decision.

Thanks.

See more
Replies (8)
Recommends
on
LaravelLaravel

Hi Chris, I will suggest going with Laravel and MySQL since the existing system is already in PHP it will help a lot and easier to port out to Laravel and will save a lot of time. Laravel has a very robust mechanism to handle the jobs/Queues and it comes with a lot of features.

See more
fabrice ilboudo

Hi Chris, I recommend you to use Java with spring boot to rewrite your software. You will have the advantages of modern applications. The main challenge will be to cut your existing business logic to functional services (microservices) that will communicate each others. That will comes up also with the challenges of orchestrate those services but for that no worries. For the database also, will recommend Postgre too. For the front end, you can use angular, react or vue js with your backend since it will be API calls.

Hope it can help!

See more
Recommends
on
AngularAngularSpring BootSpring Boot

Being worked on both frameworks, I would suggest Spring Boot as it is really great when it comes to scalability. Laravel on the other hand provides great developer tools and a command line interface for the ease of development ( I really love the migrations in Laravel). If it is performance and scalability you are looking for then Spring Boot is your go to. It (and Java) has really matured over the years. Also, I would suggest you to consider Angular 2+ since AngularJs is obsolete.

See more
Attila Fulop
Management Advisor at artkonekt · | 4 upvotes · 50.5K views
Recommends
on
LaravelLaravel

First of all, Java can give you definitely better speed, especially at scale. One benefit is that you can tune it for a better response time, and another one is when you'll have millions of requests per day it'll save you some infrastructure cost.

But.. will you have millions of requests a day? How much does it matter if the API response time is 10ms or 50ms?

Rewriting an existing project is a huge deal. It can take years(!), especially if the team hasn't done such a thing yet and especially if the tech stack gets completely replaced.

So I argue against rewrite in the first place. There are two older articles on the topic, but their arguments are both valid as of today: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.jjinux.com/2008/05/joel-on-software-never-rewrite-from.html

What I'd suggest instead is to learn refactoring strategies. Even if you have some routine with refactoring it is worth reading Fowler's refactoring book: https://book-programming.com/refactoring-books/

What I would do with a "frameworkless" PHP codebase is: - Add a framework (I would also go with Laravel, but Symfony or Phalcon would also do the job) - Isolate the existing codebase in a folder if possible without any actual changes - Route the requests through the framework (with a catch-all route) and forward the request to the existing codebase - Take a simple component/page to start with and replace the DB calls using Laravel's DB layer - Doing this "experiment", you'll have a strategy that you can apply to other components - Do the refactoring for views, controllers, etc, step by step - In case you have APIs and other kinds of components apply different strategies - Keep deploying as frequent as possible - Apply the learnings on the run and do pivots if needed

There are many more details to this, but it exceeds the scope of this answer.

About Java: last year I was part of, actually sparking the rewrite of an existing API from Symfony to Java using Spring Boot/JHipster. The bottom line is that it was a bad idea.

We had a separate PM, an Engineering Manager, and a set of developers both Java and PHP, one of the developers highly experienced with the JHipster stack. We've got the support of the CEO, and despite his strong worries, the Head of Software gave it a green light too. After 20 months the old PHP system is still running and - of course - it has more features than the Java one, because life didn't stop, business demanded new features in the live system.

Java and the whole ecosystem are very different, so even if you have people with battlefield experience with it, the complete rewrite is extremely risky.

In my opinion, it's less of a technical than a business decision. I would sit down with the person(s) paying the bill for the refactoring. I would phrase the following questions and elaborate the answer together with them: - What is the problem we want to solve? (maintainability? speed? lack of people understanding the system? security?) - Is the system legacy only technically or also in the meaning "it no longer fits the business' reality"? - What are the expected outcomes of the refactoring? - What is the budget for the new/refactored system? - What is the timeframe allowed for the refactoring/rewrite? - How does the rewrite compare to refactoring, in terms of time, money, and complexity? - What happens with the development of new features during refactoring? - What resources will be assigned to the refactoring project?

See more

Springboot (you can see for "jhipster" for a quick start with spring/angularJs ) is used in many micro service enterprise applications (they are design for), so API integration is "as easy as ABC". With this you can scale and give an answer to some of your questions: performance, speed, reliability and security. But be carefull with the learning curve...

NB: - For the DB, leave mysql and go to Postgres! their is no other option! you say thank you later! (a nosql database can be a nice tool too) - You have associated a front framework with a back framework, but they is no good reason to do that. You can use vuejs with springboot too (and i use them!)

See more
Brandon Miller
Recommends

Depends on how much time and money the company is willing to invest... But I'd recommend at least getting a start on lifting and shifting to the cloud if you have the knowledge/ability. Lots of performance gains can be made as well as cost saving. Not to mention learning how to operate on the cloud is a great thing to put on any resume these days.

See more
Recommends

Any help? 234 views but not a single advice 🙁

See more
Yoram Kornatzky
Independent Information Technology and Services Professional at DR. YORAM KORNATZKY LTD · | 2 upvotes · 50.7K views
Recommends
on
LaravelLaravel

Much easier to work with. And naturally integrates with Vue.js. Angular is in decline. Moreover, you already live in the PHP ecosystem. While I do both Java and PHP, onboarding into the PHP ecosystem is much faster.

See more
Abdullah Adeel
Needs advice
on
DjangoDjangoNode.jsNode.js
and
RedisRedis

Hey everyone, I am planning to start a personal project that would be yet another social media project with real-time communication facilities like one-to-one chat, group chat, and later voice and video chat using WebRTC. The thing I am concerned about is Django being able to handle all the real-time stuff using websockets. I can use Django Channels, but I don't think that would be a very scalable solution. Moreover, django_channels require alto of configurations, and deployment is also a pain. My plan is to use a separate Node.js server to handle all the socket connections and have it talk to the main django server through Redis. My question is whether the above-mentioned solution is a good choice? If yes, how this can be achieved, keeping in mind all the authentication other related problems. It might be simple, but I have never done this before, which might be the main reason I am concerned. But any suggestion will be appreciated.

Thanks in advance 😊

See more
Replies (1)
Sergey St.

Try to do it with less - Nodejs + Redis + socket.io, optionally you can always communicate with django, but you can do it all in Nodejs, use pm2 and cluster too. For Redis you can also use Pub/Sub, is a good combination for future scaling.

See more
Needs advice
on
DjangoDjangoLaravelLaravel
and
RailsRails

Which is better of Laravel, Rails and Django for creating great products quickly?

Which is better for creating open source apps that others might want to contribute to?

I want a mature tool for creating web apps that qualifies for:

  • Quick prototyping
  • Easy to get to production level for backend
  • Maintainable and buildable by one person alone
  • Enforces conformity, so others can easily read and contribute to the code, making successfully open sourcing possible
  • Works well with React
  • Has a mature and fairly stable ecosystem for the basics (auth, storage, db, image handling, backups, change history, etc.
  • Has an ecosystem that will still be alive in 10 years, responding to changes.

I would have to learn Ruby, Python or PHP for each, so that factors in too.

I'm proficient in React and Node.js, but I feel the node backend ecosystem is too immature with a million different ways to do everything, and too many decisions to make, too much wiring to get everything to work together, and too many packages that end up not being supported a few months down the line.

Which would you choose for me to learn?

See more
Replies (5)
Reza Malek
at Meam Software Engineering Group · | 7 upvotes · 138.9K views
Recommends
on
DjangoDjangoRailsRails

Comparing them end-to-end, Rails comes the most productive in my opinion. But there are bolder parameters you may consider. i.e. no one switches from Django to Rails to improve productivity and vice versa (probably from Laravel to one of those two).

  • The language's productivity also matters, which both Ruby and Python are better for that.

  • There is a philosophical difference between #Django and #Rails :

  • Django supports the "Explicit over Implicit" idea, making it easier for newcomers to understand what's going on. This idea also has downsides. This allows beginners to start working with Django without even learning Django and best practices and defer learning by using references like Stackoverflow.com, which is not a good idea because you potentially don't know things that you don't know! Also, you may find many different project styles.

  • On the other hand, Rails support the "Convention over configuration" and Scaffolding idea. It's easier for a Rails developer to be added to a new project or just review a random Rails project. Everything has a default and also it has some downsides as well. e.g. As a beginner, everything feels like magic in Rails, and you don't understand what is going on and how Rails understand while you didn't "explicitly" say what do you want sometimes.

Conclusion: Rails and Django are more productive and you can build projects on your own quickly (many giant startups launched this way!).

Node.JS isn't immature, also sometimes shows better performance comparing the mentioned alternatives. But if you suffer from "a million different ways to do everything" and "many decisions to make", Take Ruby on Rails for sure.

P.S: for learning RoR I suggest the book/video from Michael Hartl.

See more
Recommends
on
DjangoDjango

I picked Django because we use it at work. But honestly, if you don't know any of them, I would look at the jobs around where you live and learn the one that either has the most jobs posted or if you can look at the trends the one that is growing the number of jobs the most.

All three would satisfy your needs and all three are good choices. Dotnet core would also be a good choice, again if there are jobs in your area for said technologies. If you literally don't care about this for employment, learn them all and just do it in alphabetical order :)

Note: I think you are wrong about Node being too immature - there are also MOSTLY standards for everything you want to do on the backend that have not changed for many years.

See more
Andrew Kornilov
Co-founder, Principal Developer · | 4 upvotes · 77.8K views
Recommends

Rails uses too much magic and sugar. Laravel is something from the previous century. I'd say Django can be well balanced choice. I have extensive experience with all three. So, this advice based on practical projects

See more
Malo Skrylev

I recommend Ruby/Rails. I write the text in question answer form:

Quick prototyping

Yes you can use the prototyping in Rails or not. And this can be realized by adding any of testing framework like Cucumber or RSpec for example. Writing the test you can work on the application prototype without a change real code in production, or even development environment.

Easy to get to production level for backend

Yes it is easy, you are able to use the capistrano gem with its modules, if required, to deploy application to production within a day.

Maintainable and buildable by one person alone

Since the Rails gets on itself the main code part of a data processing, you are able easily to generate the required code with build-in Rails or external gem generators, and to merely maintain the your code, if you would cover it with a test of selected test framework.

Enforces conformity, so others can easily read and contribute to the code, making successfully open sourcing possible

As far as I said you can barely control a contribution to your project with using the test covering frameworks, to keep conformity the project.

Works well with React

You can use React along with any JS NPM module easily using webpacker gem.

Has a mature and fairly stable ecosystem for the basics (auth, storage, db, image handling, backups, change history, etc.

Of course the Rails framework is supported by many three-side gems, which can be found at rubygems, that support the authentication (devise), storage feature (fog), db (pg/mysql/sqlite3), image handling (rmagick), backups (backup), change history (history)

Has an ecosystem that will still be alive in 10 years, responding to changes.

Ruby/Rails with the RubyGem ecosystem is actively envolving and not plan to be collapsed and abandned with of development both Ruby language and Rails framework.

So, you can freely and fearlessly start using the Rails framework as server side base for your project.

See more
Sebastian Gaviria Tangarife

DJango after a little practice, with migrations and support to a lot of libraries and modules is very efficient to create small projects.

Edit: Between Laravel, Django or RoR (Ruby on Rails)

See more
Needs advice
on
CakePHPCakePHPIgnite UIIgnite UI
and
LaravelLaravel

Hi, Which tool will you recommend:

I need to build a web application, oriented to small businesses, like a small ERP. It will have intensive use of Sql to access a PostgreSQL database. It has to be secure, as it will handle information on customers, sales, inventory.

If you think another tool will be better, please let that know.

Thanks a lot

See more
Replies (3)
Krunal Shah
Full Stack Developer at Infynno Solutions · | 5 upvotes · 61.5K views
Recommends
on
LaravelLaravelReactReactRedisRedis

Laravel and Postgres will be the better solutions you can add more like Redis for caching and React/Vue for the frontend.

See more
Recommends
on
Spring BootSpring Boot

Check Spring, if security and reliability is needed along with Lots of Database , check Spring Data, spring web, spring security

See more
Ademir Mazer Junior
Tech Lead - Software Engineer at UEPG / DN42 · | 2 upvotes · 5.8K views
Recommends
on
LaravelLaravel
at

Laravel works well in this context, you can build a secure and fast ERP using it with postgresql and all Laravel environment like caching, queues, jobs. And for frontend if you need productiviness I would go with Livewire to help

See more
Needs advice
on
DjangoDjango.NET Core.NET Core
and
Node.jsNode.js

Looking for Advice! I am developing a hybrid app for video streaming, I have a prior experience with .NET Core and would like to use it for my back end but the latest buzz on characteristics of Node.js such as light weight, event loop and Async capabilities is really tempting me to reconsider my decision. On a quick research I could observe that a lot of Internet companies use either Python Django or Node JS for their back end which has thrown me into confusion, looking for an expert advice, thx.

See more
Replies (5)
Brandon Miller
Recommends
on
GolangGolang

If you want to create a reliable video streaming service, you'll probably want to go with a UDP approach. TCP will throw an exception as soon as a packet drops. That being said..... Node.js is ultimately a bad choice. Way too high-level. I've found, when working with UDP, it's much more performant on lower level languages like C, etc. As far as my recommendation, if you want to go with something 'new' and fun, check out GoLang. It's low level, and developed to handle high performance at scale.

See more
anas mattar
Technical Lead at DPO International · | 5 upvotes · 193.7K views
Recommends
on
.NET Core.NET Core

That's depend on your experience if you are very well in C# you should start using the Technology that's you know and like it.

See more

So none of these tools may be bad for your implementation of this streaming app. But one thing to consider is what are you trying to achieve. If your application is more front end facing with streaming to a backend service C# may be your better implementation path just due to its greater overall versatility in terms of options for mobile, backend development, front end development, service development, etc... However if your focused purely on the streaming aspects and utilizing Amazon or Azure services in conjunction with the language of choice, Python, Node.Js, Django or other technologies may offer a faster option to success. Another thing to consider is many of the streaming platforms today utilize services from cloud vendors to achieve their success more than simply the ingenuity on the part of their internal staff's programming skills. Traditional programming languages like Java, C++, C# are used less these days. Today most teams are piggybacking off these services where its possible to give your application the greatest ability to compete with the big boys. - Your Friendly Neighborhood Tech Manager

See more
Aslam Mohammad
Systems Engineer at Infosys · | 2 upvotes · 178.5K views
Recommends
on
DjangoDjangoNode.jsNode.js

You could apparently go for both Node or Django but I would recommend choosing Node as you're building a video streaming app and the biggest video streaming service Netflix used Node in the production.

See more
Pavel Nekrasov
MyOpenTour at MyOpenTour · | 1 upvotes · 155.6K views
Recommends
on
fastapifastapi
at

Take a look at FastAPI if you are going to choose Python

See more
Decisions about CodeIgniter, Laravel, and Node.js
Jayson Pamittan
Software Engineer - Level III at Arch Global Services · | 13 upvotes · 83.3K views

Laravel is so very friendly in coding in backend and has a good documentation and easy to understand. It's also easy and rapid to create application on this framework. The community is also big where you can get a lot of other solutions from other developers. Same as well in Vue Js, its lightweight and very fast to compile and load. The coding is very well structured and clean. PHP has now also the features of strict type rules and Vue Js too since it's now support Typescript.

See more
Benjamin Stirrup

NestJS has a very good documention. Furthermore, as a former django-user myself, I believe it is nice to finally get a backend node.js framework very much opiniated like Django. It may be related to what I previously said, but in terms of enterprise-used framework, it seems that Nest.js is the most popular.

See more
Kane Jason
Agile Developer at Ace Infoway · | 6 upvotes · 32.8K views

Selecting an appropriate back-end technology requires vital consideration of the variables like speed, reliability, and scalability. Know the features of the best 4 back-end frameworks to select an appropriate one for your project.

Thus, to comprehend why backend frameworks are essential for web app development and detailed analysis of the best backend frameworks, read our latest blog post.

See more
Danilo Polani
Senior Software Engineer at WeRoad · | 7 upvotes · 89.9K views

For a full-stack app or just simple APIs I'd go 100% with Laravel. You get a clean architecture, beautiful documentation and friendly and always growing community: the project is yours, from A to Z. With their docs and resources like Laracast you can start from zero and build what you want, when you want. The learning curve is definitely smaller when compared to Symfony and, with the help of a bit of "magic" (Facades etc.) you get the same results in the half of the time with cleaner code.

See more
Noe Osorio
FullStack Engineer at Finloop · | 9 upvotes · 98.2K views

Node Js have worked incredible great for me on every project I had. It is fast enough to support big and small apps, you do not have to worry about performance, because it is very capable of building a big REST API.

One advantage is that the learning curve is lower when you have used javascript on web browser as frontend, so, it is easy to migrate from Frontend to Backend with node.

Node Package Manager (NPM) has an incredible amount of packages from many developers, so you can use them on your project as you need them.

Code is easy to support, way different than Java Legacy code.

See more

We choose Next.js for our React framework because it's very minimal and has a very organized file structure. Also, it offers key features like zero setups, automatic server rendering and code splitting, typescript support. Our app requires some loading time to process the video, server-side rendering will allow our website to display faster than client-side rending.

See more

I am planning to develop project management system SAAS based. Can any one help me with selection of platforms from Django or Laravel and for database MongoDB or Firebase/Firestore or MySql? On front end I am going to use Quasar Framework (VueJS). Note : project will be Webapp, Mobile app and desktop app.

See more
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 553.7K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more
washie mugo
Chose
DjangoDjango
over
LaravelLaravel

i find python quite resourceful. given the bulk of libraries that python has and the trends of the tech i find django which runs on python to be the framework of choice to the upcoming web services and application. Laravel on the other hand which is powered by PHP is also quite resourceful and great for startups and common web applications.

See more

As a small team, we wanted to pick the framework which allowed us to move quickly. There's no option better than Rails. Not having to solve the fundamentals means we can more quickly build our feature set. No other framework can beat ActiveRecord in terms of integration & ease-of use. To top it all of, there's a lot of attention paid to security in the framework, making almost everything safe-by-default.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of CodeIgniter
Pros of Laravel
Pros of Node.js
  • 88
    Mvc
  • 76
    Easy setup
  • 70
    Open source
  • 62
    Well documented
  • 36
    Community support
  • 25
    Easy to learn
  • 21
    Easy
  • 14
    Fast
  • 11
    HMVC
  • 9
    "Fast","Easy","MVC"
  • 9
    Language Suppert
  • 7
    Powerful
  • 6
    I think it is best. we can make all types of project
  • 6
    Easy, fast and full functional
  • 6
    Open source, Easy to setup
  • 5
    Customizable
  • 5
    Beginner friendly framework
  • 4
    Super Lightweight, Super Easy to Learn
  • 3
    CLI
  • 2
    Easily Extensible
  • 1
    Powerful
  • 553
    Clean architecture
  • 392
    Growing community
  • 370
    Composer friendly
  • 344
    Open source
  • 324
    The only framework to consider for php
  • 220
    Mvc
  • 210
    Quickly develop
  • 168
    Dependency injection
  • 156
    Application architecture
  • 143
    Embraces good community packages
  • 73
    Write less, do more
  • 71
    Orm (eloquent)
  • 66
    Restful routing
  • 57
    Database migrations & seeds
  • 55
    Artisan scaffolding and migrations
  • 41
    Great documentation
  • 40
    Awesome
  • 30
    Awsome, Powerfull, Fast and Rapid
  • 29
    Build Apps faster, easier and better
  • 28
    Eloquent ORM
  • 26
    Promotes elegant coding
  • 26
    Modern PHP
  • 26
    JSON friendly
  • 25
    Most easy for me
  • 24
    Easy to learn, scalability
  • 23
    Beautiful
  • 22
    Blade Template
  • 21
    Test-Driven
  • 15
    Security
  • 15
    Based on SOLID
  • 13
    Clean Documentation
  • 13
    Easy to attach Middleware
  • 13
    Cool
  • 12
    Simple
  • 12
    Convention over Configuration
  • 11
    Easy Request Validatin
  • 10
    Simpler
  • 10
    Fast
  • 10
    Easy to use
  • 9
    Get going quickly straight out of the box. BYOKDM
  • 9
    Its just wow
  • 8
    Laravel + Cassandra = Killer Framework
  • 8
    Simplistic , easy and faster
  • 8
    Friendly API
  • 7
    Less dependencies
  • 7
    Super easy and powerful
  • 6
    Great customer support
  • 6
    Its beautiful to code in
  • 5
    Speed
  • 5
    Eloquent
  • 5
    Composer
  • 5
    Minimum system requirements
  • 5
    Laravel Mix
  • 5
    Easy
  • 5
    The only "cons" is wrong! No static method just Facades
  • 5
    Fast and Clarify framework
  • 5
    Active Record
  • 5
    Php7
  • 4
    Ease of use
  • 4
    Laragon
  • 4
    Laravel casher
  • 4
    Easy views handling and great ORM
  • 4
    Laravel Forge and Envoy
  • 4
    Cashier with Braintree and Stripe
  • 3
    Laravel Passport
  • 3
    Laravel Spark
  • 3
    Intuitive usage
  • 3
    Laravel Horizon and Telescope
  • 3
    Laravel Nova
  • 3
    Rapid development
  • 2
    Laravel Vite
  • 2
    Scout
  • 2
    Deployment
  • 1
    Succint sintax
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 805
    Open source
  • 486
    Great for apis
  • 477
    Asynchronous
  • 423
    Great community
  • 390
    Great for realtime apps
  • 296
    Great for command line utilities
  • 84
    Websockets
  • 83
    Node Modules
  • 69
    Uber Simple
  • 59
    Great modularity
  • 58
    Allows us to reuse code in the frontend
  • 42
    Easy to start
  • 35
    Great for Data Streaming
  • 32
    Realtime
  • 28
    Awesome
  • 25
    Non blocking IO
  • 18
    Can be used as a proxy
  • 17
    High performance, open source, scalable
  • 16
    Non-blocking and modular
  • 15
    Easy and Fun
  • 14
    Easy and powerful
  • 13
    Future of BackEnd
  • 13
    Same lang as AngularJS
  • 12
    Fullstack
  • 11
    Fast
  • 10
    Scalability
  • 10
    Cross platform
  • 9
    Simple
  • 8
    Mean Stack
  • 7
    Great for webapps
  • 7
    Easy concurrency
  • 6
    Typescript
  • 6
    Fast, simple code and async
  • 6
    React
  • 6
    Friendly
  • 5
    Control everything
  • 5
    Its amazingly fast and scalable
  • 5
    Easy to use and fast and goes well with JSONdb's
  • 5
    Scalable
  • 5
    Great speed
  • 5
    Fast development
  • 4
    It's fast
  • 4
    Easy to use
  • 4
    Isomorphic coolness
  • 3
    Great community
  • 3
    Not Python
  • 3
    Sooper easy for the Backend connectivity
  • 3
    TypeScript Support
  • 3
    Blazing fast
  • 3
    Performant and fast prototyping
  • 3
    Easy to learn
  • 3
    Easy
  • 3
    Scales, fast, simple, great community, npm, express
  • 3
    One language, end-to-end
  • 3
    Less boilerplate code
  • 2
    Npm i ape-updating
  • 2
    Event Driven
  • 2
    Lovely
  • 1
    Creat for apis
  • 0
    Node

Sign up to add or upvote prosMake informed product decisions

Cons of CodeIgniter
Cons of Laravel
Cons of Node.js
  • 6
    No ORM
  • 1
    No CLI
  • 53
    PHP
  • 33
    Too many dependency
  • 23
    Slower than the other two
  • 17
    A lot of static method calls for convenience
  • 15
    Too many include
  • 13
    Heavy
  • 9
    Bloated
  • 8
    Laravel
  • 7
    Confusing
  • 5
    Too underrated
  • 4
    Not fast with MongoDB
  • 1
    Not using SOLID principles
  • 1
    Slow and too much big
  • 1
    Difficult to learn
  • 46
    Bound to a single CPU
  • 45
    New framework every day
  • 40
    Lots of terrible examples on the internet
  • 33
    Asynchronous programming is the worst
  • 24
    Callback
  • 19
    Javascript
  • 11
    Dependency based on GitHub
  • 11
    Dependency hell
  • 10
    Low computational power
  • 7
    Can block whole server easily
  • 7
    Callback functions may not fire on expected sequence
  • 7
    Very very Slow
  • 4
    Breaking updates
  • 4
    Unstable
  • 3
    No standard approach
  • 3
    Unneeded over complication
  • 1
    Can't read server session
  • 1
    Bad transitive dependency management

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is CodeIgniter?

CodeIgniter is a proven, agile & open PHP web application framework with a small footprint. It is powering the next generation of web apps.

What is 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.

What is Node.js?

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Need advice about which tool to choose?Ask the StackShare community!

What companies use CodeIgniter?
What companies use Laravel?
What companies use Node.js?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with CodeIgniter?
What tools integrate with Laravel?
What tools integrate with Node.js?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
947
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
5
3820
Node.jsnpmKubernetes+6
1
1402
GitNode.jsFirebase+5
7
2343
JavaScriptGitHubNode.js+29
14
13387
What are some alternatives to CodeIgniter, Laravel, and Node.js?
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.
See all alternatives