Craft CMS is a fast-growing content management system that’s gaining accolades for being both developer- and editor-friendly. We’ve been impressed by its features and ease of use for both admins and editors. It’s built on multiple open source frameworks, including redactor for WYSIWYG editing, twig (for the front end PHP template engine) and Yii (for server-side logic).
Craft CMS is built on Yii to take advantage of features like migrations, which let you automate code to be run once and only once. Update reminders are built-in, and it uses composer to manage dependencies. We’ve used many dependency management tools and found them all to be far better than manual dependency management.
Craft CMS offers extensive customization at every step of the web development process. Because there is no built-in front-end UX, you get to build it yourself. With great power comes great responsibility, but also great flexibility. The native editor experience is great, and includes a live preview in a split screen. New content types are easy to build and very flexible – you have tons of choices about the type and number of sections to use. Craft CMS hosts a vibrant plugin ecosystem that can be managed via composer, and you can also build your own plugins.
There is a welcoming community both on Slack and an independent Stack Overflow site. The source code is available. This means that when you need to understand how something works, you can take a look. You can even, as we have, submit a pull request.
Even with its extensive community support, Craft CMS isn’t like some other frameworks where you can Google something and one hundred other people will have had the exact same problem. You will also need to experiment, especially if you are writing back-end code. Even though there are some plugins available, you must be ready to roll up your sleeves and sling some CSS and HTML (or you are ready to hire someone to do so). However, this level of control can produce sites that are beautiful, maintainable and fast.
We reach for Craft CMS when there is a need for a crafted front-end experience and the content model is sufficiently complex (medium-sized sites). We’d avoid it if there are a large number of third party integrations — in that case, a more established content management system would be a better fit.
Craft CMS is still an emerging framework, but if the client problems fit its strengths, Craft CMS is a great tool for building beautiful technology.