选择PHP好,还是选择ASP.NET好

在执行一个网站或Web App的开发任务的时候,即使是最有经验的程序员也会有这样的困惑——如何选择编程语言。最常见的编程语言选择就是在PHP和ASP.NET之间。然而,PHP和ASP.NET都有庞大的群体,而且每个程序员对PHP和ASP.NET的意见均取决于他们的开发经验和偏好。所以,这样的选择可能会更多依赖于偏好。根据你的喜好来做出选择,以便在开发项目里更顺利的完成任务。 平台和服务器平台和服务器绝对是两者之间的主要的差异所在,这一点是必须要意识到的。PHP是一种跨平台的服务器端的嵌入式脚本语言,完全可以自由的运行在Linux、UNIX、Mac OS或Windows上。另一方面,ASP.NET是一个面向对象,编译性的语言。你不能让PHP在一个Windows程序中运行,但是你可以拷贝ASP.NET的代码并把它放到WINFORM程序里面,而不用太大的修改。而且,ASP.NET受限于Windows平台。因此,它在这里实际上已经失去了开源的优势——低成本和高度支持的技术社区。 速度和性能大多数程序员认为PHP和ASP.NET之间没有任何真正意义上的性能和速度之别。不过这是真的,只要你在较小的或更少的复杂项目上使用PHP和ASP.NET,就会发现它们之间的不同之处了。然而,如果是较大的Web App需要运行更多的大型程序的时候,在某种程度上编程语言是会影响速度的。其次,PHP和ASP.NET两者的选择还要考虑到任务的多样性。

例如:从最简单的任务开始,App需要访问数据库,处理一个查询任务,并且通过服务器将处理结果传输到浏览器上。在这个过程里编程语言几乎没有对速度产生什么太大的影响/区别,但数据库服务器和查询程序可能会有一定的影响。

在Linux或UNIX上运行一个App能给你带来节省宝贵资源的优势,这些资源都是被GUI和额外的程序包消耗的,尤其是运行在Windows上的情况下。

当谈到通过访问文件系统来找到并发送图片到服务器的时候,PHP的表现效果可能会更好一些,但这都归功于Linux和ext4文件系统比Windows OS和NTFS优越。

开发、安装和部署大多数用过这两种语言的有经验的程序员都会认同:在ASP.NET基础上开发项目需要花费更多的时间。原因在于它需要的代码行很多,其次在于,每一个代码在修饰过后还需要进行编译。在安装和部署方面,由于ASP.NET在Windows OS里有很多特性,所以ASP.NET也提供了更多的缓存。然而,Linux已经跟上了ASP.NET的最新版本,在可用性方面做出了更合理的简化。 可扩展性从上面的论述看来貌似是在提倡使用PHP,但是在可扩展性方面,ASP.NET才是真正的赢家。ASP.NET使用C#,因此可以提供更强大的面向对象的支持。最后,选择PHP还是选择ASP.NET,这主要取决于你的技能、经验,当然还要考虑客户需求。理想情况是掌握这两种语言,不管使用哪一个都游刃有余的话,那是最好不过了。

时间: 2024-08-27 23:17:19

选择PHP好,还是选择ASP.NET好的相关文章

桥堆的参数选择以及滤波电容的选择

1.桥堆的参数选择: 2.滤波电容选择:对于整流电压的输出电压大小,大家一定不陌生.很多人会说,输出平均值全波0.9倍,半波0.45倍的交流有效.但是在设计中,我们常常发现一个事实,例如在半波整流后,输出电压得到的不止0.45倍,9V交流整流后可能有11-12V.之前我一直很困惑,是我记错了计算倍数吗?翻了很多书籍,公式当然是没错的.那到底怎么回事? 可能之前我们在学校学这个方面知识点的时候太过注重整流电路,而忽略了脉动比的概念,所以造成我们现在很多人对这一简单的知识不是很清晰.其实这里是由于整

android中选择控件与选择界面自然过度效果的实现--一种新的交互设计

转载请标明出处: http://blog.csdn.net/jianghejie123/article/details/40648931 在安卓中经常遇到须要选择一个东西的功能,比方选择日期.选择文件,选择地点等,通常我们的做法是使用选择对话框.比方选择日期用datepicker,有时候也使用activity,可是这两种方式都有一个缺点,就是用户非常明显的感觉到了界面之间的切换. 有时候.以下这样的选择数据的交互方式应该会更好些: 事实上上面的app效果来自与CapitaineTrain应用,好

JS 控制checkbox 获取 全选 全不选 一行不选择全选则不被选择 全部选择全选被选择

</pre><pre name="code" class="javascript"><span style="font-size:18px;">//点击全选按钮的事件操作 function selectAll(){ var allcheckBoxs=document.getElementsByName("iTo"); var select=document.getElementsByName

关于时间的操作(JavaScript版)——年月日三级级联(默认依次显示请选择年、请选择月和请选择日)

这篇博客和前一篇博客基本相同,只是显示的默认值不同: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>年月日三级级联(默认依次显示请选择年.请选择月和请选择日)</title> <meta http-equiv="content-type" content="text/ht

选择排序——1简单选择排序实现

public void SelectSort(int[] ary) { // 需要遍历获得最小值的次数 for (int i = 0; i < ary.Length - 1; i++) { int temp = 0; int index = i; // 用来保存最小值得索引 //在后面的序列中,寻找最小的数 for (int j = i + 1; j < ary.Length; j++) { if (ary[index] > ary[j]) { index = j; } } //交换位置

对IFeatureClass的选择结果进行再次选择及排序

最近需要对IFeatureClass的选择结果进行再次选择,并对再次选择的结果按照两个属性进行排序操作.于是先用IFeatureClass.Select方法进行第一次选择,将选择的结果用ISelectionSet类型变量SelectionSet1存放.然后需要对SelectionSet1中的要素进行再次选择,并且对选择结果进行排序,这时候问题就来了:用ISelectionSet.Search方法进行查询选择并排序时,如果在IQueryFilter.WhereClause选择语句后面加上排序词(o

EasyUI 日期选择插件封装成选择到月份的插件

将普通的日期选择插件封装成选择到月份的插件:                     var nowMonth = new Date();                    var month = nowMonth.getMonth()+1;                    month = month < 10 ?"0"+month:month;                    var fmdate =nowMonth.getFullYear()+"-&

SQL面试题:有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列

.请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. ------------------------------------------ select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name [sql] view plain copy drop table

选择结构二switch选择结构

 在上一章节我们讲解了if选择结构  本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构  以及 两种选择结构的运用场合 下面我们来看一个问题 问题:小明参加计算机比赛, 如果获得第1名那么就给他买一个车, 如果获得第2名就给他买一个手机 如果获得第3名就给他买本书 否则就什么都不买 这个题的解决方法可以用多重if选择结构  还可以用switch选择结构下面我们具体的使用每种选择结构都来操作一下 if(成绩==第

css基础知识+css选择符(元素选择符、关系选择符)

首先我先介绍在html网页中怎么使用导入css样式的方法 1.行内样式:<p style="color:red">行内样式使用css</p> 2.页内样式:在head标签里设置 <span style="font-size:18px;"><head> <style> p{ color:red } </style> </head> <body> <p>页内使用c