Laravel vs Rails: What are the differences?
What is Laravel? A PHP Framework For Web Artisans. Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel 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? Web development that doesn't hurt. Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
Laravel and Rails can be categorized as "Frameworks (Full Stack)" tools.
"Clean architecture", "Growing community" and "Composer friendly" are the key factors why developers consider Laravel; whereas "Rapid development", "Great gems" and "Great community" are the primary reasons why Rails is favored.
Laravel and Rails are both open source tools. Laravel with 53K GitHub stars and 16.2K forks on GitHub appears to be more popular than Rails with 43.4K GitHub stars and 17.5K GitHub forks.
According to the StackShare community, Rails has a broader approval, being mentioned in 2320 company stacks & 779 developers stacks; compared to Laravel, which is listed in 817 company stacks and 753 developer stacks.
What is Laravel?
What is Rails?
Want advice about which of these to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to add, upvote and see more consMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
I moved from .NET and Rails to Laravel, and since then never thought to go back. I feel Laravel framework has the capability to overcome all modern frameworks.
At Soft Pyramid we are developing rich business applications using Laravel Framework, and never feel any limitation even for complex reporting.We have written REST apis, complex ERP solutions and found awsome in all areas.
The first live version of Leanstack was actually a WordPress site. There wasn’t a whole lot going on at first. We had static pages with static content that needed to be updated manually. Then came the concept of user-generated content and we made the switch to a full on Rails app in November of last year. Nick had a lot of experience with Rails so that made the decision pretty easy. But I had also played around with Rails previously and was comfortable working with it. I also knew I’d need to hire engineers with a lot more experience building web apps than I do, so I wanted to go with a language and framework other people would have experience with. Also, the sheer number of gems and tools available for Rails is pretty amazing (shout to RubyToolbox ).
I don’t see us ever having to move away from Rails really, but I could be wrong. Leanstack was built in Rails 3. For StackShare we decided to upgrade to Rails 4. Biggest issue with that has been caching. DHH decided to remove the standard page and action caching in favor of key-based caching (source)[http://edgeguides.rubyonrails.org/caching_with_rails.html#page-caching]. Probably a good thing from a framework-perspective. But pretty shitty to have to learn about that after testing out your new app and realizing nothing is cached anymore :( We’ll need to spend some more time implementing "Russian Doll Caching", but for now we’ve got a random mixture of fragment and action caching (usually one or the other) based on which pages are most popular.
We use Rails for webpages and projects, not for backend services. Actually if you click through our website, you won't notice it but you're clicking though, I think, seven or eight different Rails projects. We tie those all together with a front-end library that we wrote, which basically makes sure that you have a consistent experience over all these different Rails apps.
It's a gem, we call it Karmeleon. It's not a gem that we released. It's an internal gem. Basically what it does is it makes sure that we have a consistent layout across multiple Rails apps. Then we can share stuff like a menu bar or footer or that kind of stuff.
So if we start a new front end project it's always a Rails application. We pull in the Karmeleon gem with all our styling stuff and then basically the application is almost ready to be deployed. That would be an empty page, but you would still have top bar, footer, you have some custom components that you can immediately use. So it kind of bootstraps our entire project to be a front end project.
Web has always been in Rails from the beginning, so we used Redis for caching our items, which we had, from the beginning. Rails is kind of what we were comfortable with, and we knew we wanted the front end to be really, really snappy, so we de-normalized all the item attributes into Redis, and that's how it got served out.
Rails 5 (beta 3) provided a nice structure for rendering responses, linking to front-end assets (compiled previously via Webpack), handling sessions w/ tailor made login links via an email button/token, background jobs, and creating an admin behind basic auth to allow managing of users and purchases.
For this project rails was ideal due to new features introduced in Rails 5 that allowed us to build a lightweight "API only" project. Developer familiarity and the ability to rapidly iterate, as well as providing an accessible testing framework were additional factors.
The best PHP framework right now, intuitive and growing up quickly.
We use Laravel in the outer layer of our Clean Architecture codebases, whereby the domain model does not rely on the framework as a whole.
See "PHP", I don't really choose to use it, but I can step in and operate in Laravel when necessary. Same goes for quite a few other PHP frameworks, including my own full-featured proprietary stack.
An excellent PHP framework employing SOLID principles to rapidly develop web-site systems and connect them to databases. Custom development of admin screens for website management.
A clean, easy to understand, well documented framework with excellent tools and a great community providing every imaginable extension to add functionality to your project.