╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇网站建设&Web语言 → PHP与ASP.NET优劣势,哪个更好 asp


  共有20475人关注过本帖树形打印复制链接

主题:PHP与ASP.NET优劣势,哪个更好 asp

美女呀,离线,留言给我吧!
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
PHP与ASP.NET优劣势,哪个更好 asp  发帖心情 Post By:2015/9/28 16:04:25 [只看该作者]

 资料搜集来源于网上,仅供参考!以下观点仅为网友言论,不代表本站观点!



PHP与ASP.NET最大的区别是php既可以在widowos下配置服务,也可以在linux下配置服务,但.net是微软的东西,只能在搜索windows下用,其他的就是个人所好了,连接数据库方面PHP不如.net方便PHP程序可以运行在UNIX、Linux或者Windows操作系统下,对客户端浏览器也没有特殊要求。PHP也是将脚本描述语言嵌入HTML文档种,它大量采用了C、Java和Perl语言的语法,并加入了各种PHP自己的特征。

PHP的优点为:

(1)首先它是免费的,对于许多要考虑运行成本的商业网站来说,尤其重要。

(2)开发源代码。因为这一点,所以才会有很多爱好者不断发展它,使之更具有生命力。

(3)多平台支持,可以运行在所有操作系统之下。

(4)效率高,同ASP.net相比,PHP占用的较少的系统资源,执行速度比较快。

PHP的缺点是:

(1)因为没有大公司的支持,前途不如ASP、JSP和ASP.NET。

(2)运行环境相对复杂,学习起来相对复杂。



ASP:
    1. 使用VBScript 、 JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
    2. 无须compile编译,容易编写,可在服务器端直接执行。
    3. 使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
    4. 与浏览器无关(Browser Independence), 客户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active ServerPages 所使用的脚本语言(VBScript 、 Jscript)均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。
    5.Active Server Pages能与任何ActiveX scripting语言兼容。除了可使用VB Script或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX 、Perl 、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model) 对象。
    6. 可使用服务器端的脚本来产生客户端的脚本。
    7. ActiveX Server Components(ActiveX 服务器组件 )具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序设计语言来编写你所需要的ActiveX Server Component 。
    PHP:
    1 数据库连接
    PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的群组合。你还可以自己编写外围的函数去间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。这也是PHP的一个弱点。




.net没有IIS就跑不起来,PHP在LINUX,UNIX,WINDOWS下都可以跑。
.net的框架只有微软提供的,PHP的框架都是开源的,网上到处都是,function 也一样,到处都是,你懂的,拿过来改改就用,这样就注定了,快速开发方面.net和PHP比,注定是败者。
综合上述,如果是为了开发WEB,PHP综合素质要比.net高。I am PHPer




http://zhidao.baidu.com/link?url=E4QlfnphU0yqoQInAJ9dYN-y22zp0-CzXfmy45jeKIPJ7PqimB5z8FE16jhmMAcqkU2eolrv304IelaxKHsZZoCywzg7TzTC_ArWN_DC-CG





----------------------------------------------------



 学ASP和PHP哪个好?


肯定是php.
asp属于已经淘汰的语言了,现在几乎没有新的公司用asp开发网站了.
而php属于世界上开发网站使用最多的语言.
百度,雅虎等大型网站都是用php来架构的,所以建议还是学习php吧.
asp和php语法相差不太大,都属于嵌入式的脚本语言.难度相当.
不过深入的话php更复杂!




---------------------------


asp就别学了 漏洞多不安全,他是微软平台的语言 vb scirpt写的,
php是跨平台的,学起来比较容易上手,目前用的也比较广泛,jsp一般用在比较大的项目上。
原理都差不多,就是用程序控制数据和网页输出,在学习这种编程语言的时候,如果要做美工,你还要学习html css js等至少做成的页面要符合w3c的标准,能解决浏览器兼容性。
其他的语言也很多的,php可以说是开源界的主流,asp的历史也比较大速度也还行,但是目前微软已经有用C#语言的asp.net的动态语言,如果有C#基础可以学asp.net,学期周期就比较短了,有java语言基础就可以学jsp了,这些语言都有相关的框架可用,掌握语言后,开发网站就是系统设计和实现的问题了。



