查看: 2405|回复: 71
|
PHP 与ASP.NET 的讨论
[复制链接]
|
|
有感而发,想和大家讨论讨论:
在ASP.NET里有很多方便Programmer的controls如gridview等,
而在PHP则要manual的去produce HTML的table来呈现。
在Development的时间上,显然的用ASP.NET会快得多,
如果Programmer一味的用Data binding
不过,ASP.NET的这种Web control的方式与Viewstate的应用,
显然的拖慢了网页的显示速度,尤其是太多的PostBack。
这时就感觉用PHP写的网页会快得多。
然而,用ASP.NET的Web Controls还有一点问题,
就说旧一版本的Datagrid,来到新版本却不见了,
取代的有如:Gridview等...
这是否意味着用太多的Web Controls,
对之后的升级会有一定的困难?
虽然在商业上用ASP.NET可以compile成dll来隐藏Source,
不过显示的存在着一定的其他问题,
这是否表示以长远之计,用ASP.NET却不用它所提供的Web Controls?
而达到隐藏源码、速度与将来升级的目的?
或者,支持PHP的朋友,你们觉得PHP还有哪些强项? |
|
|
|
|
|
|
|
发表于 29-1-2007 07:05 PM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 30-1-2007 12:49 AM
|
显示全部楼层
其实如果说用PHP省钱的话,
是省开发软件IDE的钱?
那ASP.NET也可以不用Visual Studio .NET来开发。
而PHP买个比较好的IDE也要钱吧?
难道开发PHP的Programmer电脑都是跑Linux?
如果这样的话,那至少省了Windows的License,
不过,又有多少人不用Windows?
省Hosting的钱?现在Web Hosting的配套,
跑Windows与Linux也没什么分别了。
(除非是自己Host整个Server,
那就省了Windows2003的License,
反正Web Server也是免费的)
其实省这么一点钱,而拉长开发时间,
才得不赏失吧?
我想,用PHP应该是安全性或性能的问题吧?
因为视窗的不稳定是一直以来公认的问题。
PHP没Dot Net来得强大?这我也不肯定了,
也许是微软常有新版本,给人比较强大的感觉? |
|
|
|
|
|
|
|
发表于 30-1-2007 01:11 AM
|
显示全部楼层
也许这么说吧... 把这两个拿来比较, 是不太妥当的.
PHP 目前来说, 只能开发与网络的脚本文, 很多时候, 还是和用户界面紧紧捆绑在一起.
虽然 PHP 已经有了 GTK 版本, 但又有多少人, 真正拿这版本来开发软件?
ASP.NET 提供了一个物件导向的环境, 也提供了强大的软件支援 - 各种 library, 不同的语言, 不同用户界面支援 (WuSheng 所提到的 webcontrol). 反正就是微软看 Java 不爽而拿出来打对台的.
ASP.NET 比 PHP 远远强大的地方, 就是它的物件导向的伸缩性. 举个例子来说, 公司要我设计一个年假系统, 我设计出一个核心, 然后把这核心运用到 web / windows / pda 上面. 这样的做法让我减少了开发的时间... 也能更好的控制年假的流程, 因为都是用同一个核心, 流程是一模一样的, 还可以在不同的平台上加入特定的功能, 更可以同时用不同的语言来篇写, 更不用担心会别的程序员会影响到我的核心, 因为别的程序员根本看不到核心内的设计, 只要运用核心所提供的服务就可. 这不是单单 copy and paste 相同的 code 就可以达到的.
这个 Java 的概念一样, 也就是物件导向的能力.
在一些产品上, 我们通常只听到 Java/.Net 的接口, 很少会听到 php 的接口.
然而, 这就是说 PHP 一无是处了吗? PHP 5 也是物件导向呢... 当然不是. PHP 有自己的强项, 它往往能够简化一个复杂的工作. 只是由于它被限制于本身的设计, 所以很多时候只能被当成脚本文般看待. 由于是脚本文的关系, 危险性和性能也大大不如 Java / .Net... 只要看看目前的主要 web services, 几乎清一色是 Java/ .Net 的天下.
不过, PHP 也好, .Net 也好... 充其量就是一个工具. PHP 如果用来做前端, 好好运用的话, 还是可以发挥优势的. Joomla! 就是一个相当棒的产品.
以上只是本人的意见, 本人也是 PHP, Java, .Net 的拥护者... 一句话: 适当的情况做适当的决定. |
|
|
|
|
|
|
|

