When it comes to building custom websites we get a lot of requests to build a site using open source tools, like WordPress. While it’s considered one of the most popular website tools, (and our custom approach still allows us to easily build some really sophisticated websites with it) WordPress has some really big drawbacks for us when creating truly custom and complicated websites and web applications.
The problem with a Content Management System (CMS) like WordPress is that it has already made several assumptions about how things should be built and customized. This can create problems when you have a very specific idea that needs to work a very particular way.
For custom complex web development, Laravel is our framework of choice to help us build faster, keep our code clean, and save our clients time and money.
Laravel is not a CMS. However, we did build our own custom CMS with it and integrated our favorite code packages and libraries. This has given us full control to build some really powerful websites with Laravel. We’ve spent a lot of time building up our custom framework so it’s no surprise we are pretty big fans of Laravel.
Below are the top 10 reasons why we think Laravel is a really special framework.
10. Code organization
The increasing complexity of web development has led to some degree of separation between skillsets that focus on back end or front end coding. Laravel is a Model-View-Controller (MVC) Framework which lends itself well to dealing with this separation. Front end developers can work on views and assets while back end developers are hammering out the details of controllers and the data model. This means less ramp-up time and ultimately less time billed to the client.
9. Out of the box tools
Laravel ships with a good set of libraries and helpers for managing such things as sessions, user authentication and mail.
You have a lot of control over how you structure things. This allows us to position/name folders in a way that’s compatible with a client’s hosting setup.
7. Migrations and seeding
For a complex site, keeping database structures consistent among multiple developers, and between development and production environments, is a real concern. Laravel’s migrations and seeds provide a type of version control for the database and are extremely useful.
6. Eloquent ORM
This is another tool shipped with Laravel that is a big plus. Relations between data objects are easy to set and query.
Laravel provides many, many options for handling and routing requests. One of the biggest benefits of Laravel’s structure is the ability to return responses directly from a route without requiring a complete controller/view structure for generating that response. Development is much easier and faster.
4. RESTful controllers
RESTful controllers allow us to return different results for the same URL based on the type of request. This helps reduce development time since there is less need for route naming conventions (and therefore less collaboration needed between front end and back end developers).
Laravel fully supports unit and acceptance testing. We can write tests and discover problems early on in the development process, before they’re encountered on a production environment.
2. Modular construction
Laravel’s use of packages is its biggest advantage from a development point of view. Much of Laravel itself is constructed from packages using Composer. We recently needed a way to manage permissions for users with different roles located in different global regions. You know what? Someone has written a package to deal with that very scenario. We were able to bring the package into the project and get to work in a few minutes without having to reinvent the wheel.
1. Community size
There is widespread adoption of Laravel as the coding framework of choice, and its community is active. If we encounter a problem, there is a good chance someone else has already encountered it too, and solved it.
Supporting Laravel Articles: