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

Laravel

28K
23.3K
+ 1
3.9K
Rails

19.5K
13.6K
+ 1
5.4K
Add tool

Laravel vs Rails: What are the differences?

Laravel vs Rails

Introduction

In this comparison, we will explore the key differences between Laravel and Rails, two popular web application frameworks. Both frameworks have their own strengths and weaknesses, and understanding these differences can help developers choose the right framework for their projects.

  1. Language: Laravel is written in PHP, a widely used scripting language for web development, while Rails is written in Ruby, another scripting language known for its simplicity and readability.
  2. Community: Laravel has a larger and more actively engaged community compared to Rails. This means that there are more resources, tutorials, and plugins available for Laravel, making it easier to find help and support when needed.
  3. Database Support: Laravel supports multiple database systems including MySQL, PostgreSQL, and SQLite, whereas Rails primarily focuses on working with the Ruby-based database Active Record. This gives Laravel an advantage in terms of flexibility and compatibility with a wider range of database options.
  4. Development Speed: Rails is known for its focus on convention over configuration, which means that developers are guided by established conventions and patterns, allowing for rapid prototyping and development. Laravel, on the other hand, provides more freedom and flexibility in terms of configuration, allowing developers to have more control but potentially sacrificing some development speed.
  5. Testing: Rails has a built-in testing framework called RSpec, which facilitates the writing of tests and makes it easier to ensure reliable and robust application functionality. Laravel also has its own testing framework called PHPUnit, but it may require more configuration and setup compared to Rails' integrated solution.
  6. Ease of Learning: Laravel has a more user-friendly and intuitive syntax, making it easier for beginners to learn and understand. Rails, while known for its elegance and simplicity, may have a steeper learning curve for those new to the Ruby language.

In summary, Laravel and Rails offer different approaches to web development. Laravel provides flexibility, a larger community, and better database support, while Rails offers convention over configuration, a simpler syntax, and a built-in testing framework. Developers should consider their project requirements, preferred language, and development style when choosing between the two frameworks.

Advice on Laravel and Rails
Needs advice
on
DjangoDjangoPHPPHP
and
RailsRails

I'm really interested in building minimalistic web products with extra stuff like Stripe, MongoDB, solidity, WebAssembly and three.js.

Want to choose my backend lang but am unable to choose, my requirement is:

  • fast dev
  • minimal
  • easy to learn
  • good for saas
  • huge community
  • scalable
  • fast and interactive
  • good job market (not important)
See more
Replies (1)
Christian Maersk
CEO/Full-stack developer at QUARY Design ApS · | 6 upvotes · 40.5K views

If you want an ’easy-to-learn’ and ‘fast dev’ environment I would go with React.js, Node.js, and Firebase. This is probably one of the easiest tech stacks to develop and offers great scalability without creating a complicated database structure. Furthermore, it’s almost hard to develop a react application that isn’t lightning fast.

See more
Needs advice
on
DjangoDjangoLaravelLaravel
and
RailsRails

I am wondering which language would you guys suggest learning if productivity & "future-proofing" is the focus?

I have now 2 years of experience with React Native & Firebase and 3 years of experience with Next.js and ExpressJS. As I like the idea of separating backend & frontend I think as a solo developer the MVC approach will get you way further and overall I started second guessing the whole js ecosystem and its quality.

What I am currently considering the most is Django, even if I am giving up major productivity I think the opportunities Python offers with AI/ML & scrapping are way superior then Rails. I would like to know how much productivity would get lost by deciding on Django.

See more
Replies (1)
Recommends
on
DjangoDjangoPythonPython

Python is simple to read. Easy to use and import libraries. It is widely used in many different application domains. It is very easy to learn compared to other languages.

Considering your background is in front end technology; why not try some other language that can help you become more well rounded? Besides, there are always more and more python jobs.

Django is very easy to learn. If you use Django, I recommend the Django-Rest-Framework. This will save you a lot of time. But you need to understand some Python first. I think Python is as simple as: interpreted, dynamically typed language where you use lists and dictionaries a lot.

