The following is all original and not copied please enjoy
Building of web based applications is achieved via, web frameworks. Let us discuss on a few most popular technologies or web frameworks available today.
ASP.Net
ASP.Net is a windows based server side framework for building web based applications. It has been developed by Microsoft, as a successor to its earlier ASP technology. Web pages developed in ASP.Net are called as Web forms. A simple web form example is as follows:
PHP
PHP is a simple scripting language, and on of the most popular web application coding languages in the world. It is completely open source, and can be fully embedded in HTML code, thus making it highly suitable for web development. PHP scripts are executed on web servers and once the script is processed, only then the response is sent to client. An example of a sample PHP code is as follows:
JSP
Sun Microsystems, the developers of language knows as Java, released Java server pages or JSP, which works quite similar to ASP or PHP, but has Java language as its baseline. It is server side language, and the web applications that it develops are by nature dynamic. Sample example of JSP code is as follows:
The output of the above script is as follows:
Ruby on Rails
Rails basically introduces an extension to Ruby programming language, which is predominantly used for programming web based applications. The Rails framework already makes assumptions that there is a best way of doing this, and saves coding time for users. The main downside with this framework is that the learning curve is quite steep. A sample code snippet written in Ruby is as follows:
Python
Python language that can be used for server side scripting, and has existing functionalities which are built in for many tasks which are common in nature. Developers need to learn to work on Django, which the framework that is used for Python server side programming. It is highly popular due to its easier readability, and its object oriented nature. Following is an example of Python code, which passes a string variable:
Coldfusion
Coldfusion is an application server which allows the building of Web applications. It is a proprietary technology by Adobe and does not have a free source code. ColdFusion Studio allows actual building of a site, while Cold Fusion server connects with actual users to transfer pages to them. It has its own CFML (ColdFusion Markup Language), and quite closely resembles, ASP and PHP in features. A sample code in ColdFusion is as follows;
Performance
ASP.Net
ASP.Net is slightly slower as compared to PHP. As the size of network increases and it is is scaled, this difference becomes more noticeable.
PHP
Compared to ASP.Net, PHP is slightly faster and also scales better in terms of speed, when the size of a network increases.
JSP
Performance of Java Script is a bit slower as it combines the static features of HTML with that of dynamic web page generation.
Ruby on Rails
The processing time of Ruby on Rails code is slower as compared to other frameworks, and updating the framework is also slower.
Python
Python is the one of fastest among the available frameworks today. Its maintenance is also a lot easier, and it has very less performance issues related to corruption of memory, and other configuration issues.
Coldfusion
Capabilities like caching helps ColdFusion markup language to have a better performance than server side application languages.
Platform Compatibility
ASP.Net
ASP.Net is an open source framework and a part of .Net platform, which is Windows specific. Under .Net framework, applications can be written in the languages, which are supported by the framework such as VB.Net, C#, J# and Script. Development in ASP.Net requires a Windows platform or in case of Apple Mac, or Linux boxes, an open source framework supporting .Net across various platforms, like Mono Project needs to be adopted.
PHP
PHP is not dependent on any platform and the code can easily be ported to other platforms.
JSP
JSP can also be ported on various other platforms, and it is not locked onto a single platform like Windows.
Ruby on Rails
Ruby on rails works best on Mac OS platforms, and also Linux based systems. It is not so good in functionality over Windows platforms, though it is not incompatible with it.
Python
Python is another platform independent web application development framework, and can work across all platforms.
Coldfusion
Coldfusion is a proprietary platform developed by Adobe, and provides support for Microsoft Windows, as well as Mac OS platforms. It runs on top of Java Virtual Machine, and also can dip comfortably into .Net libraries.
Popularity
ASP.Net
ASP.Net ranks lower in popularity as compared to open source server side frameworks, as the cost to maintain it runs very high. Also, database support in ASP.net is restricted only to Microsoft Access and Microsoft SQL server. Thus, due to its high maintenance costs and platform dependence, the popularity of .Net platform is lower.
PHP
PHP being platform independent and can work very well with Operating Systems that are open source as well as closed source, thus making it highly popular among web application developers across the world. The database support in PHP is also much larger as compared to ASP.net framework.
JSP
JSP is more popular for environments which run Java. Also, JSP has the capability to what all PHP can do as well, and also is platform independent, so this adds on to its popularity.
Ruby on Rails
Ruby on Rails popularity is a lesser as compared to other languages and frameworks, as it is a bit difficult to learn programming in it. The curve of learning turns out to be much steeper compared to others. Also the cost of a Ruby developer is much more as compared to a PHP developer, thus making it a bit less popular.
Python
Python language is very easy to learn and it is highly suited for websites with low and medium volume, just like PHP, thus making it very popular among developers.
Coldfusion
Coldfusion is not very popular anymore with the advent of technologies and frameworks like PHP, ASP.Net, JSP etc. The primary reason being that all these new frameworks do the web application jobs much better than cold fusion. Also, the platform is not free, and nor is the community support available on much larger scale, thus making it less popular.
Cost
ASP.Net
ASP.Net is a product of Microsoft, hence is proprietary. If Windows Operating System is purchased from Microsoft, the ASP.Net is shipped free with it. But to maintain Windows Servers and also SQL servers via Microsoft is a highly costly affair, as license needs to be renewed periodically. Also, if the volume of a particular site increases, then the costs become higher as server need to be increased proportionately, which consequently increases the cost.
PHP
PHP code, and its upgrades are absolutely free of cost and can be customized by anyone as per their needs.
JSP
Cost of running JSP is not much, and is only slightly higher than PHP, but of course a lot lower as compared to ASP.Net.
Ruby on Rails
The cost of Ruby on Rails is quite low when it comes to deployment, and it also scales quite well for large deployments, as it is completely open source.
Python
Python also has extremely low cost for its deployment just like PHP.
Coldfusion
Coldfusion is not a free platform and its server costs are quite high to the tune of about 1500USD for two CPUs, in the form of Standard edition and for Enterprise Edition, the cost is about USD 8500 for two CPUs. This is for commercial deployments, and for development purposes the framework is free of cost.
Personal Criticism and Evaluation
ASP.Net
ASP.Net provides a user with a wide array of functionalities but at a very high cost since it is specific to windows platform. It is suitable for those enterprises who do not mind spending a lot on their enterprise solutions, for commercial support of their web servers,
PHP
PHP is a highly popular, free source code, server side scripting language for making applications. It has lot of online support available, along with a great availability of developers.
JSP
The performance and popularity of JSP is almost at par with PHP, with the only down size is that JSP requires knowledge of Java programming, and that might be a setback for beginners to coding.
Ruby on Rails
Ruby on rails requires a steep learning curve, and hence is not so recommended to beginners of coding. Also Rails is an inflexible framework, as it makes assumptions about best practices.
Python
Python is a language which very suited for beginners, and also is free in its source code. Deployment also is easier and so the scalability. Its functionality and stability tends to be better than PHP, and is highly recommended for beginners to start coding on Python.
Coldfusion
Coldfusion is almost a dying technology now, and it is more suited for people who have developed a taste of its programming since their early programming days.
Conclusion
There is no single server side technology or framework that is suitable for every single need of the customers. A careful research and examination needs to be done depending on what exactly the requirements of a customer are, what resources are present at the customer's disposal, and what exactly the budget of the customer is. Other factors that need to be taken into account are how much the business of a customer will be scalable in future, and whether there will be any change in business model or not.