5

We currently have a Drupal site. What are the advantages and disadvantages of moving to Craft and Craft Commerce. Why would someone choose Craft Commerce over Drupal Commerce.

10

If you are a php developer Craft will be the more interesting option because it uses the great Yii framework that provides many good tools. A few years ago we decided to drop our custom CMS development and we chose another one to create our sites. It took us all in all about 6 months to compare about 15 different systems. We compared Craft vs Drupal as well and it was an easy choice.

  1. The development is super fast. If you don't have some kind of "default" website (design that everyone else uses with no functionality) you are really flexible. Due to Twig and Pixel and Tonics implementation, as well as the ElementCriteriaModel, you can create dynamic pages in no time. Edit: I know since Drupal 8 it uses Twig as well, but the Query builder is not that good in my opinion. It's easier to fetch/search entries in Craft than in Drupal
  2. Matrix fields - if you don't go the wordpress way and provide only one huge html editor this is the most incredible feature for customers. We evaluated the experience from customers point of view and no other system was so logical and easy to understand for our customers as Craft. We don't need to provide any classes/workshops/tutorials or support anymore because it's so intuitive. Our company doesn't need as much customer support as with Drupal => we save time and costs.
  3. Yii / Yii2. If you are a real php developer and not only a designer and if the framework matters Yii is an advantage as well because it's easier to understand and faster (at least Yii2) we made many benchmarks and Yii2/Craft has a better performance than Drupal. It provides better options to extend the system with Plugins so you'll save a lot of time as well. All in all you'll be able to create more sites with Craft than with Drupal (of course only if you are a developer. Designers who only download plugins will be slower since Craft was made for developers.)
  4. Garnish.js / Craft.js - once you get used to it Garnish.js is an awesome javascript library from Pixel and Tonic that provides many features to customize Craft and your entire CMS. You are able to overwrite/extend nearly every single javascript function. So if you would like to change something for your customer you'll be able to do that. Drupal doesn't allow it in that way. You are free to change every single Ajax request. If you want to overwrite the code that is returned when you change certain options, just do Craft.PackageName.prototype.FunctionName = function(){...} and you can gain full control of all behaviors without breaking updates.
  5. Craft Commerce is really flexible as well. You can customize the system and the templates however you like. If you would like to change the behavior you can create a custom controller and extend the things you require. Everything is build OOP thus you can create your own models and save them. There are really no restrictions.
  6. It's build with MVC pattern and OOP... I don't think there is much more to explain. Drupal isn't - I don't really like it. It's a mess in terms of speed. You have to remember all the functions, it's not intuitive. If you don't know how to do certain things in Craft or if you don't know certain functions you can always do Craft::$app-> and it shows you all the possibilities you have. Drupal doesn't work as good. If you don't know how to do certain things you can be 100% sure you can always look into their source code. It's so intuitive you know where to look things up. Their code is clean and easy to understand with many commentaries and PHPDocs.

Now some disadvantages

  1. If you are no developer you could have a hard time because there are way less plugins. So people who just want to download all the things they need without a plan what they actually do (I know many companies in my region that use EE, WP and Drupal because of that) won't be happy with Craft.
  2. There are no themes. For me this is actually an advantage because I don't like all those pages that look exactly like all others but some people might see it as a disadvantage. So there is no "ready to download, one click and I can sell it" button for Craft.
  3. The community is a little bit "smaller" you can receive help here at stack exchange really fast and most questions are answered. That's not the problem but here as well: if you need a developer there are less people for Craft than for Drupal. If you have any troubles or issues with Craft commerce - depending on the question and the situation - it could take a little bit longer for you to receive help. The developers at Pixel and Tonic do a great job and they are looking at stackexchange every day but when there is too much work it could eventually take a few days until someone responses.
  4. The documentation: Crafts/Craft Commerce online documentation is not so good. Most things are not explained online. Many features are not even on their website. I would say most of their documentation is in their code. It's up to you to decide whether this is good or bad. I think it's good the way it is, because every function has a detailed description how to use it and what it does. As soon as you have a good IDE it's absolutely awesome to use Craft because they explained everything very good, autocomplete and phpdocs work like a charm. But then again: if you are no developer and want to have an online documentation for non developers it could be troublesome without stack exchange.

Edit: TL/DR
As a developer Craft will be your choice otherwise Drupal might be easier.

| improve this answer | |
1

My shop recently switched from Drupal to Craft. The mindset is completely different. I had to unlearn a lot.

My biggest frustration was the smaller community. Everyone's been great, but there are a 100x less of them. The documentation is sparse, and the few people putting out quality training materials would very much like to be paid for their efforts. The dotAll convention publishes their talks for free, but again, they're a couple orders of magnitude fewer of them than the Drupal conventions and camps. I found a lot of videos that stop partway in. It was a painful paywall to get used to.

Another difference is the profit model. Craft provides a store on your site where you can try, and license, plugins. Compared to Drupal's modules being mostly free, this took some getting used to.

Craft doesn't seem to have it's own issues forums. It looks like they use github and stackexchange, whereas Drupal's got a pretty robust forum established.

I found this post trying to compare the pros and cons of Craft's matrix field vs. Drupal's layout builder. They might be comparable.

I'm not sure how Yii compares with Symfony. Both seem good.

Drupal's OOP, but I don't think it's MVC.

Drupal Commerce is a pretty well developed store. Not sure how it compares to Craft Commerce. They worked out a bunch of funky discount/intl. tax issues over the past couple years.

Going forward I expect we'll use Craft for our smaller clients, and Drupal for the more complicated institutions.

| improve this answer | |
-2

Drupal is the number #1 in production solution in soo long time. Custom tax? Some not usually patterns? Extremely complex task? Code Quality? Drupal 8!

Craft is like paid Directus, it’s look great on first look, then lack many options in long run after you find that you overpaid more than needed. And remember, you must year by year pay for same code. With OOMVC bloat code in mind you get monolitic solution like any other cms just to have one feature above all other.

Most importantly is community’s and ecosystem of open source extensions. Only then you will hook in fixing plugins and not just own instance. After that you get stable solution. Any “negative” of Craft is about what you really get. Do you really need support from them? Take small agency, do it for 1/5 price, get job done and donate to ecosystem 4/5. This way every people win - not only Craft Company ;)

PS. I’m from website agency and we push fixes for many open source projects as they are engine for client’s website. Join to this thinking ;)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.