本人用的就是ASP语言,因为公司的经理要求用ASP做,原因是开发速度快,一个标准的企业网站半天时间就搞定了,而且技术也成熟。
关于ASP的安全方面上,这要看这个程序员的安全意识了,ASP和PHP都是脚本解释型语言,其实就安全型来说,主要是使用的平台不同,ASP基本全运行在WINDOWS平台上,PHP运行在LINIUX平台上,而研究WINDOWS的人比较多,自然被发现漏洞的可能性就高,而LINIUX系统研究的人相对少很多,自然安全性相对就要高。
其实在不考虑平台的情况下,就讨论语言的安全性能,主要看程序员的经验
但我建议,先学ASP,毕竟上手快,然后再学习PHP。要两种都会用,到时你会发现,学会一种,再学另一种其实不难,而且对你的工作也有帮助,因为现在的网络公司,都是要求一个程序员会多种语言的。。


http://zhidao.baidu.com/link?url=veVSxeBfFP5rfhy7PZiy4jRKYZCuGadwtcog6Oe7mqXiT2-gCZAVSxHkOe-Xmu_q3y3M3np_jHxw2Qafz7Rso_



--------------------------------------------


如果你还没有开始学的话可以考虑PHP,因为开源、跨平台、编译执行等。单论asp可能是比不上php的,但是微软弄了个升级版本的asp.net,将功能和易用性做了很大的提升,如果不考虑跨平台和免费的问题(asp和asp.net做出来只能在windows服务器上用的,微软会找一些大点儿的公司查版权的问题),用asp.net也是不错的


.net好些 asp、jsp、php并列关系没有好与不好 asp.net就是为了防止你问这个问题给出的答案


http://zhidao.baidu.com/link?url=bAmp7VsrpX7ssUjDJSCuoyUyUrPKj2Qs7-Etv_B_OfSuTurIx-pOs8OukdCXpTV_Rhw4_x_2BY9x1JLMPiL3aa



----------------------------


这个问题其实很笼统,一般来说PHP是要好于ASP。其优劣在于你的层次。如果你很牛,而且有时间那随便一个都没问题。对一般人来说,PHP的好处在于它不象ASP那样没有被更新了。并且他还有很多通俗来说的后台(如:UC,discuz!,织梦,PHP168,等),被很多专业团队或公司维护,不断更新。最好的在于这些后台还是开源的,你可以看他的代码学习,或者进行二次开发。



http://zhidao.baidu.com/link?url=bAmp7VsrpX7ssUjDJSCuoyUyUrPKj2Qs7-Etv_B_OfSuTurIx-pOs8OukdCXpTV_lxEthNhZHLw6wHqcXGY_7_





------------------------------------


学习上:PHP和.NET的学习曲线相比,.NET的学习代价高一些,需要的知识也多一些,不过PHP流行一些学的人也多一些,社区远远多于ASP.NET,所以有难的问题好问些

更正一些误解:楼上有些人说的并完全对
首先PHP是可以跨平台运行,但是ASP.NET也并不是只能运行在Windows上,很久以前.NET的跨平台版本Mono已经可以稳定的运行在Linux等其它操作系统上了,而且二者都是开源、免费的。

市场方面:以市场份额来说(WEB),现在占有率第一的是传统的ASP、第二是PHP,但ASP.NET也有不少,在企业开发市场方面.NET与Java是均分市场

应用方面:以Alexa前十的网站来看微软官网,Windows Live 、Bing、MSN以及MySpace都是ASP.NET的,当然类似Facebook、WP等网站都是PHP的,但是更多情况下,PHP网站是不会只依赖PHP的,因为PHP虽然Expess,但是没有多线程、面向对象设计也不算全面,所以要依靠其它框架来补充开发,不过也正是如此PHP才有着比.NET更大的开源社区

我学习ASP.NET是因为在.NET下 版本升级很快,而且很锻炼技术,之前的知识可以学以致用,而且我自己感觉这个框架、C#这个语言就是我想要的,很完美,当然,这是在对其它的框架、语言有很多了解之上才决定的。
ASP.NET社区其实比想像中开放很多,微软的官方文档其实允许一般开发者提意见或修改、有调试时也随时可以进入框架本身 的源代码调试我。



是 学asp.net的,php了解一点,总体来说 我觉得php 比较简单,跟。net 不是一个级别的,但是 他有他的特点,主要是平台,还有成本很低,都是开源的,所以一般小型网站都是用这个的,不过百度 就是用php做的 ,包括百度知道, 所以 php现在很流行的,和mysql一起 很好

学习asp,net的话,需要的知识就多了,你要了解整个 。net架构。。。。要了解类库,反正 如果 你有一定语言基础还是不难的,他的IDE vs2008 很不错,基本都是傻瓜操作。。。

不过 一般学校很少 学习php的,所以 我觉得 如果学php跟好点吧,毕竟社会需要,而学习 会的人不多。。。。
这是我的真实感受


