Most PHP developers use a Windows desktop to develop their code, but then turn to Linux when it comes time to deploy their apps. It's a situation that Microsoft is hoping to change
On day two of the php|works conference here, Microsoft's Joe Stagner, who bears the title, "Opinionated Misfit Geek," delivered the morning keynote in an effort to help persuade PHP developers to consider Microsoft as a deployment platform.
Stagner attempted to take a very personal approach, telling attendees his reasons for talking about Microsoft at a PHP conference were partially to give them a feel that the company might be different than the company people have come to know from the press.
"I'm trying to add one question to your design process," Stagner said. "Is there any advantage to running on Windows as opposed to Linux?"
Though Microsoft is a sponsor of the php|works conference, Stagner noted for the record that Microsoft did not pay for him to speak and he wasn't lost and knows that the conference isn't TechED.
Microsoft has certainly been no stranger to conferences this year where historically they have been reviled.
Among them was a keynote from Bill Hilf, general manager of Microsoft Platform Strategy, at the Boston Linux World.
There was also a strong Microsoft presence at the Black Hat conference in Las Vegas.
Stagner said that when he first joined Microsoft five years ago, he was told by Microsoft's PR team that he couldn't say in public that he liked PHP. Times sure do change.
Microsoft's Opinionated Misfit Geek positioned his company to PHP developers primarily as a platform company, a comment that drew more than a few sneers from the audience.
Through its Dynamic Languages Initiative for .NET, there is an effort to truly make .NET a platform, according to Stagner.
As proof points he noted the rise of Iron Pythonand RubyCLR as dynamic languages that plug into .NET.
There is also an effort to bring PHP to .NET called Phalanger, which is a PHP language compiler for the .NET framework. It is currently available at CodePlex, the Microsoft shared source code site.
According to Stagner, 85 percent of PHP developers are currently developing on Windows, but only 20 percent deploy on a Windows machine.
Stagner then explained to the crowd why they might want to extend PHP using Microsoft technology, specifically .NET.
All .NET apps are multi-threaded by default, and .NET has remote instancing technology that allows for fast calls between machines.
What .NET also provides is the ability to do various things with COM (define), so developers can easily use other Microsoft applications such as Excel or Word to pull data from.
Stagner did admit that there are still a few hurdles to overcome for PHP users who want to deploy on Windows.
For one, PHP on its own doesn't perform as well on Windows as it does on Linux. One fix for that problem is Zend's WinEnaber, which is a product that improved PHP performance on Windows.
Then there are some things that won't run on Windows, such as mod_rewrite, which is an Apache module that rewrites long, unfriendly URLs into what the developer wants the URL to read.
"If an application needs mod_rewrite, that just doesn't work in IIS [Microsoft's Internet Information Services]," Stagner said.