ASP.Net Vs PHP.

July 19, 2008

Firstly let me start by saying that I do not claim to be an expert in either PHP or ASP.Net. Although I use ASP.Net daily, I am fairly new to it. I have decided to do little investigation to the age old debate about the difference between PHP and ASP.Net. This is only a short post, but hopefully it will give readers a better understanding of how the two technologies differ. Hopefully this will be as un-bias as possible.

The reason I have chosen to investigate the difference between the two is that non-programmer constantly ask the questions: “What’s the difference between PHP and ASP.Net”, “Why can’t PHP applications talk to ASP.Net applications?” or “That could have been done in PHP so much quicker, for free”. There are so many deciding factors when choosing a web application framework. I will attempt to outline the differences using a For and Against bullet point format for both.

For PHP

  • Free
  • Open source
  • Easier to learn due to its basic scripting language structure and build in functionality
  • PHP5 now offers many object orientated development concepts
  • Has many free IDEs available that are very impressive and well supported (e.g. Eclipse)
  • Runs on Apache server which is open source
  • Run on IIS 6.0 and IIS 7.0 due to Microsoft’s implementation of FastCGI open standard
  • Has multiple platform support
  • Marginally faster due to the overheads imposed by .Net’s Common Language Runtime, which is responsible for intermediate compilation of .Net’s many languages
  • Has a huge support base as it is open source

 

Against PHP

  • Although it claims to be free, when using free 3rd party add-ons developers often run into issues when developing commercially available applications (i.e. ownership of code / intellectual rights)
  • Most PHP IDEs require lots of add-ons in-order to add similar functions to Visual Studio
  • No built in support for AJAX. Requires add-ons.

 

For ASP.Net

  • Can be developed using the stunning Visual Studio.Net IDE that offers vast array of features, that make coding much easier and development more productive
  • Developers can download a free scaled down version of Visual Studio that offers an impressive array of features. This is aimed at students and hobbyists
  • Runs on IIS (Internet Information Services)
  • Applications can be written using many programming languages (e.g VB.Net, C#, J#, C++ COBAL)
  • The .Net framework (the engine that ASP.Net is runs on) has more sophisticated error handling capabilities than PHP
  • Allows better separation of design and application logic using of code-behind pages and user-controls
  • Has built support for AJAX as of .Net Framework 3.5

 

Against ASP.Net

  • Requires a Microsoft licenses
  • Requires a basic knowledge of object orientated concepts which can sometimes deter newbie developers
  • Single platform and will only run on Microsoft web servers

These bullet points emphasise some of the main differences, advantages and disadvantages of the two languages.

Quotes from other developers for ASP.Net and PHP

For ASP.Net
ASP.Net is Strongly Typed, Object Oriented, Sandboxed, Multi-Syntax, Component Centric, Event Driven, forms oriented, pre-compiled experience.

PHP is a loosely typed, objects optional, fixed syntax, component-less, runtime interpreted, structured programming model.

Joe Stragner

For PHP
In the end, PHP is less expensive, faster, more secure, and able to be deployed from a Linux server that is also less expensive, faster, and more secure than their Windows based counterparts.

Anon

Conclusion
There are many factors that may sway you decision about which web application framework to choose. This decision should be based on the factors above, the kind of career path you want to choose and detailed research. In reality though the decision is usually down to which framework you are exposed to first as many develops get comfortable with on languages syntax and features.

My advice would be to use both; if you can, as each one has its own merits and has earned its place in today’s web application development industry.