See more
Farrukh Zeeshan
Senior Immigration Consultant · | 6 upvotes · 43.8K views
Needs advice
on
LaravelLaravel
and
Node.jsNode.js

What should be used Node.js or Laravel to create a course search portal having about 50K courses, where users will create a profile and enter their academic credentials, scores, language tests, fee range, subject area, etc, and the system will filter and suggest courses meeting the entry requirements and other criteria. The applicant will then shortlist courses, he should be able to compare courses, apply for courses, upload documents and fill in application details, etc.

See more
Replies (1)
Peter Forret
Technical Director at Brightfish · | 4 upvotes · 31.2K views
Recommends
on
LaravelLaravel

It's not a fair comparison. Laravel is a PHP web framework, Node is a web server runtime around JS. The question should be either:

  • PHP or Node? => take what you know/can work fast in
  • Laravel or ExpressJS/MeteorJS => take what you know/can work fast in

If it were up to me, I'd choose Laravel because I know it and can work fast in it :-)

See more
Needs advice
on
DjangoDjangoFirebaseFirebase
and
LaravelLaravel

I need advice. Am currently building a real estate marketplace mobile app using Flutter for frontend. I am not sure which backend solution to use, and thinking of using Firebase, Django or Laravel for backend and MongoDB/MariaDB for the database. I want to build an API backend and then use RESTful API calls for the frontend.

See more
Replies (1)
Recommends

I think you should first choose either a database or server side programming language then you can streamline your other choices based on that, but I think if you are building a big project then going with django + firebase / mongodb would be a good choice else choose laravel + firebase.

See more
Shanover Saiyed
Software Engineer (Web) · | 4 upvotes · 76.4K 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 · 104.9K 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
Amir Beheshtaein
Needs advice
on
JavaScriptJavaScriptNext.jsNext.js
and
RailsRails
in

I've inherited a monolithic Rails app for an MVP product. We're planning to slowly migrate away from RoR to build the remaining parts of the app. App requirements: - Video streaming w/ audio - Real time chat - User authentication & roles - Payment system Performance, scalability, and attracting dev talent(s) are important to our team.

I'm considering the microservices approach, SSR + CSR & caching with Next.js (prefer Svelte-kit but it's in beta). I also prefer to keep this a full JS household. What other JavaScript frameworks/libs would you recommend? Keep in mind the existing RoR will not be deprecated. We'll be consuming the APIs and slowly moving away from them until they can safely be deprecated.

See more
Replies (2)
Paul Keen
Recommends
on
RailsRailsStimulusStimulus

Moving from Rails will reduce development velocity (if you want to have easy support and update the app) and will require more skilled (expensive) developers to support it.

Without previous experience (5+ years) do not suggest moving to node.js. That code will easily become hard to learn and support.

You always can implement microservices with Ruby, but this approach should be considered only after Series-A and when you will have more than 5 developers and dedicated SRE/DevOps.

See more
Ray Arayilakath
Full-stack Developer && Software Engineer at Self-employed · | 4 upvotes · 20.9K views

I see it's been some time since this was posted, but I'm glad you are migrating to Next.js 🎉!

Me personally, I would run an Express.js backend so that frontend and backend logics don't feel blurred, especially if you want to attract more developers to your project. Keeping frontend separated from the backend makes for a healthier workspace ecosystem and often confuses people less. Furthermore, implementation is a lot easier and later on as you move from RoR to an Express.js server there won't be too much confusion as to how certain parts mesh together.

Based on the features you're looking at I would consider using websockets (WSS or Socket.IO) for the chat application or rolling that with features from WebRTC, which you would need to support video streaming anyways. For authentication you could look at Auth0 which has some very nice libs for authentication or you could rig up your own stitching individual OAuths (Google, Facebook, etc.) along with a simple User/Pass signup that you manage in your database. For payment I would consider using Stripe, it's very popular in the JS ecosystem right now, has lots of documentation and features, and is also pretty cost-effective.

I know it's been some time since you have posted this and you have already made some decisions, but if you (or anyone else reading this) has any question feel free to let me know :)

See more
Needs advice
on
DjangoDjangoRailsRails
and
SpringSpring
in

Hi everyone! I'm starting a personal project that I've been postponing for a little while and I'm starting with the backend first.

  • It's an app that needs to query open APIs (It could go up to a hundred APIs) and do filtering and other manipulations onto the data and then store it in my own database. So basically, the end result medium/long term is a lot of data!

  • Besides filtering/storing data from other APIs, the API will interact with my client application. I should note that the client app attempts to give real-time information.

Question: I would want to launch the API within 6 months as I'm also planning to make it available for other devs through platforms like RapidAPI. With all being said, my question is twofold:

  1. Which backend framework would allow me to do these operations with the best response time possible?

  2. Which framework would be the easiest to deal with deployment on AWS?

Background:

I have a background in Spring since I'm using it at work, I have none in Rails and Django but I don't mind trying something new as long as the learning curve isn't crazy. I know python but not Ruby. Beginner on AWS and choose that one after some research.

Thank you very much, sorry it was a bit long. Cheers

See more
Replies (1)
Jorge Velasco
Full Stack Developer at Fintual · | 8 upvotes · 97.6K views

The most relevant part is the central architecture more than the specific backend. For me, it makes sense to go for an event-driven solution. In this case, an event is emitted on every new data, and one or more listeners react to it. In AWS, you can easily get this by storing your data in DynamoDB, which is pretty fast, and have as many lambdas working on the received data (here you can find more details). This way, you keep your worker(s) busy fetching data while others consolidate it. I wouldn't get too crazy on the lambdas, and I'd start with one as there will be only one client by your description. My only concern is how similar the APIs you're consuming are. Depending on that, it may be easier to have different lambdas by target API. My only note on the backend language is that if you want low latency, I'd discard Python and Ruby and choose Go (I know that is not in the list, but given that you're open to learning a new language, you could give it a try). It is easy to learn, has excellent performance, and is the only Lamdba runtime with an X (1.X) in the supported language, making it a great choice.

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 · 135.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 · 122.7K 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 · 70.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
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
Prashant Singh Ahluwalia
Head of Engineering - AIOps at Microsoft · | 2 upvotes · 59.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
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
at Nside Technologies · | 13 upvotes · 116K views

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
Attila Fulop
Management Advisor at artkonekt · | 4 upvotes · 56.4K 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
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

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 · 56.5K 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
Decisions about Laravel and Rails
SamuelBonilla
Senior Developer at Graphul · | 20 upvotes · 33.9K views

Graphul is an Express inspired web framework using a powerful extractor system. Designed to improve, speed, and scale your microservices with a friendly syntax, Graphul is built with Rust. that means Graphul gets memory safety, reliability, concurrency, and performance for free. helping to save money on infrastructure.

See more

A developer and project manager from our team X says the following about our use of Rails at i22:

"We use Rails to build stable and flexible backend systems. Rails is extremely good for managing data structures and quickly setting up new systems. It is the perfect base for most use cases."

I asked the same Team X member why the team prefers to work with Ruby on Rails, rather than Python and Django:

"Because Python is a scripting language and from my point of view not suitable for building stable web services. Python is for me rather good for scripts and fast small tools. Not for stable business applications. And if I want it fast I prefer Go."

See more
Saulius Kolesinskas
Engineering Manager at Vinted · | 11 upvotes · 31.4K views

In 2017, we decided to move away from Backbone and embrace a relatively new tool which was taking the industry by storm, React. Since Backbone was no longer actively maintained and its popularity was falling, it made sense to adopt a tool that was on the rise and promised improved performance, developer experience and delivery speed. In addition, it became easier to hire Frontend Engineers as the talent pool greatly increased. Nowadays, React is the framework of choice across Vinted.

Typescript entered the picture at a later stage. We placed our initial bet on Flow but it soon became obvious that the industry prefers Typescript. In 2019, we migrated to Typescript and never looked back. Having a strongly typed language in our frontend brought confidence to the engineers and greatly reduced the number of bugs.

Next.js is the newest addition to the stack. Vinted is currently a Rails monolith and React on Rails is used to render views. In order to transform Vinted to a single-page application (SPA) and split backend from frontend, we decided to adopt Next.js. Among the options considered, Next.js offered the most comprehensive feature set, good support for Server Side Rendering (SSR) and a vibrant community. We also expect that splitting the client-side would lead to improved developer experience and faster builds.

See more
Jayson Pamittan
Software Engineer - Level III at Arch Global Services · | 13 upvotes · 90.1K 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
Danilo Polani
Senior Software Engineer at WeRoad · | 7 upvotes · 98.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
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 12 upvotes · 380K views

I was considering focusing on learning RoR and looking for a work that uses those techs.

After some investigation, I decided to stay with C# .NET:

  • It is more requested on job positions (7 to 1 in my personal searches average).

  • It's been around for longer.

  • it has better documentation and community.

  • One of Ruby advantages (its amazing community gems, that allows to quickly build parts of your systems by merely putting together third party components) gets quite complicated to use and maintain in huge applications, where building and reusing your own components may become a better approach.

  • Rail's front end support is starting to waver.

  • C# .NET code is far easier to understand, debug and maintain. Although certainly not easier to learn from scratch.

  • Though Rails has an excellent programming speed, C# tends to get the upper hand in long term projects.

I would avise to stick to rails when building small projects, and switching to C# for more long term ones.

Opinions are welcome!

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
Hampton Catlin
VP of Engineering at Rent The Runway · | 7 upvotes · 449.3K views

Starting a new company in 2020, with a whole new stack, is a really interesting opportunity for me to look back over the last 20 years of my career with web software and make the right decision for my company.

And, I went with the most radical decision– which is to ignore "sexy" / "hype" technologies almost entirely, and go back to a stack that I first used over 15 years ago.

For my purposes, we are building a video streaming platform, where I wanted rapid customer-facing feature development, high testability, simple scaling, and ease of hiring great, experienced talent. To be clear, our web platform is NOT responsible for handling the actual bits and bytes of the video itself, that's an entirely different stack. It simply needs to manage the business rules and the customers experience of the video content.

I reviewed a lot of different technologies, but none of them seemed to fit the bill as well as Rails did! The hype train had long left the station with Rails, and the community is a little more sparse than it was previously. And, to be honest, Ruby was the language that was easiest for developers, but I find that most languages out there have adopted many of it's innovations for ease of use – or at least corrected their own.

Even with all of that, Rails still seems like the best framework for developing web applications that are no more complex than they need to be. And that's key to me, because it's very easy to go use React and Redux and GraphQL and a whole host of AWS Lamba's to power my blog... but you simply don't actually NEED that.

There are two choices I made in our stack that were new for me personally, and very different than what I would have chosen even 5 years ago.

1) Postgres - I decided to switch from MySql to Postgres for this project. I wanted to use UUID's instead of numeric primary keys, and knew I'd have a couple places where better JSON/object support would be key. Mysql remains far more popular, but almost every developer I respect has switched and preferred Postgres with a strong passion. It's not "sexy" but it's considered "better".

