Flow3: PHP's Answer to Java's Spring?
[img_assist|nid=891|title=|desc=|link=url|url=http://flow3.typo3.org/|align=right|width=256|height=192]I'm a Typo3 user for years. It's one of the best PHP-based OpenSource CMS you can get today. I prefer it over Java-based solutions because it's mature, feature-rich, and best of all, it can be used with every provider environment you can find on the planet.
There are huge installations out there already, that scale, can be clustered, and the like. For short: Typo3 is rock-solid enough to be used in mission-critical environments. But, the core team recognized over the last years that Typo3 misses usability in the backend. With Typoscript, a flexible but also complex beast with a steep learning-curve, the design and maintenance of sites was time-consuming. In a first step, Typo3 3.8 allowed to use TemplaVoila, an extension with a visual designer for page templates. With Typo3 4.0 this extension became part of the core.
For Typo3 5.0 (Phoenix) an additional backend redesign is planned that will deliver the usability we already know from Mambo/Joomla, Drupal and other competitive OpenSource products.
Before I started to use Typo3 I used Mambo, and I even developed hacks for multi-lingual support of extensions for it. Mambo's usability was pretty good, but the core was pure chaos. Multi-lingual and multi-domain managed sites couldn't be done in a stable way. And the worst of all was the missing compatibility between releases. All my hacks had to be developed again and again. So, I decided to change to Typo3, which delivered multi-domain, multi-lingual support out of the box, and with TemplaVoila a similar management of the sites.
During the concept design to fight for better usability the Typo3 core team decided to reimplement the Typo3 core. Modern concepts popular within the Java community led to the idea of a separate framework in the end: Flow3. It is comparable to Spring, and Flow3 will deliver a lot of features we love from Spring today, e.g. DI and AOP.
Yesterday Robert Lemke, one of the masterminds behind Typo3, announced flow3.typo3.org. This will be a kind of core framework for Typo3 5.0, allowing virtually any PHP project to incorporate the most modern PHP core around. Robert tells in an interview, that it will be even more flexible to use, in the sense of modern development concepts, than todays successful Zend Framework.
Besides the fact that Typo3 5.0 will be even more rock-solid, I like the idea to get comparable design and development principles for PHP and Java. There's no doubt that other language frameworks will follow this idea.
When I talk about enterprise technology today, Typo3 is my prime example for the quality one can achieve with PHP. There's still a discussion in the Java world about this little stepbrother. A lot people still think of PHP as a toy. This is like the discussion about JVM speed with the C++ followers in the early days. When Flow3 is available a lot of these reservations will be obsolete for a lot of PHP projects ;-).