Recently I had an opportunity to have a chat with Microsoft, along with a few PHP community members. We were greeted by Josh Holmes (Architect Evangelist / US) and Rogerio Cordeiro (Developer Evangelist / Brasil) at the Microsoft HQ in São Paulo and headed over to a auditorium where we started off a informal but very interesting talk for a few hours. This was the basic idea behind the visit: to show us a few of their new tools and get feedback from what we developers think or their tools, what is missing, what is broke, how to fix it.
The main impression I got from the new tools was pretty clear, they had addressed important issues, but most importantly they had addressed the issues which were raised at the Microsoft Web Developer Summit (MSWDS) which I had attended in 2009, it was quite impressive to note this, because it meant that they were really listening to this kind of feedback, making this meeting even more important and showing us developers that we really have a say in the matter (yes, obviously not as far as messing with their business plan).
So, how is Microsoft making PHP Development easier?
Deploying a full LAMP stack on a linux server is something relatively simple if you have some basic knowledge of Linux and the command line, but in Brasil we have quite a big chunk of PHP Developers using Windows as their development platform, especially if you look at the beginner level of the community (most advanced developers are on linux or mac nowadays). This means that at an entry level the developer’s first experience with PHP is on a WAMP stack. Sure you can use solutions like XAMPP or WAMP Server to install a full stack, but Apache + PHP performance on the Windows platform is horrid at best, and that leaves a bad impression on developers. What is the solution? Well, its IIS, but show me a raise of hands of how many beginners have the slightest idea of IIS Management or configuration, or even those who want to have that knowledge. My guess is very few hands are up right now.
In comes the Web Platform Installer, released a few years back it solves this problem pretty well, install the whole stack, any applications like Drupal or WordPress or any related software or configuration needed. It takes an axe straight to the root of getting a development stack up and running, and it does all that very well in version 2.0. What we got a glimpse at during the meeting made me believe this is going to get even better: WebPI 3.0, currently in beta.
This version marks also the release of PHP Manager which makes it really easy to manage PHP installs and gives us a very cool possibility, have multiple versions of PHP running side by side on the same machine, each website running its own version, this means you can support your legacy application alongside your new toy all shiny and new and using PHP 5.3. This is really good for that beginner profile who can now have all this power in his hands at a very low entry cost. It also helps another layer of developers, the framework and application designers, this makes it really easy to fire up a VM with windows and test the software you are about to release with various PHP versions, how many times have you had to struggle to do this?
Another very cool part of this package is WebMatrix, it gives you a full dev environment with all the Express packages and it includes a lightweight IDE for code development. But the coolest part of this is on that addresses a message we all agreed on at MSWDS, “deploying to a windows server is a pain”. This is the publish feature that allows you to connect to a windows server and direct the full deploy straight from the tool, a button push away, how’s that for making stuff easy?
Still on WebPI there is another cool feature: the Application Gallery. Imagine a feed with hundreds of applications just a click away from install, that is really good for those everyday routine deploys like getting wordpress up and running for your grandma. But it goes much further for that layer of developers that base their business around selling commercial or free web applications. The reason is pretty straight forward, if you join programs like Website Spark, you can get your application listed in the gallery, just one click away from your user base. How’s that for spreading applications?
Microsoft has also gone further and given us PHP devs a cloud solution where we can use PHP, since Google has frowned upon our language on Google App Engine, we can have a closer look at Azure, but i’ll leave this to a post in itself.
As someone who took part in Microsoft reach for the PHP community and who had the chance of pointing out their mistakes and applauding there successes I really wanted to share this message with you, because i think we have reached a turning point where Windows is now a First-Class Citizen in the PHP stack, alongside Linux, as Rasmus himself has said.