Why Developers Love to Work with Craft CMS
As a digital marketing agency, we build websites on the platforms that best the needs and goals of our clients. Some clients have an existing site on WordPress and are looking for improvements. Some might want a migration or a redesign on an entirely different platform. Other clients favor the full services of BigCommerce or Shopify, while others may venture off in the land of open source options. All of these options can produce excellent sites that drive results; however, the CMS platform of choice for our developers is Craft CMS.
Like most CMS platforms, Craft is secure, offers great support, and competitive pricing. What sets Craft CMS apart is that it fosters a great workflow and environment for the developer. Creating unique projects from scratch is enjoyable to build and maintain. This article will focus on the developer’s aspect on building a site and why Craft is our favorite CMS to work with.
“Designed for developers, Build exactly what you want from the ground up rather than wrestling with a prebuilt theme.” This quote from craftcms.com pretty much sums up the power of Craft. It stays out of your way with minimum interference while giving you the tools to build out exactly what you need. Too often with other platforms, there is a peculiar way they allow edits to pages, widgets, or multiple code editors to make changes. It embeds the workflow when seemingly basic tasks like switching assets over to https need a tutorial or a bloated plugin. This is not the way for Craft.
Unlike any other CMS, Craft opts for simplicity over complexity. Instead of having a rigid structure of processes like adding fields, creating page sections, and adding content, Craft opts for a more basic structure. You can see that right away when viewing the admin interface. It’s very clean, almost bare bones. As your content grows, it will expand, while still remaining organized and simple to navigate.
Of course there’s nothing simple about building a site from scratch, which is what you have to do with Craft, but that gives one the flexibility to model each site uniquely to the needs of the client. This simplicity translates to load times and performance as well. As a site gets filled with content, it is still as quick to load and navigate through. I can’t say the same for platforms like WordPress and Drupal, which are often notorious for laggy backend experiences. You can read about our comparison of Craft CMS vs WordPress here.
Craft keeps the panel clean by structuring everything into singles, channels, structures, and categories. A single represents a page on your site. A channel represents the structure content you can reference whether in your single or in your code. An example would be a blog article channel, or a channel of your products. A structure is similar to channel except it’s used when order matters. A developer can simply pull in those data structures to their single pages or where ever in the code they see fit.
This is a simple yet intuitive way of creating relationships between pages and data. Compare that to WordPress where one has to create a special page type and if you want to mix it requires custom php code, or special edits or, of course, download a plugin. No thank you.
Another way Craft CMS stays flexible and clean is due to the large range of built in field types that can cover every scenario including: plain text field, rich text field editor, checkboxes, multi-select, lightswitch, tags, table, assets, entries field (that pulls from the data from your channels and structures) and many more. Field types are the the little lego pieces that allow you to painlessly assemble a page into the vision your client desires. All the while offering the control on the admin side for them to adjust. If the client wants a page to have different levels of text, an image aside, video overlay and the ability to change when the image is left or right? No problem, just put together a single with multiple text fields, an assets field for video, a switch.
As a developer, simply call the field handle using dot notation and voila, you have full access to the content your client chooses. No framework, no plugins, nothing to obstruct how you build out your beautiful front-end masterpiece.
If there is logic in the project that may need to be reused for future projects, developers can simply build out a module within the Craft CMS. These self contained packages can extend the logic of your website and is fairly simple to get started. Say you have already built a store locator or a basic contact form. You can create it once and reuse the logic for your future websites. Of course you can always purchase modules as well, but there is definitely not a heavy dependency on using third party plugins with Craft like any other CMS.
To demonstrate the value of Craft, let’s evaluate two client scenarios and how Craft can make the experience much more enjoyable on the development side.
For a client with a simple site, you may just create a few singles. You can create a single for the about page, homepage, etc. You can also add as many different field-types (aka your lego pieces) as you want, until every desired aspect of the front-end has a respective connection that your client can control from the admin dashboard. Does your client want to have control down to the margin between pictures? Sure there is a field type to control every aspect of a page. Or they want minimum work and just the ability to change pictures. Easy breezy. With the feature of live preview, it becomes simple for clients to quickly edit their pages and see how their content changes will affect the performance.
On the other end, a large complex site may not use as many single unique pages. However, it may consist of unit blocks that are interchangeable and reusable throughout the site. This is where Craft’s most powerful field type comes in to play: Matrix blocks. This allows the developer to essentially create reusable code blocks and display it in the CMS as simple dropdown selection for clients to mix and match, edit, and create pages to their heart’s desire. This is an extremely robust content builder that again is simple and intuitive to understand and build.
These examples illustrate how Craft keeps procedures very simple and offers a powerful tools for developers to build out a site according to vision of the client. Whether they want to be heavily involved in basic edits, rearranging the flow of their site, or even creating new pages without any coding, it is all possible with minimum headaches using Craft.
Although a great choice, there are cases where Craft would not shine. If a templated site is satisfactory for your client, then Craft might not be right for that project. The customization and extra work needed would be overkill if a template site with the necessary basics becomes sufficient. For clients that desire a custom site, Craft truly shines. The only limit is your own creativity.