楼主 |
发表于 30-1-2007 11:19 AM
|
显示全部楼层
脚本文,是scripting language的意思吗?
就好像之前的ASP,用VBScript来编写的情况相同吧?
所以微软就在.NET里直接用VB或C#等语言,
而放弃了功能不如的VBScript
听了你的见解,我更觉得PHP的功能远远比不上ASP.NET了,
不过就好像VB的功能远远比不上C,
不过在一般的情况下,用VB比用C更实际的情况大同小异吧!
在这种分析下,大式的网站或系统应该是用Java或.NET,
而PHP则适合一般小式与单一的网站吧!
其实.NET的支援各种不同的语言,它要打的应该不只是Java,
而是全部的其他语言吧?说他有野心,还是有大志?
而他有这样的伸缩性,可以方便看到哪种语言冒起,
就把对方加入自己支援的语言里,来吸引对方的支持者吧?
其实我还有一个想不通的,就是明显的PHP功能不如其他,
如.NET与Java,但是它却是最多人用的,
他吃香在于?免费?简单?还是打着Open source的招牌?
当.NET 的Cross platform支援普遍时,它会更有优式了。
http://www.linux.com/article.pl?sid=06/04/12/1921225
http://uk.builder.com/0,39026540,39216085,00.htm
http://dev.mainsoft.com/Default.aspx?tabid=45
其实我还是觉得一个软件的好坏,主要的系统设计,
而不是编程语言的应用。只是功欲善其事,必先利其器,
这样更容易事半功倍吧! |
|
|
|
|
|
|
|
发表于 30-1-2007 12:10 PM
|
显示全部楼层
PHP 很平民, 你说的全部都是因素...
尤其是那种看微软不爽的...
加上 PHP 易学且强大... 这就是那么多人用的原因.
然而, 对我来说... 我两个都会选择, 要看是做什么事情.
举个例子来说好了...
公司上下有两千人, 他们需要一个公司的入门网站来让公司的人
知道公司的最新消息, 和透过论坛互相交流什么的.
我的第一选择肯定是 PHP. 因为 PHP 能有效的快速建立起这类
网站, 加上显示资料是 PHP 的强项, 用 PHP 肯定错不了.
后来... 公司说要玩大的一点, 公司里的人要透过 Lotus Notes
来进行 SSO 登入网站. 登入后员工可以透过这网站来做 claim, 而公司的
Finance Backend 用的是 SAP/Oracle/JD... 而这系统以后又要考虑到可以透过 blackberry/pda 来登入...
又或是, 公司的货仓要一个流程软件来管理, 而这软件除了管理整个物流, 还要让公司主管时时刻刻可以从世界各地透过 web/blackberry 知道物流的状况, 而货物的来源可能来自世界各地, 这些资料都透过 IBM MQ/SonicMQ 来更新...
这时候... 你的选择还会是 php 吗? 我要说的... 就是怎么回事.  |
|
|
|
|
|
|
|

楼主 |
发表于 30-1-2007 03:08 PM
|
显示全部楼层
第二个情况肯定不会用PHP,
不过第一个情况为什么PHP是第一选择?
PHP能有效快速建立?
如果只是一般普通网页或许可以,
就如你说的公司最新消息等资料。
不过如果加上论坛等,
我用ASP.NET拉几个Gridview来Bind Bind,
岂不是更快可以完成?
我总觉得说开发时间,PHP比ASP.NET慢多了,
只是基本上PHP应该在执行上比ASP.NET快 |
|
|
|
|
|
|
|
发表于 30-1-2007 07:37 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 31-1-2007 01:34 AM
|
显示全部楼层
原帖由 WuSheng 于 30-1-2007 03:08 PM 发表
第二个情况肯定不会用PHP,
不过第一个情况为什么PHP是第一选择?
PHP能有效快速建立?
如果只是一般普通网页或许可以,
就如你说的公司最新消息等资料。
不过如果加上论坛等,
我用ASP.NET拉几个Gri ...
以经济效益来说, 用 LAMP 架构来解决第一个情况会比较实际.
我说快的原因是, php 和 asp 一样, 紧紧捆绑着用户界面, 好处是一次过可以 code 界面和流程.
当然坏处就是物件导向的相反咯. 但是, 公司就只是要这么一个简单的要求而已, 用 Java/.Net
这种庞大的怪物可能会拖慢速度.
另外, asp.net 的 gridview 固然方便, 但还是及不上 html 里的 table 快和简单.
我这样说的原因是, 用 php + html 一起 code, 远快过你在 asp.net 要设计 class, 设计用户界面
架构等. 如果 asp.net 不用上 OO 的概念的话... 那么基本上和 php 一样了. 既然和 php 一样,
那么一个 LAMP 架构怎么样都会比 windows 架构便宜.
如果有了 Dreamweaver ... 那么做起 asp/php 就事半功倍了...
基本上, 我用 Dreamweaver 可以在 5 分钟内做好一个 login, 30 分钟内做好一个简单基本的论坛...
这就是情况一和情况二的不同之处.
p/s:
为免误导, 有些事情是有必要提醒的...
1. Dreamweaver 对 php 的支援十分好, 但有古怪的 bug, 需要修改 code.
2. Dreamweaver 拿来做 asp.net 是个最坏的选择, 因为 Dreamweaver 会用上自己的 component, 也不够 OO. 基本上我是在 VS.NET 里做软件设计, 然后在 Dreamweaver 里做界面设计.... |
|
|
|
|
|
|
|

