--- title: The goal of Serinus sidebar: false editLink: false search: false head: - - meta - property: 'og:title' content: The goal of Serinus - - meta - name: 'description' content: Why Serinus has been created and what are the goals of the project - - meta - property: 'og:description' content: Why Serinus has been created and what are the goals of the project - - meta - property: 'og:image' content: https://serinus.app/blog/the_goal_of_serinus/the_goal_of_serinus.webp - - meta - property: 'twitter:image' content: https://serinus.app/blog/the_goal_of_serinus/the_goal_of_serinus.webp --- Have you ever thought about the goal of Serinus? Why it has been created and what are the goals of the project? If you haven't, don't worry, I'm here to explain it to you. ## Let's start from the beginning Serinus has been created on the 25th of January 2023. The initial goal of the project was to create a web framework for Dart that could simulate the same Developer Experience that you can have with NestJS in NodeJS. The project has been started as a personal one to learn more about the Dart language and also to understand the internals of a web framework. But as the project grew, the goal of the project has changed. It also changed the approach to the framework. At first I focused on using the dart:mirrors library to create a more dynamic framework, but unfortunatly I shoot myself in the foot with this architecture. The library was not stable and it also had some performance issues. After 6 months I deemed the project as a failure and I focused on something else. But on March 2024 I decided to give it another try. This time I focused on a more static approach to the framework. Still trying to simulate the same Developer Experience that you can have with NestJS. ## The goals of Serinus As the project started to take the shape that it has now the goals of the project have been defined but they are still evolving. The main goals of the project are: #### Developer Experience The main goal of the project is to provide a great Developer Experience to the developers that use the framework. This means that the framework should be easy to use, easy to understand and easy to extend. #### Stability We all love to see big numbers on benchmarks, but I understood that even if the framework is not the fastest one, it should be as stable as possible. The framework should not crash, should not have memory leaks and should not have bugs. #### Documentation The documentation is the first thing that a developer sees when they approach a new framework. The documentation should be clear, concise and should provide examples for every feature that the framework has. #### Community The community is the most important thing for the project. Although the project is still small, I want to create a community around it that can work to improve the framework and to provide feedback on the features that the framework has. The community should also help the new developers that approach the framework for the first time. ## What's next? Although the project is still in its early stages, I have a lot of ideas on how to improve the framework and how to make it even more stable and easy to use. I really hope that the project will grow and that it will become a great framework for the Dart language with a great community around it that can work together to improve it.