http://zhidao.baidu.com/link?url=Vy93cWcRfLTqDCc0WzJNgSth8NIoGZ3D_IN2p1PRgMb-fC99Mo6WvejxpZ4tNYcOHdCzWN81gg7OFy0uILlOQq



------------------------------------------

ASP和PHP就目前的应用而言,目前都还有自己的领域,也有各自的优缺点。
具体来说:
ASP采用Windows + IIS + Access架构,目前很多中小型企业网站和个人网站均采用ASP技术。目前很多经营IDC业务的网络公司在出售虚拟主机的时候,ASP的空间也相比PHP便宜,由于ASP一般使用Access,所以不需要用户再出钱购买昂贵的数据库空间。
PHP采用Linux/Windows + Apache + MySQL/MSSQL架构,相比ASP,大量的PHP内置函数使很多操作如上传、验证码、MD5加密等实现更加容易,PHP语言是一门面向对象的语言,所以PHP在开发的时候既可以采用象ASP一样的面向过程的思想,也可采取OOP方式,当然也可以采用两者混合的方式。作为开源的代表,免费的PHP更加引用大量的用户加入PHP阵营。这也是目前我国大型门户网站如163、sina、baidu等采用PHP技术。但是PHP需要独立数据库服务器支撑,如MySQL、MSSQL、Oracle等,这些数据库空间的价格都比较昂贵,这也是目前PHP难以普及中小用户的原因之一。




[此贴子已经被作者于2015-9-28 17:08:38编辑过]


  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部
美女呀,离线,留言给我吧!
admin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
  发帖心情 Post By:2015/9/28 16:51:28 [只看该作者]

 PHP 还是 ASP.NET:我做了正确选择么?


【伯乐在线注】:本文就是
依赖 IDE 做开发,会让你成为一名糟糕的程序员么?这篇文章开头提到的Rob Conery所写文章的译文。


在2001年, 我曾面临一个选择,去学PHP或者ASP.NET。 我最终选了后者,但我依然怀疑这个选择其实不好。
那是2001年,我面临一个选择。
设想一下,如果你可以回到过去,改写你的技术生涯。哪些重要的时刻,你会想改变?在2001年,我曾作为一家成功的网站咨询公司的共同合伙人,去处理有关 Classic ASP的事情。当时,这些事情是很了不起的。我们是一家微软产品的经销商,并且为此感到自豪!但是……
我曾用过早期的.NET 并且很痛恨它。我讨厌Visual Studio。我不知道 C#,而 VB.NET 看起来就像一个笑话。我记得我坐在奥克兰到旧金山的船上,决定学习ASP.NET的基础来应对工作,而一边又不停的问自己一个问题。
你究竟要多努力才能搞懂这些?那天我去工作,并且和我的合作人坐在一起。我告诉他 “.NET” 已经脱轨了。他笑了笑,然后那天,我们有了一次关于我们公司和我的未来的谈话。
我熟悉classic ASP,IIS SQL 服务器,windows NT/2000 – 我知道如何处理这些事情。我并不知道 Linux 或者 MySQL, 但是我通过阅读代码可以发现:新的框架其实基本上照搬Classic ASP,但有些针对MySQL和Apache的改动。
我本可以预料到这些,并且这本可能成为一个有趣的挑战。我一直喜欢学习直到现在。我可以回去买书并且在一个月内掌握这些新技术。
但是我们有一些不能流失的顾客。我必须立刻服务他们,不能中断。这种情况下,学习一个新技术平台会非常困难,尤其是我们顾客找我们的理由是因为我们是微软专家。(就像毒瘾一样,难以割舍。)
“继续做自己熟悉的事情“是个想当然的选择。问题是我过去的知识和经验并不能很好应用到.NET上。无论如何,我需要学习一门新语言和新框架。
微软统治的年代

MVP
你需要记住2001年是微软统治的年代。大型的网站是由Linux和Java构建开发的。如果你那时在硅谷,并且和别人说你是一个微软开发者,你会被嘲笑的。(现在嘲笑的人更多了)
出了硅谷,对于任何企业,微软就是答案。这些公司已经购买了微软的Window和Office,而他们现在要网站。微软是他们想当然的选择。
不幸的是,(我的咨询公司在IT泡沫事件破产)我去了一家”The Valley“的初创企业。这家企业的架构是由开源/Java/Emacs/Eclipse组成的。我是唯一一个微软程序员,服务一个全部采用微软技术的重要客户。
其他开发团队需要数周来完成在客户网站上的一个小改动。而我仅要几个时辰就可以用SQL服务器和Classic ASP达到。对于他们本打算放弃的任务,我总能给客户满意的结果。
这就是我选择成为一个微软专家和一个.NET的开发者的原因。除此之外,我曾拼命地去成为一个微软认证工程师。(我曾经做到了!)最终,我貌似成为了一个微软方面的MVP。或者说,我认为我成为了。
现在看来这实在很愚蠢,但如果你是当时的我,在那种工作环境之下,MVP的头衔意味着一切。去问问你的.NET朋友,他们会告诉你这些。
接下来的事

