3 ms·
I'm always somewhat mystified regarding the abject hatred Drupal gets from the HN bunch... I understand a few points: 1. Perceived as overly complex. 2. Relia
by stockli 12y ago
I'm always somewhat mystified regarding the abject hatred Drupal gets from the HN bunch... I understand a few points:
1. Perceived as overly complex.
2. Reliant on dev paradigms that originate from the PHP4 days, i.e. no OOP.
3. Performance can be a problem.
4. It's PHP, and old-school PHP at that.
5. Everything is done in the UI, and you can't ship DB-based config in code.
6. It's for people who don't know how to code. (I would argue this applies more to WP than Drupal)
I get all of those points, and I agree with most of them. However, my shop uses Drupal for mid-size projects, and a little bit of WP for small ones. Here's how I see Drupal:
1. Integrated, relatively coherent API and model structure that modules can hook into. I.e. two modules don't need to explicitly know about each other for them to be used together. Thus, uncoordinated effort on disparate modules can be used together by site builders to create novel features.
2. Configuration is much less DB oriented than it was, and many things can be committed to git now. This is also continuing to improve over time, and Drupal 8 will be a major change in this regard.
3. Drupal when properly set up actually seems to provide a more consistent admin experience for users than WP does (in my experience, anyway). WP sites that use a lot of modules usually end up with the admin feeling like it was designed by many different people. Drupal used to be that way, but has greatly improved...
4. Performance with proper caching is actually pretty good. As always, you can use any good tool poorly and get poor results.
5. Drupal's codebase is extremely complex, and structured in a way that makes things very hard to debug sometimes (i.e. the hook system). Sometimes I want to do something that I consider very simple, and I can't do it without digging through the API for 4 hours trying to figure out how to do it.
6. And yes, PHP has problems. I don't like its API and that it tends to encourage poor coding practices, but as some recent threads on HN have pointed out, modern frameworks like Symfony are helping to put a cleaner face on PHP. And D8 uses Symfony.
It seems like many of those that hate Drupal stopped using it in version 6, which definitely had many of the problems listed above, many of which have been addressed to some degree. Drupal 8 is based around Symfony components, which should greatly modernize the codebase, though that has been a very controversial move in the community.
All of that said, Drupal still feels like the "least worst thing" for what we use it for, and I'd love to hear what people use instead of it for the types of projects we use Drupal for (custom e-commerce, large content sites with lots of different types of content, complex publishing workflows, etc). We've tried Joomla and WP at various points, and each felt like it had shortcomings for our use cases. And we don't usually get to work with huge budgets, so we have to deliver a lot of complexity for not a lot of $.
Sorry, this got really long, and this thread seems a strange place to go into so much detail :). But I am genuinely interested in alternatives, and in what others are using when they just need to build a (complex) site for a customer who doesn't have the $ to start totally from scratch.
- etfb 12y agoMy major objections boil down to aesthetics and culture. The themes and layouts that shipped with Drupal 6 and below were all eye-bleedingly ugly, really obviously designed by developers with no eye for colour, layout, white space or typography. In those days, you could tell someone was looking at a Drupal website just from the sound of them rattling through the cutlery draw trying to find a spoon so they could gouge their own eyes out. This carried over to the ridiculously complex menu system and the barely usable administration methods, which made it actively unpleasant to use the system as developer OR user. I gather D7 has improved on this a bit, though it's still nowhere near Wordpress in this regard. The main trouble I had with the culture was that complexity was seen as something necessary for power; as in, you can't achieve a result with a simple system. You can only chop down a tree with a Swiss Army Knife; an axe is too simple. This carried over into the disastrous decision to throw out all the code, including third-party extensions, in every major version update, meaning that stuff you wrote and tricks you learned for version N would be almost completely useless for version N+1. I found that idea so totally beyond hopeless that I was forced to throw out what I had spent years laboriously learning and move over to Wordpress, which suffers from none of these problems.