Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Nostromo was developed when convention over configuration was the way to go. This means that as long as classes, directory structures and other things conform to a certain convention the framework will pick them up automatically. While this enables a very fast dev flow when you are used to the conventions, it slows down anyone that is not fluid with them, resulting in a quite steep learning curve. Over time explicit configuration came en vogue again, because it is easier to test as certain aspects of the application flow can be easier mocked during testing if you are able overrule the default. As time went by both approaches mixed in Nostromo, which makes it quite hard to understand, when something just works automagically and when you have to configure stuff. We started to be more explicit and make more use of concepts like composition over inheritence, resulting in more explicit and concise code in newer parts of the framework.

Nostromo started when Symfony was in its early stages and the predominant PHP framework was CakePHP. The quality of available frameworks was just lightyears behind stuff like MVVM Lite for C# or Ruby on Rails. This (and the component based UI) was the reason to start our own framework. In recent years we tried to decouple Nostromo much more and exchange parts of our own code with community standards like Monolog or Symfony Debug. Over the long run we wll migrate to Symfony or Laravel. Migration to Symfony will be much easier as it is not as opinionated as Laravel.

...