ods
BOM
因为对象数据源不能同数据列表绑定,所以Entity Framework不能被使用。
虽然我现在发了这条Tweet,但是很多ASP.NET的程序员依然对这个问题很茫然。这不是恶搞,这是一个微软官方的教程。
这就是我决定转行之前,我职业生涯的真实写照。
从2002到2008年,微软网站产品曾经是(现在很大程度上依然是)“可视化组件开发”。这意味着你只需要不断地拖放组件,然后让组件实现你的功能。(生成HTML,连接服务器,CSS代码等等)
这项技术使得表格必须用“数据源”这种原始方式去生成。我需要麻烦的写出一些XML文件去映射“数据源”。
这事从来没有顺利过,但我还是坚持去做。请不要问我为什么。
这些也发生了
2008年,我开始用Rails,并且立刻喜欢上了它。但这并不意味着我从此“义无反顾”的转向了。Rails令我可以,像以前开发时一样,拥有全面的反馈。HTML和CSS不再可怕。(它们对ASP.NET开发者而言很可怕)代码重新成为你的朋友。
在.NET的环境下,在某种程度上,我们处理后台代码和服务器组件,而水平最高的开发者仅用最少的代码来完成程序。不知何故,在这一情形的驱使下,我们背离了我们原本的目标:网站开发者。
这一切想法向我涌来。我清楚地记得我想远离.NET的想法。但当我冷静下来,我有了个想法:
如果我将我在Rails学到的带回ASP.NET,那么会发生什么?
从此我启动了”亚声波“项目(受ruby的”活动记录“启发而写的ORM),并且尝试了5种不同的方法去构建一个基于.NET的MVC的框架。 我喜欢C#,而且微软的产品市场很大。为什么要依赖微软的研究室来决定如何写堆栈?这构成我接下来5年的职业生涯。我被认为是一个”麻烦制造者“,”搅罐器“,”抱怨者”,并且被认为是个“巨魔”。或许这些看法确实有点适合我。 “改革推动者”对我而言是个新角色。(Twitter也是)因此… 我觉得我的公关技巧还需要改善。
这有些跑题了(但还是有联系)。我真正想知道的是…
如果当时我不这么做,会发生什么?今天提起这件事情是因为我有一次我被邀请去看一个”Ghost Blog“的模块。(作为一次随意讨论的一部分)而这个Node程序看起来就像用PHP写。
这不禁让我想到”如果我坚持用PHP,是否我会用同样的方式写Node程序“?我很可能通过一个脚本开发者的角度去看网站,并且错过了一些我从.NET开发中学到的”高级概念“。这种想法很正常,我应该会这么写Node。
这当然引发了另一个问题:我写Node程序是否和.NET开发者类似?
或许有一些。我知道我写ruby程序就是这样…那么这是个糟糕的事情?这些影响是否令我更容易扭曲我的Node代码?
我知道我将会习得很多有关Linux或MySQL的知识,并且我确定我将会参加一些有趣的开源项目,如同我写.NET时一样。我可能会迷上Rails,并且尝试将一些Rails优点带到PHP中。
好似历史就会重新聚焦到此刻,但有一个重大的不同:我将不会陷入ASP.NET的泥潭长达五年。
我认为我应该能做到:
更加了解Linux系统更加了解MySQL和其他开源服务器。我不会像4年前一样害怕Javascript不再依赖开发工具喜欢HTML和CSS这里有一个明显的缺点:.NET阻碍我增加关于HTML/CSS/Javascript的知识。我无须告诉你这些知识是如何重要,永远不需要。
另外,我被迫使用”Visual 工具“,而且现在每天还同它作斗争。在网站项目上,我习惯于用TreeView控件来看数据库和文件里的表格。Visual开发已经被烧录进我的大脑!啊哈!
另一方面或许当我最终决定进入Rails的世界时,这些挫折迫使我不断的学习。这团火始终和我在一起,鼓励我发了这条博文。借用Lewis Black的一句话:
my favorite=
要不是因为我的马,我才不花时间上大学呢!
我的马就是 ASP.NET。


