8th March 2016
Welcome to Laravel
It’s now been over a year since we launched the current version of the Cargo Creative website. In our last launch, we made a lot of changes to the front end that are easy to see, such as introducing 'The Cargo Hold' and reworking the way we do our case studies, in the 'Work' section.
We try our best to look at our website and update the technology used where possible and add any additional functionality that we have found would be useful after using the content management system day after day. It doesn’t always happen as frequently as we would like, as we have many exciting client projects on the go.
The site holds a selection of work we have delivered to date, some interesting blog posts, and also a collection of all things Cargo in ‘The Hold’. Here we will be pulling together anything and everything from our social feeds, smaller pieces of artwork and illustration and generally promoting the ethos and culture that we continue to develop.
Throughout the last 12 months we have worked with our existing clients and warmly welcomed some new accounts. It’s been fantastic to be on hand and work together to watch them grow and succeed, and above all else make a big difference across the region and country respectively.
As we decided to give the Cargo Creative site an internal upgrade, I thought I’d document some of my experiences of the upgrade and how it went. Much like the human body, there’s a lot more to a website than what you see on the surface. Behind the latest version of the front end, we had made some changes to the back end which were less visible and continue to work on those changes today. In fact, there was a markedly different engine running it. The last version of the Cargo website was built on WordPress and we decided to make the switch to Laravel, a different PHP web framework. Laravel is a robust framework with a multitude of features and featured ready to use bundles.
Part of working and operating in the tech industry means keeping up with the latest and greatest – or rather figuring out what’s new and can be incorporated into our projects, instead of new for the sake of new. As we work largely in WordPress at Cargo, it was an opportunity for us to try something new and see if it could potentially be something we could use on client projects where appropriate in the future.
The website was built on top of the Laravel framework. At the time we initially launched the new Cargo site, the framework was on version 4.1. With this update of the site, I opted to use version 5.1 of Laravel. While version 5.2 was released at the end of 2015, version 5.1 is a better match for what we need.
Version 5.1 is the first version of Laravel to be released with the promise of Long Term Support, meaning it will receive security fixes for the next three years. Security is an important consideration for us, so three years of continued support put our minds at ease knowing we could stay with this version of Laravel without compromise. We would have considered version 5.2, but that version doesn’t have the same support guarantee. So while version 5.2 has more features, we’ve decided that security took precedence in this case.
In the same month PHP celebrated the release of version 7. Despite seeing performance increases with each release, as has come to be expected with new releases, PHP7 has received a lot of unusually positive press saying how it was multiple times faster than previous releases. This was a much welcome bonus to choosing to upgrade the website at this time.
Laravel is a framework which changes at a fairly rapid pace. Despite being a one man open source project, it moves at such an impressive pace even in comparison to frameworks with larger teams and funding behind them. If there is a downside to this rapid productivity, its that the structure of the app seems to change with little to no documentation explaining where things had moved to or why they had been moved.
If it was a valid, documented reason such as performance improvement I think many would be more understanding, however at times it appears to be an arbitrary decision with no rhyme of reason. This appears to be a great cause of frustration amongst the Laravel community. Thankfully the excellent (albeit paid for) tutorial site Laracasts helped with many of the difficulties.
So what you are now reading is a website running Laravel 5.1 and sitting on PHP7. We are happy with the way it runs our website and it gave us the opportunity to try something new in a fairly low risk way before being able to recommend it for client projects. While we still have a strong affinity for WordPress, it is nice to have another option in our development tool kit.