Categories
Laravel

WordPress is awesome, go learn something else.

WordPress is awesome. The possibilities are endless. It can be the foundation for anything from a blog to a webshop, a backend for an app or a JS app using the frontend framework of the day.

I’ve worked with WordPress for seven years. I started out with WordPress because if felt like a great way to “become a developer”. Things were fairly easy, everything was within arms reach and being the most popular publishing platform, every potential issue has been discussed and solved ten times over.

With time things became increasingly complex. Custom post types and custom fields let me built all sorts of things. jQuery let me make it interactive and fun. It was awesome.

Then I started playing with CakePHP. It felt super complex and daunting. I gave up – it was to much work to do even the simplest things. Almost a year went by before I gave Laravel a go. Progress was slow – everything was so different from WordPress development, but I did make progress and piece by piece came in place. I started realising what I had been missing out on, because once you make it over the top of the steep learning curve, the reward is fantastic.

It’s only now, being familiar with Laravel and Vue, I realise what a detour working with WordPress has been. Sure, it taught me how to write PHP, and I’ve learned how to use jQuery to solve pretty much any front end task, but diving into the world of Laravel has really been an eye opener. Using Vue has completely changed the way I use Javascript.

Developing for WordPress doesn’t teach you the best aspects of writing good code. It rarely gives you a reason to use classes. Namespacing is not a thing. There are no Model-View-Controller concepts or ORM. There are a lot of great programming concepts you’re missing out on when working with WordPress.

WordPress is awesome, and I still do a ton of WordPress work, but working with Laravel and Vue has helped me become a much better developer – which in turn makes my WordPress work both easier and more effective.

Do yourself a favor, give the Laravel Quick Start a go.