Last Tuesday night, despite the cold, wind and snow swirling around outside; the Calapari dining room was basking warm with all of the TYPO3 enthusiasts enjoying yet another delicious dinner provided by the Crap Sogn Goin staff. During dinner I had the opportunity sit and chat with Karsen, Robert Lemke and Andi; three developers at the core of FLOW3 and TYPO3 5.0.
First up, a preview of TYPO3 5.0 should be demonstrated by Karsen and Robert this coming September at T3CON09 in Frankfurt. This is being made possible as it’s felt that FLOW3 itself is pretty stable. However, the core API will be enhanced as further real world needs come about.
Inside of FLOW3 are very practical and useful design patterns. Design patterns, are the theories of software development created for making efficient software. Even better, FLOW3 utilizes enterprise design patterns, design patterns created in the past 10 years to handle the complex, global reaching and scalable software in use today.
The design patterns used aren’t picked just because they sound cool, but because quite a bit of thought, practice, research and validation went into only including the design patterns really needed. Through this practice of only using what’s truly needed and valuable to building an enterprise framework coupled with bi-monthly refactoring, reducing and profiling helps keep the FLOW3 code base size itself quite small. Hence, how 60,000 lines of code becomes 35,000.
FLOW3 Enterprise Design Pattern Highlights
- MVC – Model-View-Controller
- Front Controller
- Template View
- Transform View
- Two-Step Views
- Domain Model
From some quick Googling, it appears that FLOW3 is the only PHP framework taking full advantage of enterprise design patterns. Therefore FLOW3 truly is the next-generation PHP framework being made available now that surpasses current PHP frameworks like CakePHP, Solar and Symphony.
After dinner on Wednesday, Robert Lemke gave a presentation on creating packages for FLOW3. Packages are the current TYPO3 extension equivalents. The typical "Hello World" and a simple blogging package were amazingly created with a minimal amount of coding through the use of Fluid for Eclipse.
In seeing the ease, quickness and security provided by following FLOW3 development conventions for creating new packages, I’m truly impressed at the capabilities that FLOW3 is bringing the TYPO3 community. As such, I’m no longer hesitant to push forward with creating applications using FLOW3 for our clients.