loading...

Why I'm leaving Drupal for Laravel

wstocker profile image Wendy Stocker ・3 min read

For the past 6 or so years, I have been a Developer that primarily works with Drupal and I've pretty much been married to it for better or for worse.

Drupal has had many ups and downs over the years, and its steep learning curve gives Drupal Developers an edge over the market. As a Drupal Developer I've never had an issue finding a job, and it has a very strong community. Until now...

A series of unfortunate events has lead me back to hitting the bricks right around the time that Drupal's core version 8 has been released and is gaining popularity.

More often now I'm seeing job descriptions say things like, those who have not launched a Drupal 8 site need not apply. When I left my former job I was using Drupal 7 though... Crap. Don't get me wrong there's still a lot of companies and organizations that primarily work with Drupal 7, because it's quite the hurtle to update.

What makes this so difficult you ask? Well, one of the key differences is that it is essentially a different architecture entirely. Though it has a lot of backwards compatibility, the entire core has shifted from a procedural code base with some object oriented elements to using Symfony and object orient design patterns, a completely new templating engine, and many new concepts such as configuration. All that great documentation that exists in the community, doesn't exist for Drupal 8 yet since not enough people are using it. Though many of the key contributed modules provide you with a Drupal 8 version, it's not an easy switch.

If you're a Drupal Developer you know that up until Drupal 8 the code base consisted of working with arrays galore. Drupal 7 and pervious versions are basically really crappy design patterns with not much room for optimization, and a really superb caching layer to pick up the tab. Since I come from an OOP background I was pretty happy to learn that Drupal had made this switch, but other Devs that are sipping Drupal's kool-aid don't seem to question why such a leap? Why didn't Drupal's creators make better choices regarding design patterns in the first place?

That's when my eye started to wonder to other frameworks.

I started to play around with Laravel, and what a lean and elegant framework it was! Especially coming from something as bloated as Drupal, it was love at first code. Unlike Drupal, which does provide you with a GUI for things like constructing queries, and making Restful APIs, you have to know how to code, and optimize your own queries. Instead of the whole contributed module system which has a lot of overhead, you simply get model, view, controller. The documentation is very straight forward (there's a lot of stale documentation floating around on Drupal.org). It also has great support for Full-stack Developers using Bootstrap and VueJS.

So here I am about to accept a job offer after 6 years with Drupal, now a Laravel Developer. From the moment I first met Drupal it has been a wild ride, full of trials and tribulations. Over the years it has changed A LOT. Some day I might return, you never know. It's nothing personal Drupal. Laravel is a much better match for me. </3

Discussion

pic
Editor guide
Collapse
whoisryosuke profile image
Ryosuke

Congrats 👏🎉

I've fallen in love with the elegance of Laravel too. Coming from a similar world of Wordpress and their messy codebase with endless hooks 🤬, discovering the simplicity and particularly power of Laravel was career changing.

I find myself looking at projects now and thinking "that'd be so much easier to do in Laravel".

Collapse
martyhimmel profile image
Martin Himmel

I'm in the same boat. Been doing mostly WordPress development for the last two years for work. Or what I like to think of as "WordPress hell." 😏

Discovered Laravel about a year or year and a half ago and started doing the majority of my side projects with that. Working with Laravel is so much more pleasant.

Collapse
guitarkat profile image
Kat

I wouldn't use WP for projects generally unless they are CMS based only.

If it's actual saas sort of work, obviously other frameworks would be better to work in -- Laravel included. I've been doing Laravel off-and-on in my own time on random projects. Been really liking it.

Thread Thread
martyhimmel profile image
Martin Himmel

Yeah, if I didn't have to use WordPress for work (which, ironically, is for a SaaS product), I wouldn't either. Been pushing to move it to Laravel, but that's a long road.

Collapse
wstocker profile image
Wendy Stocker Author

WP is very similar in that regard! I would argue though that the Drupal community is far more cultish lol! It's like a religion for some people.

Thread Thread
martyhimmel profile image
Martin Himmel

Yeah, I can't quite say the WP community is cultish. I think they have a strong community, but they're not too far out there. 😂

Thread Thread
perttisoomann profile image
Pert Soomann

I'd say, all communities are more or less religious-like, be it Drupal, WP, Laravel or CodeIgniter, or even language based like NodeJS or PHP.

Collapse
tylerlwsmith profile image
Tyler Smith

I'm totally in the same boat here. Because I work on a lot of small business sites I still reach for WordPress in 90% of cases, but if I'm doing anything much more complicated than managing content I usually reach for Laravel.

This is doubly true if I have to mess with WordPress's rewrite API 😅

Collapse
moopet profile image
Ben Sinclair

I'm in a similar position. I seem to have gotten myself pidgeonholed as a Drupal developer over the last few years and D7 is fundamentally terrible. Every bad idea that went into PHP was at some point taken as inspiration for D7, from the wild naming conventions and random argument order to the way some things are randomly objects and others arrays and how nobody can tell whether something will throw an exception or a fatal error or return boolean false instead of any number of other falsy values even when you look at the documentation.

I wish I was in your shoes!

Collapse
wstocker profile image
Wendy Stocker Author

So true! Don't forget the giant and vague dblog if something does go wrong. 300 errors that the cron is trying to run while it's already running. Can you be more specific Drupal? Ha! As much as I feel your pain, I'm glad someone can relate. The salary difference between taking a step back, learning a new framework and continuing with Drupal significant, but I just feel like it will be better in the long run. Curious, what do you think about the community?

Collapse
moopet profile image
Ben Sinclair

The community is so big it's difficult to say anything general about it - I like #drupal-support on IRC, but the contrib module community often seems to think their modules are a lot better than they actually are, and that their way of doing things is the right way... like every big project I guess.

Thread Thread
wstocker profile image
Wendy Stocker Author

I completely agree with that. I also think a lot of times they try to accomplish too much functionality at once rather than break it out into parts. I always look for the light weight contrib modules. Bigger module, bigger problems.

Collapse
tommym9 profile image
Tom Metcalfe

Long time Drupal developer here (started around 6.2) and I've recently been working with Laravel I've found working with a proper MVC framework a breath of fresh air.

Coming back to Drupal 8 after that has been a bit of an eye opener, but I can see the huge strides made from Drupal 7.

I agree that the main thing with Drupal is the infamous learning curve. The documentation on d.o is pretty awful too. There is an initiative to get it up to date, but that is a gargantuan task. Until Drupal sorts that out I think it will always have a steep learning curve.

Hopefully if you ever make your way back you'll be pleasantly surprised :)

Cheers

Tom

Collapse
wstocker profile image
Wendy Stocker Author

Great comments! I'm going to try my best to keep current with D8 as well. There seems to be some pretty big moves to decouple D8 and use a JS framework for the front-end. As far as storing/accessing content Drupal does an awesome job at that.

Collapse
mathiu profile image
Mathiu

I agree that switching from Drupal 7 to 8 is not easy but for me who worked a little bit with Symfony framework before it is actually pretty nice when you get a grasp of it.

Good luck with Laravel, I never could get into it but I have a few friends that love it!

Collapse
wstocker profile image
Wendy Stocker Author

From the little experience I have working with D8, it is a massive improvement. Remember what D6 was like? Haha.

Collapse
permanaj profile image
Permana Jayanta

And Configuration Management is the best feature in Drupal 8. Something that can't be found in another CMS.

Collapse
guitarkat profile image
Kat

Laravel has been good to me as a PHP framework. Drupal was a headache for me personally, I'll do it, but not super happy. Wordpress is hooks all over, but Wordpress has it's purpose. I've been bouncing around various frameworks in PHP especially. Some C#, been happily staying away from Java.

Oh, also, congrats on the new job. :)

