Well its finally here. Yea! Zend Framework 2 was officially released on September 5th, 2012. The development team started rewriting the Zend Framework back in August 2010 with the release of their milestone document. So it took two years. I'd like to say they took their time and did it right, time will tell.
Zend Framework 1 was argubably the most popular PHP Framework in the world. At every developer meeting developers would talk about it, like everyone knew how to use the framework. So why did they rewrite it?
Well there were many reasons. The original framework was written before PHP 5. Specifically before PHP 5.3, when you could say that PHP became, arguably, a full object oriented language. So there was "old" code being used in the original framework, and the developers wanted to take advantage of the object oriented technology.
But that wasn't the only reason. The old framework did not have a consistent interface for developers to add functionality. This led to a learning curve for each component you wanted to use and inconsistency when writing code. Because of this the learning curve to learn how to use the Framework was long.
Gradually the old framework added more and more code, became harder to learn to use, and slower as it aged. Newer frameworks like Yii, and Kohana came out that beat it in performance, were easier to use, and were completely object oriented supporting PHP 5, and not PHP 4.
This led to developers gradually moving to other Frameworks for their development. In short, Zend Framework 1 had outlived its time.
What were the goals for Zend Framework 2?
1. Ease the learning curve to learn the Framework with better documentation, better examples, and a quick start guide.
2. Make extending the framework easy with a standard interface architecture.
3. Improve the performance of the Framework by 200 to 300%.
4. Be an exemplar PHP 5.3 application using namespaces and fully object-oriented code.
5. Make the code easily maintained with a fully tested architecture and a distributed version control system.
6. Allow users to just use the code they need. Make sure there are no hard coded dependencies and code is encapsulated.
In my mind, I can count on one hand the frameworks I would consider using and learning to use in development. Rather than get into a dog fight over the exclusion of a framework from that list, I would rather say, I don't know many developers who would not want to take the time to check this framework out.
I will reserve judgement until the benchmarks start coming in, and the community starts using the Framework, the test of time so to speak. Zend Framework 2 has a brand new site to download the framework, or better yet get it from github and easily keep the Framework up to date.
I have been anticipating the release of the final 2.0.0 version for months. I'm thrilled it's here. If you're at all considering using a PHP Framework for development, Zend Framework 2 should be at the top of your list.