楼主 |
发表于 31-1-2007 10:31 AM
|
显示全部楼层
红发:
那是你发现的时候,解释为什么不应该用PHP给你公司高层听
goatstudio:
30分钟做好一个简单基本的论坛?
那我真要试用Dreamweaver了... |
|
|
|
|
|
|
|
发表于 31-1-2007 10:45 AM
|
显示全部楼层
原帖由 WuSheng 于 31-1-2007 10:31 AM 发表
红发:
那是你发现的时候,解释为什么不应该用PHP给你公司高层听
goatstudio:
30分钟做好一个简单基本的论坛?
那我真要试用Dreamweaver了...
这要看你对简单的定义...
我所谓的简单是... 可以登入, 发表文章, 回复, 观看回复, 回复 paging... 几乎不用写 code, 可以拖拉资料库的物件出来.
p/s: Dreamweaver 对 asp 的支援是最好的. |
|
|
|
|
|
|
|

楼主 |
发表于 31-1-2007 02:29 PM
|
显示全部楼层
哦?只可惜ASP已经是过期的语言,
Dreamweaver对PHP的支援还好吧?
我现在用着Notepad++写PHP,
不入时了吧?哈哈! |
|
|
|
|
|
|
|
发表于 1-2-2007 12:25 AM
|
显示全部楼层
ASP通常需要用到Window 吧,那麽在這個情況中毒的機會就會很高。
而PHP通常是用LAMP所以幾乎不怕病毒。PHP的作業從頭到尾都靠這html來顯示結果
所以運作比較簡潔且快,但如果使用ASP的話就需要載入各種插件,無形中拖累速度
而且知適合Microsoft的產品,如果是Opera或Linux就……
一個網頁的好壞是講求在何處都可以使用吧。在來是資料運作
ASP使用的通常是MSSQL,而PHP通常使用MySql。
MSSQL和MYSQL
MYSQL的載入速度與運作上都比MSSQL來的穩定且快。
MSSQL載入時非常的重,吃了很多記憶空間,無形中把速度變慢
況且MYSQL到了龐大的資料載量是,任然非常的快速呢
我曾經試過載入三十多万的資料任然非常得快
我個人覺得ASP開發對開發人員是非常快(簡單嘛,資料Bind一下就好了),
可是運作速度真的非常的…………,PHP的開發還真得讓人頭痛@.@
但是它在日後的運作且是預期的好呢。 |
|
|
|
|
|
|
|
发表于 1-2-2007 01:08 AM
|
显示全部楼层
原帖由 lykillerl 于 1-2-2007 12:25 AM 发表
ASP通常需要用到Window 吧,那麽在這個情況中毒的機會就會很高。
而PHP通常是用LAMP所以幾乎不怕病毒。PHP的作業從頭到尾都靠這html來顯示結果
所以運作比較簡潔且快,但如果使用ASP的話就需要載入各種插件, ...
你的说法错误百出呢...
ASP通常需要用到Window 吧,那麽在這個情況中毒的機會就會很高。
ASP 怎么中毒?? 它只是一个普通的文字档.
而PHP通常是用LAMP所以幾乎不怕病毒。PHP的作業從頭到尾都靠這html來顯示結果
ASP 也是从头到尾靠 html 来显示结果.
所以運作比較簡潔且快,但如果使用ASP的話就需要載入各種插件,無形中拖累速度
PHP 一开始就 load 入全部 library... 所以... 这种说法不成立.
PHP 的速度快和它的 engine 设计有关. ASP 插件的弱点是大多要付钱.
而且知適合Microsoft的產品,如果是Opera或Linux就……
ASP 是 server side... 你用 opera, 或在 Linux 上 firefox 都可以 browse 到 ASP 的网站.
MYSQL的載入速度與運作上都比MSSQL來的穩定且快。
你知道 MYSQL 和 MSSQL 的差别吗? 真的知道吗?
MSSQL載入時非常的重,吃了很多記憶空間,無形中把速度變慢
载入什么? MSSQL 和 MYSQL 是不同等级的资料库... 你不能这样比较,
要看你是要做什么.
況且MYSQL到了龐大的資料載量是,任然非常的快速呢
试试看在 MySQL 运行大量的 update 和运算...
我個人覺得ASP開發對開發人員是非常快(簡單嘛,資料Bind一下就好了),
你有开发过 ASP 吗? 请问... 是怎么样 bind 的?
可是運作速度真的非常的…………,PHP的開發還真得讓人頭痛@.@
你有用 Dreamweaver 开发过 PHP 吗?
还是你是用 notepad 来开发?
你的 ASP 是如何设计的? |
|
|
|
|
|
|
|
发表于 1-2-2007 09:25 AM
|
显示全部楼层
|
|
|
|
|
|
|

