مقایسه php و Asp.net از لحاظ امکانات و کدهای پروژه

Background

Well, I made this list when I was thinking about the right technology for one of my latest requirements. I wanted to make something for a presentation as a part of my Architecture Design job.

Here Goes the List...

The choice of technology is completely dependent on the requirements. The factors that influence the decision of choice are based on the following:

  • Complexity of Business logic
  • Density of contents
  • Expected number of Hits (if it is a website)
  • Budget
  • Size of project, etc.

There are multiple options available for many features. The major ones are listed which are my recommendations.

 

ASP.NET

PHP

Comments

Latest Stable Version

4.0

5.3.3

As of 19 Aug 2010

License

MS EULA

PHP License v3.01

 

Price

  • ASP.NET - .NET Framework is free. So ASP.NET also free
  • Web Server – IIS – Not Free. OS cost applicable
  • OS – Windows Server – Not Free
  • PHP – Free
  • Web Server – Free
  • OS – Linux is free, Windows is costly

PHP can be installed on any OS and Web server. But ASP.NET is recommended for IIS only (even though ports to few web servers available)

Third Party Hosting Price

Cost involved

Cost Involved

Both are not costly but if you compare, PHP is found to be a little bit cheaper

Development Cost

Developer cost Involved Visual Studio Express Editions are free Rapid-Application-Development Model. So development takes less time

Developer Cost Involved Free/Open Source IDEs available Much coding involved

Both are same but ASP.NET is more on Rapid-Application-Development and PHP is more on Coding

Cross Platform

Yes

Yes

Whatever server side language you use, browsers render only as HTML. But development is not cross-platform even though ASP.NET got ports for Linux available

Code Portability 

Partial

Yes

For PHP, a code written on Linux/Apache will work on Windows or any OS/Web Server. But .NET, even though we have ports available, you will require some tweaks to make it run.

Cloud Feasibility

Possible

Possible

Additionally, for ASP.NET -SQL Azure is also available for database hosting.

Mode of source

Closed Source

Open Source

Application developers have no benefits for either it is closed or open UPDATE: Microsoft also opened .NET framework code for reference. Note that it is just for reference. You cannot do anything except reading. A real open source must be able to download, make amendments, re-compile. You cannot make your own .NET versions.

Promoted by

Microsoft

PHP Community

 

Customer Support by Owner

Yes

No

 

Security Fixes

Auto Update – part of OS

Need to update separately when available

Both parties release fixes for bugs and security issues instantly

Developer Help

Community

Community

Both technologies got fans worldwide. They will provide help and guidance through forums, mail lists, news groups, etc.

Languages

  • C#
  • VB.NET
  • Jscript, etc.

PHP

 

Database

Any Database Good fit: Microsoft SQL Server

Any Database Good fit: MySQL

Supports most of the databases

Frameworks / OOPs

There is an inbuilt framework (called web forms framework) available which will force developers to use OOPs

You can write both procedural and OOPs based code

 

MVC

Microsoft ASP.NET MVC

Symfony

 

Development IDE

  • Recommended: Microsoft Visual Studio
  • Any IDE
  • Recommended: Zend Studio
  • Any IDE

Even Notepad can be used for coding. PHP is more easy for that, but if you can afford Visual Studio, then ASP.NET.

ORM

  • ADO.NET Entity Framework
  • NHibernate

Doctrine

 

Templating

NVelocity

Smarty

 

Extensibility

  • ASP.NET uses Microsoft.NET framework. So you can make use of any functionality available on .NET framework
  • HTTPHandlers
  • HTTPModules
  • ISASP Extensions, etc.

PECL – PHP Extension Community Library

 

Easy to learn

Yes

Yes

Personally I found PHP to be easier for a beginner to learn programming

Recommended for Huge systems?

Yes

No

As per my analysis, PHP is recommended for small-to-medium projects and ASP.NET and JSP for medium-to-big applications UPDATE: If you think about Facebook, please understand that:

  1. it uses a re-written PHP and a
  2. transformer+compiler called HipHop which transforms PHP code to highly optimized C++ code and then compiles with gcc. We are talking here about the PHP we get for application developers from PHP.NET (as it is).

Content Management Systems

  • DotNetNuke
  • SharePoint
  • N2CMS …
  • Typo3
  • Joomla
  • Magento …

Wide variety of options

Advancement

Growing very fast

Growing with limited speed

Micorosft’s team is keen to develop and integrate new features. But since PHP is promoted by community, it takes time to reach that level

Backward Compatibility

Old code will work on new framework versions without change

Old code might need tweaks to make it work on latest versions

 

Security

IIS must be improved from the past and now a days it is one of the secure web servers

Major web servers are secure

ASP.NET, PHP, Oss and its servers are mostly secure. Now developers need to make sure their coding is secure.

Performance

Faster

Faster for small programs and slower for medium-to-big programs

Very basic old argument – ASP.NET is compiled and PHP is interpreted (line by line compilation and execution)

Deployment

Multiple methods available E.g.: Publish, XCopy, MSI

You need to copy/paste code to server somehow (e.g.: FTP)

 

Some useful features

  • WCF (Windows Communication Foundation), Web Service, .NET Remoting etc.
  • ASP.NET AJAX
  • Built-in Caching features
  • Web Service
  • Third party Ajax libraries
  • Third party Caching libraries

 

I do not claim all I stated above are true, but all that I believe to be true. Also this list is in no way complete. It is time consuming to build a full list, so I included the major points only.

 source : http://www.codeproject.com

/ 0 نظر / 12 بازدید