It’s got a beautifully simple API and templating system that really lets you tackle and manage projects how you want to tackle them.
We’ve had production sites with thousands and sometimes tens of thousands of daily hits running off it for nearly a decade and had pretty much zero problems with it that I can remember. I’m confused why more people don’t use it. Sometimes I wonder if people like to make their lives difficult and use the latest shiny new thing just so they can use the latest shiny new thing.
We’ve even utilised it in non traditional ways as well, due to its flexibility - for instance we developed a few games (UE4 and Unity) for clients where we set up and managed various game properties for objects, enemy behaviour, etc. that games could then easily pull in dynamically as JSON allowing a quick and easy way for non developers to play with underlying game variables while play testing with no real programming experience. The simple tree hierarchy system, supplemented with things like repeaters, standard fields and in built selector functionality really makes it easy for anybody to get a handle on it in under ten minutes and feel at ease.
We’ve integrated it with horrendously bad client SSO systems with minimal effort as well, to speak of it’s somewhat fringe abilities.
The community is great as well, no politics and very active.
Disclosure: I’ve got no commercial interests in it, other than it’s made day to day life much easier and I’ll sing it’s praises at any opportunity.
If you wake up one day and decide you want to shove 20 million proteins into a Processwire site as individual pages, the community will immediately jump in and help you do it: https://processwire.com/talk/topic/25444-creating-20-million...
TBH, I probably would have approached this differently. When we’ve had big datasets, we’ve spun them out into another database entirely and just used Processwire for routing/API/business logic/hooks/security/etc. and hand cranked some DB queries as needed for the underlying data layer. Amazing to see what they did though.
I have worked primarily in Drupal or just directly in either Symfony or Laravel. Drupal 8 has a pretty sophisticated cache API and reading through the ProCache module description it sounds pretty similar (except that it appears to lack cache tags?).
Anyway, I certainly wouldn’t call Drupal or WordPress “the latest new thing” and in my experience at least Drupal does a solid job of getting out of your way as well.
Using it just as an API is also very nice.
You'd need to install several plugins to pull this off in WordPress, some of them paid (ACF Pro, etc.). And it's messy because the plugins weren't made to work together. Craft also supports Postgres in addition to MysQL/MariaDB, so that's another difference if you like or need PG.
It's more similar in scope to Drupal, but I find the developer and authoring experience much more elegant in Craft. Businesses are happy to pay $299. Both systems use Twig as their templating layer.
For reference, content management systems that target the mid-market and enterprise charge $XX,000 and up for licenses. See Sitecore or whatever Adobe is shilling these days.
There are hundreds of CMS options out there, lots of interesting approaches to choose from. Strapi and other headless JS-driven options are the current rage.
Source: I'm in the Craft pro network but have built 50+ WordPress sites as well. Prior to that I used ExpressionEngine, Textpattern, and Movable Type. Been around the block!
I wrote the "Features for Developers" page (https://wintercms.com/features/for-developers) on the Winter CMS site, which pretty much summarises my thoughts on the advantages of Winter CMS development.
I was using October CMS for years before I became a maintainer, and the thing that hooked me was the plugin architecture. It is incredibly simple to extend nearly every facet of the CMS to do what I want for my clients.
I've developed (and still do) develop WordPress sites, and I find trying to "extend" or customise some plugins to be like pulling teeth if they're not using the hook system correctly.
The fact it's built on, and supports most of the API of, Laravel is a bonus to me too.
I've dabbled a little in Drupal but don't have enough experience to give a good comparison in between those two.