The Laravel Universe

What is Laravel?

Laravel is a framework for the PHP programming language. Developed by Taylor Otwell it allows “Elegant applications delivered at warp speed“. They are Taylor’s words but after developing several Laravel applications over the past couple of years, I tend to agree. It makes building maintainable web applications and APIs a breeze.

Some of the highlights include:

  • Database migrations – essential for smooth deployments and updates to your applications.
  • Composer dependency management – if you do PHP and don’t know Composer, you are likely doing it wrong!
  • Restful Routing – perfect for building your backend API (to feed your Angular front-end?).
  • Eloquent ORM – speeds up development of most database apps.
  • Mail, Authentication, Storage, etc – so many pieces of the app jigsaw that come in the box ready to go.

If that isn’t enough then there is a growing ecosystem of Laravel related tools and services that also smooth the journey from idea to delivery.

Forge will save you hours

Of course it is easy enough to provision a server on Linode or AWS and set-up deployment from Git for your new Laravel application. But for $10 a month Laravel Forge makes it all so incredibly simple, doing all the work of setting up and managing servers to run your applications for you.

Provision, host, and deploy PHP applications on AWS, DigitalOcean, and Linode.

Learn Laravel the Way way!

I don’t think there is anybody on the planet better at making code stuff understandable than Jeffrey Way of Laracasts. His prolific site is dedicated to teaching anybody, from beginner to more seasoned developer, the finer arts of development with Laravel as well as other tools. The forums are also the best place to find answers to Laravel questions.

Deploy without downtime!

Another piece of the Laravel armoury is Envoyer. While forge will automatically deploy your app from github or bitbucket, this will result in a short spell of downtime, which can turn out to be longer if something goes wrong.

Envoyer, also produced by Taylor, adds continuous deployment of your Laravel applications. You’ll still need Forge (or something else) to actually provision servers, but once added to Envoyer you can deploy your apps without downtime for users.

Build it with Laravel

As a modern PHP framework, Laravel can be used to build any web based application.

Most applications are backed by some kind of database, and Laravel’s Eloquent ORM makes building such application very straight-forward. Though for more complex database applications, you may find yourself needing to leave the ORM behind.

Laravel’s views coupled with the Blade templating system means your front-end can also be built quickly with Laravel. These days though, the front end experience demands something more, using Javascript frameworks like Angular or React. This often means you are better off splitting off the front-end, and building your back-end as an API. Laravel is strong here too, with everything you need to build the API’s restful routes.

Angular and Laravel makes a very happy alliance. Having built serval applications with this pairing, I hope to say more about this in future posts.

Summing up

Laravel is a perfect partner for building modern web applications. The other tools in the Laravel eco-system can make life even easier too. Coupling Laravel with something like Angular makes building powerful, elegant applications possible.