Laravel - from a happy developer perspective

Let me take you back in time – rewind to 2014. Somewhere on the outskirts of Copenhagen, there is a developer. He struggles with 10-year-old code that, most of all, resembles a game of Jenga. If he takes out the wrong block, everything comes tumbling down. The code is, by the way, the digital selling point for a larger publishing house. It's critical that it works. It's tedious, it's exhausting, it's dead-end for a developer.

This developer was me...
 

In the light of Laravel

One day, I met a former colleague. He told me that his startup had joined the new hippie wave - a framework called Laravel. I have tried Zend Framework, CakePHP, CodeIgniter, Symfony, and everything else, so it was with not just a little skepticism that I sat down one weekend, and tried out Laravel.

It only takes a couple of hours. Then the clouds disappear, rays of sunlight dance joyfully, and small fat angels play on mini-harps. I felt a definite physical change. The worn-out backend developer had seen the light - he had seen Laravel.

May the force be with you

The power of Laravel is the documentation, and how it easily gets you started. It only takes 10 minutes to have a running website. You are working in a complete development environment, where there are no concerns about the server settings. Compared to other frameworks, it is a gigantic advantage that your creativity is set free from the very offset.

"Welcome" says Laravel – and then we are started. I'm still overwhelmed by the fact that I can create a test site in less than 2-3 minutes when using Laravel Homestead. From 0 to website, database, user management - faster than you can spell Usain Bolt.

All you need as a developer

The Model View Controller theory is fully powered. Data models are most often created from the structure in the database. The database calls are elegantly abstracted by the Eloquent package, which reflects tables and rows in the database and shows as attributes on the models.

Less technically explained; when you have an email on your user table, call user-> email to access it. Lists of content are provided in a way that allows you to select exactly what you need. From a developer perspective, the work is clear and easy to access.

A house with all amenities

Laravel has everything you need to build a website, even one that can stand the test of time.

It is possible to use caching to optimize performance. In the same way, it is possible to use events, listeners, and queues, where you can initiate and listen to different events and start jobs that can relieve the server by driving heavy calls in another thread. This means that you can structure the code base, so the code becomes much more manageable and easy to maintain, making further development a much less painful and much much less difficult task.

Brick villa or custom-made penthouse

Laravel comes with the template system Blade, which you can easily use to get across the finishing line. There are plenty of opportunities to minimize effort and reuse design templates across the systems. If you have any ambitions to use a frontend framework, such as Angular, React, or Vue, then Laravel can deliver data in JSON format by default. Headless Laravel requires no effort, and you can create controllers born with CRUD functionality. It has even been suggested that you can have routing to your websites and your API calls. It is a wet dream for most developers, when they realize how quickly they can create value instead of initial problems.

Laravel from A(PI) to Z

If you think the people behind Laravel are resting on their laurels, think again. They have developed a lot of packages that can improve your website. Some packages worth mentioning is Cashier, which can optimize payment and subscription solutions through Stripe. The package Passport gives you access to API user authentication and can be a huge help when it comes to OAuth2 technology. And if that wasn't enough, they've also developed an ecosystem of software – an ecosystem that can get you all the way from idea to real-time continuous deployment. Without having deep knowledge on server setup and smart CI tools, you can get a real server and deploy your code with Laravel Forge and Envoyer. Plus, help and support are always close by, whenever you need it.

More packages than UPS 

Laravel builds on a solid platform of Symfony packages and is installed using the well-known Composer (Dependency Manager for PHP). There are thousands of packages for Laravel, and you have the opportunity to take advantage of all the packages available on packagist.org, and those you build yourself. A whole new world of open source opens up.

Heart emoji from the developer

I have developed software for quite some years. I have gone through dozens of programming languages and frameworks, all of which have advantages and disadvantages. A wise man once told me: "Find the language you hate the least and then you will survive the industry.". Laravel is one of the only frameworks that rarely makes me swear (yes, we developers talk a lot to our codebase). Laravel is easy to work with  - both for small and larger projects, and the documentation is one of the best I have experienced in the industry. On top of that, there are sites like laracasts.com and laravel-news.com that constantly enrich you with new knowledge.

What can Laravel do for me?

Unlike a CMS like Drupal or Wordpress, you need to think of Laravel as a tool that can build everything you need. Laravel allows you to structure the development. So if you want to build a proof-of-concept to see your design in practice, if you have an idea for a software-as-a-service product, or if you have a website where you want to include Javascript components from React - then Laravel is your best weapon. If you need an API that can deliver data to a frontend framework, such as Angular, Vue or React, then Laravel is even better than its competitors from eg. Node JS. If you need multi-sites managed on domains or subdomains, payment gateways, or content management with different user levels, then Laravel gets you off to a really – really – good start. 

And if you need help getting started with Laravel, then you are more than welcome to contact me at Adapt.

Contact

Marcin Slezak
Backend Developer

 

hello@adaptagency.com