2) Stimulus.js - This was definitely the biggest and wildest choice to make. Stimulus is a Javascript framework by my old friend Sam Stephenson (Prototype.js, rbenv, turbolinks) and DHH, and it is a sort of radical declaration that your Javascript in the browser can be both powerful and modern AND simple. It leans heavily on the belief that HTML-is-good and that data-* attributes are good. It focuses on the actions and interactions and not on the rendering aspects. It took me a while to wrap my head around, and I still have to remind myself, that server-side-HTML is how you solve many problems with this stack, and avoid trying to re-render things just in the browser. So far, I'm happy with this choice, but it is definitely a radical departure from the current trends.

See more
Chose
RailsRails
over
DjangoDjango

I have used both the tools . Both of them are super awesome , very reliable and their learning curve is also super easy. But, the reason I choose Ruby on Rails over Django is the fact that the dependency injection is super easy in Rails than Django. What I mean is the fact that, Django requires a lot of import statement to do a lot of work, which remembering is not so easy and even after that you may need to write a lot of code. But Ruby on Rails uses gem to add addition feature or dependency in the project. Which requires just copying the gem statement from github and pasting it in the Gemfile, then running bundle install(these days just bundle works super fine). And there you are with the new feature in your app. You can see this with the example of Authentication, where in Django you require several steps like adding class based views and many more, but in rails it's just as easy as installing the 'devise' gem . And if you want to make it beautiful use bootstrap_template gem to make it look prettier. Now with Rails 6 , Rails is a total developer's fervent friend because it has come up with features like Action Mail and Action Text.

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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Laravel
Pros of Rails
  • 554
    Clean architecture
  • 392
    Growing community
  • 370
    Composer friendly
  • 344
    Open source
  • 325
    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
    JSON friendly
  • 26
    Modern PHP
  • 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
    Cool
  • 13
    Clean Documentation
  • 13
    Easy to attach Middleware
  • 12
    Simple
  • 12
    Convention over Configuration
  • 11
    Easy Request Validatin
  • 10
    Simpler
  • 10
    Easy to use
  • 10
    Fast
  • 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
  • 858
    Rapid development
  • 652
    Great gems
  • 606
    Great community
  • 484
    Convention over configuration
  • 417
    Mvc
  • 348
    Great for web
  • 343
    Beautiful code
  • 311
    Open source
  • 270
    Great libraries
  • 261
    Active record
  • 108
    Elegant
  • 90
    Easy to learn
  • 88
    Easy Database Migrations
  • 82
    Makes you happy
  • 75
    Free
  • 62
    Great routing
  • 54
    Has everything you need to get the job done
  • 41
    Great Data Modeling
  • 38
    MVC - Easy to start on
  • 38
    Beautiful
  • 35
    Easy setup
  • 26
    Great caching
  • 25
    Ultra rapid development time
  • 22
    It's super easy
  • 17
    Great Resources
  • 16
    Easy to build mockups that work
  • 14
    Less Boilerplate
  • 7
    Developer Friendly
  • 7
    API Development
  • 6
    Great documentation
  • 5
    Easy REST API creation
  • 5
    Quick
  • 4
    Intuitive
  • 4
    Great language
  • 4
    Haml and sass
  • 4
    Easy to learn, use, improvise and update
  • 2
    Metaprogramming
  • 2
    It works
  • 2
    Jet packs come standard
  • 2
    Easy and fast
  • 2
    Legacy
  • 1
    It's intuitive
  • 1
    Convention over configuration
  • 1
    Easy Testing
  • 1
    Cancan

Sign up to add or upvote prosMake informed product decisions

Cons of Laravel
Cons of Rails
  • 54
    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
    Slow and too much big
  • 1
    Not using SOLID principles
  • 1
    Difficult to learn
  • 24
    Too much "magic" (hidden behavior)
  • 14
    Poor raw performance
  • 12
    Asset system is too primitive and outdated
  • 6
    Heavy use of mixins
  • 6
    Bloat in models
  • 4
    Very Very slow

Sign up to add or upvote consMake informed product decisions

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 Rails?

Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.

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

What companies use Laravel?
What companies use Rails?
Manage your open source components, licenses, and vulnerabilities
Learn More

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

What tools integrate with Laravel?
What tools integrate with Rails?

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

Blog Posts

Jun 6 2019 at 5:11PM

AppSignal

RedisRubyKafka+9
15
1699
GitHubDockerReact+17
41
37263
DockerSlackAmazon EC2+17
18
6023
What are some alternatives to Laravel and Rails?
Symfony
It is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP..
CodeIgniter
CodeIgniter is a proven, agile & open PHP web application framework with a small footprint. It is powering the next generation of web apps.
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
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.
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.
See all alternatives