In this article, I wanted to compare the web application development platforms which I have been using for recent years. My comparison has no aim to make one platform better than others, or vice versa. These are all my own thoughts and what I have experienced during the development of web applications using the three platforms. It is open to you to express your opinions and stands as a comment.
Scores mean
10 – Best.
9 – Very Good.
8 – Good.
SyntaxI love Java syntax, a real object oriented syntax. PHP have some odd characters like “->, ::” and function calls are made directly like “substr, strreplace” which makes me feel like using procedural language. For ASP.NET, I have been using VB.NET.
J2EE: 10, ASP.NET: 9, PHP: 8Easy to LearnBelieve or not, I learned PHP in two weeks. One day I decided to learn PHP and visited PHP official website. The website had one question explaining what is PHP and how and where to start. Manuals, documentation and samples were all there and ready to download. To prepare development environment was straight easy. ASP.NET was also easy to learn but bit difficult than PHP. J2EE was the most difficult and long process for me.
J2EE: 8, ASP.NET: 9, PHP: 10Development SpeedFor simple, small-size and CRUD applications, ASP.NET is the fastest one because of the pre-implemented controls, components and APIs. In PHP, if you use the right framework, it is also fast process.
J2EE: 8, ASP.NET: 10, PHP: 9PlatformAlthough PHP works best on LAMP (Linux, Apache, MySQL and PHP) environment, you can deploy PHP web applications on other platforms such as Windows, Solaris etc…
ASP.NET have only one choice; Windows. There is a Mono tool for development and deployment of ASP.NET on Linux, but not ready for enterprise use. J2EE runs best everywhere.
J2EE: 10, ASP.NET: 8, PHP: 9DatabaseSimplest theory is MySQL for PHP, Oracle for J2EE and MSSQL for ASP.NET. There are many other good databases out there. You can use most of them with all three languages by adding or installing appropriate drivers.
J2EE: 10 , ASP.NET: 10, PHP: 10IDE – Integrated Development EnvironmentsASP.NET has only one choice, Visual Studio which is very cool IDE but costs puff ;) PHP have commercial and open source IDE-s. Most known PHP IDEs are Zend Studio and PHP Coder as far as I know. J2EE has nice open source choices as well as commercial. Eclipse is the most used and best IDE I have ever used. With its plug-in structure, you can use Eclipse almost for all purposes, even for PHP development. Beside Eclipse, there are some more good IDE-s like IntelliJ, Netbeans, Sun Studio etc…
J2EE: 10 , ASP.NET: 10, PHP: 9OOP – Object Oriented SupportJ2EE and ASP.NET win here. PHP have OOP support in its latest versions.
J2EE: 10, ASP.NET: 10, PHP: 9AOP – Aspect Oriented SupportJ2EE have some AOP frameworks one of which I have used. I don’t know whether ASP.NET and PHP supports AOP or not.
J2EE: 10 , ASP.NET: 9, PHP: 9SecurityJ2EE is the most secure one I guess. Once, I had my PHP web application hacked by someone. So PHP is secure only when you code secure ;) For ASP.NET, people have some doubts because of previous versions of windows security holes and hells. I didn’t experience any security problem of ASP.NET till now.
J2EE: 10, ASP.NET: 9, PHP: 9
Performance
I liked PHP Performance. For web applications I have ever developed, the most satisfied application was written in PHP. J2EE was little bit heavier to start, and consumes huge system resources. I have not tested my ASP.NET applications against huge loads in real life. Till now, I didn’t have any complaint about performance of my ASP.NET applications.
J2EE: 9 , ASP.NET: 9, PHP: 10
Web Server
ASP.NET has only one choice; IIS. For PHP and J2EE, you have plenty of choices; commercial and open source. Apache is the most popular one for PHP. Sun AS, JBoss AS, Oracle AS, Weblogic, Tomcat, and some more are for J2EE. Most of the J2EE servers cost high.
J2EE: 10, ASP.NET: 9, PHP: 10
Libraries and Frameworks
All of three languages have third party libraries and frameworks. In PHP and J2EE, most of the frameworks and libraries are open source or free. In ASP.NET, most of the libraries and components out there are commercial.
J2EE: 10, ASP.NET: 9, PHP: 10
Support and Community
There are plenty of forums, mailing lists, user groups, communities, developers, blogs and websites for all of three platforms. Most of the ASP.NET support, documentation and forums are managed by Microsoft, while PHP support is given by developers itself. J2EE have both commercial and open source support groups.
J2EE: 10, ASP.NET: 10, PHP: 10
Cost
PHP have big advantage on cost, both TCO and Maintenance. You can have IDE, Web Server, Operating System and Database all for FREE ;)
For ASP.NET development, first you have to pay for Visual Studio, then for Windows Server and for MSSQL. I don’t how much it costs total because my company already paid for them. For J2EE, you have choices. As I mentioned before, there are commercial and open source tools and software available. It depends on you and your company whether to use commercial, supported alliances or not. For example, if you plan not to pay, you can use Eclipse as an IDE, Tomcat or JBoss as a server, MySQL as a database.
J2EE: 9, ASP.NET: 8, PHP: 10
Conclusion
These three platforms are the most popular platforms for web development (of course, here we should mention Ruby On Rails, Django and few more ;) and they all have some advantages and disadvantages against each others. You have to choose the right platform according to the project behavior, size and scope, but also the criteria I listed above. I will not sum the total scores which will be unfair since I didn’t list all the available features of the platforms.
Related Comparisons and Discussions
See Also;
- Most Useful 20+ Visual Studio Add-ins
- ASP.NET AJAX Resources, Samples, Articles, Tutorials
- What is Microsoft Silverlight? Silverlight Resources, Articles and Tutorials
- AJAX Frameworks and Resources
- SQL Injection Resources
- Prevent robots from submitting data
- Frameworks are more important than Programming Languages
- Programming Handbooks and Cheatsheets