Developing basic websites nowadays is very simple. You can choose between a whole raft of online services like Facebook and specially written applications like WordPress. The problem comes when you want to get more advanced, all you hear is acronyms.
Due to this a few people have asked me recently, what technology should I use in order to create my (dynamic) website? Well I faced that not so long ago myself. Anybody wishing to create a dynamic or database driven website is presented with two main stream choices, PHP or ASP.NET. So how do they compare and which should I use?
Whether you want to develop the next cool social networking site or develop a custom website for your business you will need to choose which technology you will use. Two of the most popular web site development technologies are Microsoft’s ASP.NET and the open source scripting language called PHP.
These languages aren't seen by users as they sit on the web server to dynamically generate the page based on what the website visitor is doing. The language can be used in conjunction with a database which actually stores all the information you'd like to display on your website.
When it comes to picking one technology over another there are always those who swear by one and rubbish the other. Which is the better desktop OS? Windows or OS X? Which is the better OS for my web server? Windows or Linux? Which is the best game console? PS3 or Xbox 360? We are all used to these kinds of debates
There is widespread debate among developers about the advantages and disadvantages of ASP.NET when compared to PHP. ASP.NET is Microsoft’s commercial web development technology that is exclusively for servers running Windows. PHP is an open source web development language which is best known when used with Linux, Apache and MySQL (together the combination is often referred to as LAMP: Linux, Apache, MySQL and PHP).
Both technologies are server side scripting languages which run on the web server (rather than in the web browser which is where languages like JavaScript are used). With these languages web pages are dynamically created as they are fetched from the web server and the language controls what and how the pages are displayed.
Because PHP is free to use and develop with, you don’t need any special tools to get up and running. The majority of server type Linux distributions (and some desktop ones) offer Apache (the web server), MySQL (the database) and PHP as part of the base installation. Running PHP is just a case of putting the code in the document root of the web server and it just works.
ASP.NET is only available for the Windows platform and to entice developers Microsoft give away the special ‘Express’ version of their software (including Visual Studio and SQL Server) which allows developers to start writing with ASP.NET without buying any additional software from Microsoft.
As with all new technologies getting the right IT training and help is essential to exploit the technology to the maximum. Microsoft has a certification known as the Microsoft Certified Systems Engineer or MSCE (I hope my boss is reading this ;) ). Developers who have the relevant MSCE qualifications will be able to develop for ASP.NET with relative ease. PHP also has a certification called ZCE but I don’t know much about it myself.
Although not open source Microsoft do offer the Visual Studio Express IDE for free. The Visual Studio IDE is a professional application and it is the IDE that the majority of Windows developers use even for desktop applications. It has syntax highlighting, command completion and built in project organization. It also includes a good debugger which is something that PHP sorely misses.
There are lots of technical differences between PHP and ASP.NET but which one you choose will probably come down to 3 things:
1) Which technology does your hosting provider support.
2) Are you influenced by PHP being open source while ASP.NET is proprietary.
3) What skills do you, or your developers, already have (Windows or Linux? C or C#/Visual Basic? SQL Server or MySQL?).
Gaj-it.com uses PHP & MySQL however the website which I spoke of at the start of the article used ASP.net and SQL
Server. My choice was purely based on my knowledge of ASP.net however I will warn you ASP.net is generally very expensive to host but in my opinion much easier to develop in. Would love you to share your thoughts if you’ve had to make this choice recently? or are wanting to develop a website and your a bit stuck.
image source (benhartonline.com)
10 thoughts on “Choosing the right technology to create your dynamic website – ASP.NET, PHP, MySQL, SQL server, the list goes on”
Hi,
Nice article. Though PHP is open source, ASP.NET has always proved best favorite for Large and complex applications along with SQL server.
Cheers Steve,
I would definately agree with you on that, however I hear Facebook uses PHP and mySQL so it is possible to create very intensive and complex sites.
My preference is ASP.net due to how easy it is to use, generally most developers would say that its much quicker to create web apps in ASP.net.
Hi,
In my opinion, PHP is better than ASP.NET and JSP because it is free, runs on Linux, Unix, and Windows, and it is supported my millions of people. Who said that PHP can’t do somethings that ASP.NET can? This is just someone’s thinking. PHP can do ANYTHING that ASP.NEY and JSP can do, plus a lot more. Like I said, PHP is supported by millions of people while ASP.NET is supported by only thousands Mircosoft people.
Usually, ASP.NET developers will say that ASP.NET is better and PHP developers will say that PHP is better.
“You cannot make large and complex sites with PHP.” – This statement is wrong. Yahoo and Facebook are the two largest PHP sites in the world. Plus, millions of other popular sites are written in PHP (for example: thepiratebay.org and btjunkie.org – two of the largest and popular bit torrent sites). You can make ANY kind of website with PHP (for example: social networks, video sharing, search engine, forums, etc).
PHP has A LOT more functions and features than ASP.NET.
I am not saying that ASP.NET sucks. It is the second popular language for web development (PHP being the first). In fact, I am learning ASP.NET these days. I really like its Visual Web Developer which speeds up your work.
Inclusion, I would like to say that BOTH languages are awesome and you can make any kind of website with them.
I can’t recommend Ruby on Rails enough – great for newcomers and old hands alike, smart libraries, great reuse of code throughout, and reduction in “menial” coding freeing you up to work on the tougher stuff.
I love PHP. Don’t know much of it but I learn as I go.
It’s never too hard to find a solution to whatever problem you have. There’s a lot of integration with other coding too so it’s a dream for us amateurs.
:D
Its a geek dividing topic this one, something which I suppose puts a lot of people off programming altogether.
If you ever play with the later versions of ASP,net you’ll be shocked. Its mostly drag’n’drop and really easy to add logic. The only problem is like with front page, it adds loads of crap html. However if you learn enough of the language you can program everything yourself.
@saboo I think your referring to Steves comment, who mentions asp.net is preferred for large and complex sites. I suppose it is preffered by most organisations as Microsoft will support them, although this won’t come cheap. However if your wanting to create a commercial product and are investing millions into it, its good to have the peace of mind that your code will be supported within a certain time frame.
@Kev – Yeah I’ve heard a lot of good things about ruby on rails in terms of developing sites quickly it seems to have poor scalibility though – not sure if its still true. Twitter is a site built on rails and I remember hearing they wanted to completely start from scratch using a new language.
@Ben – PHP is something I need to learn more of too. The developers I know are able to do some amazing things in PHP but ultimately these can be done much quicker in ASP.net. However PHP prgrommers tend to be a lot more generous making a lot more of their work freely available.
On the negative side of ASP.net, I always find that your battling windows security etc.. some of the things you really want to do in ASP.net just aren’t possible, URL rewriting (SEO friendly urls) in ASP.net was really difficult until recently.
I’m trying not to take sides but if I had to use a language it would be between ASP.net and PHP. My decision would be based on a number of factors like mentioned in the post above.
There is no guarantee that Microsoft will stay forever and same with PHP. PHP and ASP.NET can both die if their supporters (Microsoft for ASP.NET and PHP Group for PHP) stop supporting them.
@Saboo – True that both Microsoft and PHP Group probably won’t stay forever. The difference between ASP.NET and PHP, that in the event that the companies disappear PHP would most likely be picked up by someone because it’s open source. The chance of ASP.NET becoming open source if Microsoft would go under are slim, in my opinion.
PHP ROCKS!!!
I have been trying to learn php for a long time now and I think that it’s because I didn’t learn the basic fundamentals first. I will keep trying as long as you keep posting interesting content as this.
I will learn thanks,
Bobby