Friday, November 04, 2005

The Zend PHP Framework

PHP is known as the 'quick and dirty' language for building web applications. Well, it looks like Zend has been paying attention and recently released their Zend PHP Framework in mid-October. At the same time they also announced support for Eclipse. Now this would be a major boon to all PHP and Eclipse developers.

The PHP Framework, based on PHP 5, from what I understand implements a robust MVC paradigm analogous to Java Struts and Spring to the PHP world. This brings scalability to PHP solutions. With IBM and Yahoo being major PHP supporters, this ensures that Eclipse remains a universal IDE. With the Ruby RDT and soon PHP Eclipse integration, Eclipse is becoming the de facto open source IDE for the future.

I read a few books on PHP and always thought it was a good language. The only downside as a scripting language is that no really good frameworks exist. At least not any frameworks to which I know about or have been exposed.

As a PHP developer you are coding at the user interface, logic and database levels concurrently without the nice separation that exists in an MVC architecture. PHP's philosphy is to keep it simple. This simplicity and lack of decoupling is where the speed of development and dirty design labels are attached to PHP development. This can be interpretted positively and negatively depending on your viewpoint. I think Java purists tend to view this negatively and at the other extreme PHP purists try to keep everything quick and simple. There are issues with both viewpoints but this posting is not the place to argue about it.

Ok, back on track. Due to this simplified development style, PHP is being used and written about quite a bit this year because of the increasing complexity of web applications. "PHP succeeding where Java isn't" is a good article by Mark Andreesen that is straight to the point about PHP compared to Java. PHP is learning from Java and evolving. Java is also evolving but I don't think it is actually competing with PHP directly. Also see the related articles, "PHP is what Java was 10 years ago", "Innovation Is Humming". Yahoo would not be using PHP for most of its stuff it did not have confidence in the technology.

Based on the trends with Ruby on Rails, Java, .NET and PHP it looks like clean, robust and quick are where these web applications technologies are converging. This is a good thing for everyone involved for the foreseaable future for software engineering. I'm stoked about this. It means that sound computer science theories, principles and best practices are winning the intellectual battles of programming the next generation web applications.

No comments: