Introduction

Cherrycake is a low-level programming framework for developing modular, efficient and secure PHP web applications.

Instead of a comprehensive, all-in-one web app building environment, Cherrycake aims only to provide a strong foundational layer and methodology that feels comfortable, rational and easy to use while prioritizing this three main goals:

  • Modularity

    • Provides scalability, standardization and code tidiness.

  • Performance

    • Maximizes response times and reliability even in very high traffic scenarios.

  • Security

    • Identifies, blocks and reacts to known attack vectors.

Cherrycake is aimed at curious developers and students in the mood for creating a new framework or learning about techniques to do so. If you're one of those, Cherrycake can bring you inspiration, and maybe even provide a foundational layer you can build upon.

Because Cherrycake is not being maintaned by a big or active community like other akin frameworks, it's not recommended for production use, and is presented only for educational purposes.

Applications

Because Cherrycake sits and stays at the lower level of the server application, it provides you with a clean slate to build any kind of website, but also: API endpoints, client-server architectures, proxy-like architectures, resource serving services, servers for system interfacing or batch processors for example.

Because of this architecture, Cherrycake might come in handy when building websites of any complexity, but could also be a great partner for your client-side JavaScript application by providing the API it needs. Similarly, Cherrycake might be a good starting point if you're experimenting with new ways of using the Internet, or it could even be a strong foundation if you're developing your own server application programming framework.

Philosophy

Server web app programming frameworks that reach higher implementation levels come inevitably with some loss of control and detachment from the finer details in favor of practicality, standardization and improved development speed. For the vast majority of developers this loss of control is negligible, and the benefits they provide far outweigh the loss.

Cherrycake is recommended to web developers who prefer to stay closer to the metal to regain control of every possible finer detail of their application, at the expense of the benefits of higher level frameworks.

Very often, this need of control, more than a rational or optimal decision, is simply an emotional manifestation of passionate programmers who enjoy digging deep in the understanding of how a system works and how it can be improved, who like to defy standards and enjoy coming up with their own solutions, even when there already are solutions available.

In that sense, even though Cherrycake also provides many higher level modules, it's defined as a low-level framework because instead of aiming to provide a suite of ready-made solutions for an optimized development cycle, it focuses on providing a strong foundation for you to create them.

Purpose

Cherrycake is not a replacement for fully-fledged, widely-supported and well-known frameworks like Laravel or Symfony. If you're looking for alternatives to those frameworks, you're looking in the wrong place!

Last updated