http://blog.jobbole.com/62935/



  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部
美女呀,离线,留言给我吧!
admin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
  发帖心情 Post By:2015/9/28 17:07:05 [只看该作者]

专家畅谈ASP.NET与PHP的未来


单纯通过对比两种开发工具,是没有任何意义的。因为二者在自己的开发领域各有所长,就好像Java对比.NET,各有优势。本文主要的目的是通过比较ASP.NET与PHP,让大家更清楚的看到二者的区别,以便于大家选好适合自己的开发工具。

php LOGO

我日常工作使用的是ASP.NET,前一段想学习了解一下其他的网络应用开发技术,本可以选择热门的Ruby on Rails或者Python,但是无奈精力有限,想都学是不可能的,而我的博客建在WordPress上,WordPress是用PHP写的,所以还是选择多花些时间了解PHP。

PHP和ASP.NET最大最本质的区别,就是PHP只是一门编程语言,而ASP.NET是一个平台。

这世界上大约1/3的网站的应用程序是用PHP写的,这些PHP程序又大部分运行在Apache上,作为一门语言,PHP并不是必须运行在Apache上PHP是独立于运行平台的,它也可以在IIS里运行。与PHP相反,ASP.NET是一个平台而不是语言,ASP.NET的程序可以用C#写,也可以用VB.NET写,可以用任何能够编译成在.NET CLR上运行的的编程语言来写,ASP.NET通常运行在Windows+IIS上,但是也可以运行在其他Web Server比如Apache上。

从这个意义上说,PHP和ASP.NET的区别,就好比是iPhone和Windows 7的区别,不是一样的东西,但是你选择了其中一个,就等于选择一种风格。

但是作为开发网络应用的工具,就我的体会,在功能上还有两个显著区别。

Share-Nothing Architecture

PHP的哲学是Share-Nothing Architecture,每次对HTTP请求的处理都是独立的,不共享任何数据,如果真的需要共享的话,那也是通过文件系统或者数据库,在PHP的运行空间中不会共享内存对象。这篇关于Share-Nothing Architecture的文章非常详细地介绍了Share-Nothing Architecture,这种架构能够带来更好的扩展性(Scalability)和可维护性(Maintainablity)。

使用ASP.NET一样可以实现Share-Nothing Architecture,问题是,ASP.NET一族的编程语言特性让打破Share-Nothing Architecture太容易了。比如,C#语言中的static变量,如果使用的话,同一AppDomain的每个HTTP请求都Share同一数据,这样就不是Share-Nothing了。

Asynchronous Programming Model

ASP.NET有一个功能是PHP不具有的,Asynchronous Programming Model(APM),异步编程模型,这一模型可以更有效地利用线程,提高Scalaibility,当然,写异步的程序要比写同步的程序困难得多。

PHP没有ASP.NET一样的Asynchronous Programming Model,为什么在这一方面PHP世界居然逊于微软技术呢?

我看可从两方面回答,第一,微软支持APM是因为它能够支持,第二,是因为微软必须支持。

为了支持APM,必须要有底层支持,ASP.NET作为一个平台,可以利用微软的IO Completion Port来实现真正的异步。但是像PHP这样的编程语言,只是编程语言,不能够假设自己运行在一个支持异步端口的平台上,所以决定语言不会添加APM功能。

为什么又说微软必须支持APM呢?Windows上进程的代价很大,线程的代价好一点,但是依然很大,所以要有效地使用线程,就必须创造出APM这样的东西。相比之下,Linux上进程线程的代价要小得多,这样创造APM的压力也就小得多,不用APM一样可以保持高效。

Trends

这篇文章标题是”PHP vs ASP.NET”,我们用Google Trends来看看二者的比较。看短期对PHP和ASP.NET的关注程度,有意思,每到周末,对这两个关键词的搜索就少,可见PHP和ASP.NET的使用者大都是周一到周五工作的上班族。图片点击可在新窗口打开查看


PHP走势图

我们看长期比较,对PHP的搜索呈下降趋势,怎么会这样呢?我想不明白,PHP依然是这世界上应用最广的网络编程语言,最近Facebook的开发者发布了HipHop,将大大提高PHP应用的性能,也许运行速度可以比ASP.NET还要快。



图片点击可在新窗口打开查看

搜索走势图


...



文章转载自网管之家:http://www.bitscn.com/pdb/dotnet/201411/403555.html

[此贴子已经被作者于2016-4-21 10:04:13编辑过]


  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部