Application Development Framework
An application development framework is, conceptually, one step “up” from a content management system. A development framework is not necessarily focused on content, but rather on application functions. A framework provides more flexibility, less structure, and a wider array of tools for doing common (or not so common) development tasks.
Concrete5 can be used as an application development framework. It is built on top of, and offers the capabilities of, components from Laravel and Symfony. It uses the Model-View-Controller architecture paradigm and embraces domain-driven design principles.
While a development framework might be thought of as conceptually above a content management system, a website builder is typically thought of as a less sophisticated or lower-level program (not in features, but in developer usage).
Website builders are usually used by non-technical people to assemble a website from visual building blocks. They offer “no coding required” editing of both content and visual styling through easy-to-use configuration interfaces.
Concrete5 is not exactly a “Website Builder” in the typical sense of the word, but it offers the ease and usability of a website builder. Users can edit content from the front-end, add components and widgets, adjust menus, and change styling.
This Website Builder functionality makes it an attractive choice for web developers that need to hand-off administration and day-to-day content updating to non-technical customer users. Very little training is required for basic tasks and simple updates.
Concrete5 can also be used directly by non-technical end users who want to build a simple website without hiring a developer, allowing it to compete with simpler products like Wix and Squarespace.
Advantages of Using Concrete5
Concrete5 has a lot to recommend it. The front-end editing features are especially attractive to agencies and freelance web developers that build sites for small, non-tech businesses and organizations. The underlying framework and available themes offer a lot of visually stunning, up-to-the-minute GUI features (parallax scrolling, for example) that make websites look and feel “high-end,” breaking them out of the “every blog looks the same” syndrome that often happens with other CMSes like WordPress.
Disadvantages of Using Concrete5
Concrete5 is still niche software, with a comparatively small install and developer base, as compared to WordPress or Drupal. This can sometimes mean a lack of depth when it comes to finding creative solutions to problems.
Another issue is that, though Concrete5 is Open Source, it has a strong commercial bias. Many of the themes and add-ons available are premium (they cost money), and the extension ecosystem is “curated.” Curation might guarantee that everything works properly, but it also limits the overall number of items available.
The hosting requirements for Concrete5 applications are:
- PHP 5.3.3. or greater
- The following PHP modules and settings:
- MySQL (with PDO extensions)
- GD Library with Freetype
- PHP Safe Mode Off
- PHP Memory Limit at least 64 MB
- MySQL 5.1.5 or Higher
- MySQL InnoDB Table Support
Many hosting providers will meet these requirements automatically, and some web hosts explicitly provide support for Concrete5 hosting and one-click installation.
About Adam Michael Wood
Adam specializes in developer documentation and tutorials. In addition to his writing here, he has authored engineering guides and other long-form technical manuals. Outside of work, Adam composes and performs liturgical music. He lives with his wife and children in California.