Quokka Principles
Quokka tries to be an ergonomic framework for quickly writing and prototyping web applications. While still being heavily worked on the final goal is to have a framework that feels like one of the good old frameworks that give you all that you need. A backend for viewing the state of your application, managing your entities, settings and authentication.
And all of this should come in a simple to configure package.
Part of that is to build up an API to make allow multiple, independent modules to move along each other. They need to be able to extend and interact with each other.
Quokka tries to archive this exposing (sub-)states which allow modules to extend parts of the applications like templates, styling and more.
With the states Quokka encourages you to build your application or library more object oriented (in the sense of OOP). More or less all interactions in Quokka require a struct which implements a trait. But also again these structs are usually build from the Quokka state giving you some kind of dependency injection wherever you use structs.
This book will introduce you to the builtin (sub-)states and shows you how to further extend the framework with your own bundles and how to let other bundles extend your bundle too. There is of cause no right or wrong, but all that this book contains is my opinion/recommendadion on how to structure and build your bundles so that others can navigate through your code and know how to look for what.
Quokka is very open about adopting other opinions too! Quokka is opinionated. But this opinion should not only come from me. I want to have a community around it which shapes how Quokka application are build. So if you want to participate in the development and express your opinion feel to open an issue on GitLab and put the "Discussion" label on it.