Collapse
devhead profile image
dev-head

congrats on the new joby job; sounds like you are pumped to dive into a new framework and let your skills really stretch out more. larvel is worlds away from the drupal world, I hope the next phase in your dev journey is fruitful.

not to blast drupal, too much, but I do like to see this happening more with devs moving away. I can't begin to tell you how many times i've gone back to look at former projects to see some random company took over the account and migrated everything to drupal. :sighs:

Collapse
wstocker profile image
Wendy Stocker Author

Thanks! There are some very good things about Drupal, like a non-developer can make simple changes without touching a bit of code. However with that much control over the administration area, keeping multiple DEV/PROD environments esp with multiple developers in sync is a nightmare. IMO they really haven't found a good way of handling that even with Drupal 8. I come from a background of CakePHP and CodeIgnitor before Laravel hit the scene. So it will be nice to go back to my MVC roots!

Collapse
likewaterdesign profile image
Nathan Keeys

Geez I just got a Drupal 8 dev position to migrate from 7 to 8...after reading this I don't know lol From working with Wordpress I already know how site building can completely destroy ones programming skills. I'm perfecting my vanilla js on the side but would like to eventually really learn a backend language. Would Laravel be a good way to learn "legit" PHP?

Collapse
devlandunion profile image
Yuyuan Zhang

I also love to work Laravel & Vue.
But to find the Laravel jobs is really harder than WP.

Collapse
motorcitycode profile image
Tracy Pilcher

Thanks Wendy, I am right now trying to decide whether I want to go back to Drupal, taking a deep dive into their most recent version or try Laravel. Since the learning curve will be steep for me in either direction I'm going to try Laravel because of the better design and larger user base. Thanks again for your article.
Tracy
detropia.com

Collapse
levelcoding profile image
levelcoding

Your Clients what say, they pay for laravel? For example in woocommerce you can make a shop in 1-2-3 days, in Laravel you need around 1-2 weeks to they alocate you , how much , or what you do to delivery a cms?

Collapse
jinistenfors profile image
Jini Stenfors

I agree with you, certainly Laravel has it's charm and great support. good work! 😊

Collapse
elliott2081 profile image
Collapse
lloricode profile image
Lloric Mayuga Garcia

great adventure ☺️

Collapse
zinho888 profile image
Josué Vingreiro Fazani

I still prefer my Node.js and my Express

Collapse
rhymes profile image
rhymes

Good luck for your new job, it seems you made the right choice!

Collapse
wstocker profile image
Wendy Stocker Author

Thanks man! Much appreciated.

Collapse
shinyuy profile image
Shinyuy Marcel

Glad to hear discussions on Laravel, which is what i practice much on these days and really enjoy it.

Collapse
clsource profile image
Camilo

Congrats!.

If you like Laravel maybe take a look to Masonite docs.masoniteproject.com/ (Is like Laravel but with Python)

Also I really love ProcessWire CMS
processwire.com/ :D

Collapse
harrisreid profile image
HarrisReid

Drupal 9 is more more better option

Collapse
tommym9 profile image
Tom Metcalfe

Interesting development in the UK. A few agencies have started dropping Drupal. One agency near me has put it quite elegantly here: torchbox.com/blog/torchbox-has-dro...

Collapse
tobiushirogeri profile image
Alex B.

I've made the switch 4 years ago, I don't think I will go back....