The Business Case for Laravel
Ask any Laravel developer about why they use Laravel, and they’ll instantly give you lots of geeky information about things like the expressive syntax, the way the ORM allows complex queries to be built quickly even for the largest databases, and how AuthController automatically uses BCrypt to hash user password databases. If that sounds like a lot of Greek to you, though, you’re probably more interested in the business case for using Laravel!
For instance, you might have questions like: Does adopting Laravel lead to lower total cost of ownership, faster time-to-market, etc.? Are there reasons to adopt Laravel that go beyond how elegant its technology is? Or simply, why should I even consider Laravel for my web development project?
As the owner of a web development company, I have seen frameworks and platforms come and go. I also know a thing or two about existing platforms and languages like Java, .NET and Ruby on Rails. No technology is the “best” for all purposes, and I won’t try to compare Laravel to other technologies in a scientific way – but I wanted to share some of the business justifications for using Laravel in your organization.
So… why use Laravel?
After using Laravel for several years, here is what I have found:
It’s easy to adopt
Laravel has two big things going for it when it comes to onboarding new and more junior developers:
- Laravel’s documentation is exceptional. Unlike some open source projects, Laravel has excellent documentation, making it easier for developers to get up to speed with it in a relatively short time. Plus, tutorials are available in a variety of formats. Is your new dev more of a visual learner? Great, point her to the extensive library of Laracast tutorials. More of a read-it-and-try-it person? Look no further than the documentation, which provides great snippets of example code that go well beyond the usual “Hello world” introduction.
- Laravel uses expressive syntax. Even a summer intern or an out-of-practice engineer-turned-manager can wrap their brain around Laravel’s easy-to-read syntax. This is particularly evident in the way Laravel handles database queries; check out this example from the Query Builder documentation:
$email = DB::table(‘users’)->where(‘name’, ‘John’)->value(’email’);
That bit of code returns the email address of the database entry associated with the user named John. (You probably guessed it had something to do with John’s email, right?) This clear and easily-understood syntax means that not only will new developers learn Laravel more quickly, but they will also be able to understand the code for your project more easily.
Taken together, the ease of learning the language and the ease of reading existing code means that your developers spend less time learning and more time coding. This translates into money saved on developer hours as well as speedier delivery. Naturally, if you’re looking to build a large-scale and complex web application, you’ll probably need a developer with a lot of pre-existing Laravel-specific experience. However, even in this case, Laravel’s ease of use can save time and money – having easy documentation and setup makes it easier to hire junior developers to assist your experienced Laravel lead.
Bottom line: You’ll spend less and get faster results.
It can help minimize technical debt
Technical debt happens when, over time, your codebase accumulates problems that need to be fixed before new features can be implemented. Maybe you needed to push a new feature through the door hastily; maybe a newer developer created a function in a less-than-elegant way. Maybe a piece of functionality in your site needs to be extended beyond its original application, and the code must be updated to uncouple the capability from its current application area. In any case, technical debt has a tendency to grow if you don’t actively work to minimize it – and this is particularly true for more complex web apps. And like financial debt, as technical debt grows, it can become a huge problem that halts ongoing progress.
Taylor Otwell, Laravel’s creator, has described Laravel as being somewhat more “opinionated” than other frameworks (such as Symfony). This means that it sort of “nudges” developers into developing their code in a specific, standardized way – thereby making technical debt less likely to occur.
For example, the Laravel framework strongly pushes developers to adopt principles of Object Oriented Programming. There are also a lot of modern programming principles (such as SOLID coding practices) that are commonly talked about within the context of Laravel – in training materials and forums, for example – which in turn fosters better coding practices and places a bigger barrier against technical debt.
Bottom line: you won’t waste time or money fixing avoidable issues.
Hosting is ubiquitous
PHP has been popular for some time now, with many major, high traffic sites – like Facebook, Wikipedia, and Twitter – relying on a PHP backend. As a result, PHP is everywhere, and is cheap and easy to host. The lion’s share of popular traditional hosting services (e.g., Rackspace and Dreamhost) support PHP-based websites, and most cloud computing services, including Amazon Web Services (AWS) and the Apple-only iCloud are PHP-friendly.
Bottom line: You’ll have fewer roadblocks standing between you and a finished product.
Developers love it
I think Jeffrey Way puts it best:
Laravel actually makes PHP fun again! Even better, I no longer believe that PHP is forever doomed to mostly personal sites and ugly WordPress blogs. Nope; in fact, it’s this writer’s belief that, thanks to Laravel, Composer, and PHP 5.5, we’re about to experience the next renaissance of the web’s most popular server-side language.
While “cool factor” is not a reason for choosing Laravel, it does keep category happy and engaged. Existing PHP developers can learn the ins and outs of Laravel while connecting with a friendly and professional open-source community; and developers who are burnt out on Java can learn something new, and learn it fast, thanks to the excellent documentation and onboarding resources discussed earlier. This is also a big differentiator for me when hiring new developers. Newly-minted developers love to embrace the latest, coolest language out there. Right now, Laravel is it, which means that running a laravel development company makes you attractive to the most promising new developers.
Bottom line: You can work with hot new talent.
Development is fast
You might think that a web application framework with so many bells and whistles would mean that developers are burdened with a lot of overhead that slows down the coding process. Although PHP carried a reputation for being slow and awkward to use, Laravel has removed those issues by facilitating elegant syntax in a ready-made environment, all while maintaining the things that PHP got right from the outset – a language made specifically for web development that creates web apps that are easy to deploy and manage.
Laravel’s creators have put a lot of thought behind what is included out of the box, creating an easily-deployed environment in a fully-realized framework that still allows speedy development. For example:
- Laravel Homestead: Homestead works in concert with Vagrant to automatically create a fully-loaded virtual machine out of the box. This eliminates the need to install PHP, HVVM, a web server, or any of the associated server software. Not only does this reduce setup-related overhead, it also means that developers no longer lose hours re-installing their operating system when their environment installation goes awry.
- Built-in unit testing: Laravel was designed with a mind to unit testing, including a pre-made phpunit.xml file, automatic reset of the configuration environment into testing mode while unit tests are running, and a variety of helper methods that further simplify and speed up the testing process. Because testing is easy, your developers are more likely to do it, reducing the overhead costs created as a result of the deployment of less-than-perfect code.
- Web services ready to go: Let’s say you want to build a web application that allows customers to buy your product directly from your website. Good news: A lot of the work is done for you! Authenticationis almost completely configured right out of the box; no need to code your own account creation process from scratch. Cashier handles transactions using Stripe, and Artisan comes with a variety of simple commands that facilitate configuration. Last but not least, Laravel’s Mail service interfaces neatly with all of the preferred local and cloud-based mail services.
Bottom line: Laravel can do a lot without extra support and that means faster development.
It will be around for a long time
Here is where I like to throw a little objective data into the mix. Let’s just take a look at the Google Trends analysis for four popular coding frameworks:
See that yellow line, the only one that’s on an upswing? That’s Laravel. Laravel was initially released in June of 2011, which is why it sits at 0 for so long. Its nearest competitor is CodeIgniter, which has been around for some time and has enjoyed relatively level interest after peaking in 2013. Another thing that stands out is the fact that all of these frameworks (both those that appear popular and those receiving less interest) show a similar pattern. At launch, they gain a following. Once they peak, they show remarkable staying power, with relatively consistent levels of interest over a multiple-year timeline; when developers find something that works for them, they stick with it. What is interesting is that a) interest in Laravel’s does not yet appear to have peaked, and it’s already noticeably more popular than many of its counterparts; b) if it follows the same pattern of other frameworks, then once it does peak, it will stay at that level of popularity for many years. That’s what happens when you have an enthusiastic development community that is rapidly buying into and sticking with an effective tool, and previous trends suggest that this will bear fruit over the long haul.
Plus, Taylor Otwell’s strategy both in building and marketing the Laravel framework shows how serious he is about building the best, most robust framework with a solid community supporting it. SitePoint’s discussion of the results of their 2015 “Best PHP Framework” Survey nails it:
Taylor not only made sure Laravel has near perfect documentation, he also built (directly or indirectly) several other commercial services and partnerships around it. Laracasts covers all the missing docs and use cases, Forge and Envoyer are tuned for Laravel, and he frequently communicates with various bloggers about upcoming features and releases before they’re ready…
Put simply, Taylor Otwell hasn’t just built a framework; he has reached out to other developers and created a whole ecosystem that ensures Laravel’s continued popularity and success.
Bottom line: You don’t need to worry about finding solid pros for future updates because… (read on)
There’s a large (and growing) community
The surge in popularity of Laravel means that there are many websites that run on it, and a supportive community of developers that can jump in to help on your project. Even better, the Laravel community is easy to connect with: Need an open source package? Check out Packalyst. Want to hire a Laravel developer? Great, just go to Larajobs. Want to dig into the code, or at least talk to the coders? Well, we’ve already mentioned the awesome documentation and the tutorials available via Laracast, but hey, why not reach out to one of the 17,000 people tracking the progress of Laravel on GitHub? Or perhaps you prefer the 5,000 community members on the Laravel subreddit? Prefer to speak to people in person? Good news! There’s an annual Laravel conference… in both the US and Europe!
Is Laravel for everyone? Of course not. But Laravel definitely has its place as a wise business choice among modern PHP frameworks. Want to know more about what Laravel can do for you? Contact us!