Recently, I've been revisiting Strapi as a solution for building backend systems. I still think this headless CMS can be quite useful in certain cases, especially for faster prototyping or creating common websites like company profiles or e-commerce platforms. It might even have the potential to handle more complex systems. With the release of version 5, I'm curious to know what updates it brings.
Strapi has launched a new documentation page, and it already feels like an improvement in navigation and content structure compared to the previous version. That said, there's still room for improvement, particularly when it comes to use cases and best practices for working with Strapi.
In my opinion, Strapi stands out with some compelling features that could catch developers' attention. I believe three key aspects of Strapi offer notable advantages.
First, the content-type builder feature lets us design the data structure of an entity or database model, including field rules, security settings, and relationships. We can create the structure through the administrator dashboard or manually in a JSON object. Additionally, by defining a content-type, Strapi automatically provides core functions to manage and interact with its records, such as controllers, services, and document APIs. We can then define routes, assign appropriate controllers, call services from other controllers or services, or work directly with the document model.
Secondly, it comes with built-in internationalisation and publication state features. The internationalisation setting can be applied to individual fields, allowing us to specify which fields in an entity or model can support multiple languages. Meanwhile, the publication state feature lets us define whether a record is published or in draft mode. Together, these features enable a record or document to have four possible states, all seamlessly managed by Strapi and accessible through a single document ID. The table below illustrates the states.
with i18n | without i18n | |
published | ✓ | ✓ |
draft | ✓ | ✓ |
Lastly, one standout feature of this headless CMS is its plugin-based architecture, making it easy to expand the platform's functionality. Plugins can be created to add entities, controllers, API routes, and more, as well as enhance the administrator dashboard. Once a plugin is connected to the main Strapi application, all components can access the plugin's features, and in turn, the plugin can utilise any existing platform functionality, including features from other plugins.
Comments
Post a Comment