楼主 |
发表于 1-2-2007 11:33 AM
|
显示全部楼层
很明显的lykillerl 是一个IT新人,
他有一个大概的常识,只是不够深入
这里的ASP大概也包括ASP.NET吧?
goatstudio 你太一针见血了,
新人不敢发表了。哈!
红发,抱歉!之前打错字,应该是"表现"不是"发现"。
以为自己是小人物没这种机会而不去表现,
这只会让你永远成为小人物。
其实当初我不喜欢如Frontpage这种软件,
是因为它会自动在我的HTML码上,
加上很多多余的HTML码。
所以我就一直没去试用Dreamweaver。
大概我需要在自己的源码里好看?
还是在开发时速度快,而做出选择了。 |
|
|
|
|
|
|
|
发表于 2-2-2007 12:38 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 2-2-2007 12:57 AM
|
显示全部楼层
請問用ASP 是不是需要Window ?
那麽Window 會不會种病毒?
我的表達是儅Window种了病毒,運行ASP時會不會慢?
那要不要人去清毒啊? 簡直那工來做
你試試看在PHP上用Gridview對應啊,看看有什麽成績,是否
ASP在每加入一個插件時,運作上都會有了變化
對了我說的只適合它的產品是用它Microsoft的特殊插件在opera上看看啊?(ASP對應的插件)
MYSQL 和 MSSQL 較量上確實是各有所長,但是,試問一開始就很慢的資料庫,符合經濟效益嗎?
我本人就拿過MySql來運算了,大約等個兩三秒等(二至三十万筆資料的運算)
ASP常常靠這大部分插件幫助完成工作,試問省掉了這些插件開發的時間與PHP的需要自己來開發的那個快?沒錯,PHP是有很多Library,我問你這些library的運作是什麽?
它們有像ASP的插件這樣方便嗎?你能掌握這些插件運作嗎?(自己開發除外)
那麽PHP載入library和ASP載入插件時,那個快?
在Window低下,你覺得會不會當機嗎?
常言道:會當機,就是Microsoft由股份(哈哈)。因爲他的產品超會儅的
再來就是人人聞之既怕的,價錢。 不用筆都知道是誰勝了 |
|
|
|
|
|
|
|
发表于 2-2-2007 01:16 AM
|
显示全部楼层
在有就是環境需求
ASP - Window : Window對網路的支持以向來都不怎麽的好,原因……錢的問題啊。
儅連接到一個上限數時,就開始不穩了。(有機會當機的哦)
PHP - Linux : 在這限制上就破除了,而且連接都好像是無限似的。數量龐大是任然還是很穩定。 |
|
|
|
|
|
|
|
发表于 2-2-2007 09:23 AM
|
显示全部楼层
原帖由 lykillerl 于 2-2-2007 01:16 AM 发表
在有就是環境需求
ASP - Window : Window對網路的支持以向來都不怎麽的好,原因……錢的問題啊。
儅連接到一個上限數時,就開始不穩了。(有機會當機的哦)
PHP - Linux : 在這限制上就破除了,而且連接都好 ...
你以为linux就没有病毒吗?是你没有见过吧。。。我公司有整百架linux server, 也遇过不少linux的漏洞和病毒.还有你说的mysql是什么版本?enterprise premium? 还是普通的?处理20-30万个数据?当然没有问题啊。。我们公司做通讯的,一天就超过你说的20-30个新数据了。。在大企业的数据处理上,mysql的处理能力还是不及mssql 2005和 oracle.一个enterprise level的 mysql需要 RM20K per year,但oracle 就需要 RM120K++ per year.ms sql 也不便宜.
还有mysql在 data syncronize方面不太稳定
"而PHP通常是用LAMP所以幾乎不怕病毒",你还没有遇过而已。。。你要不要我给你这病毒文件?
[ 本帖最后由 max5007 于 2-2-2007 09:27 AM 编辑 ] |
|
|
|
|
|
|
| |
本周最热论坛帖子
|