ASP.NET编程:PHP 仍是 ASP.NET:我做了准确挑选么?仓酷云
net网页编程欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!在2001年,我曾面对一个选择,往学PHP大概ASP.NET。我终极选了后者,但我仍然嫌疑这个选择实在欠好。那是2001年,我面对一个选择。
假想一下,假如你能够回到已往,改写你的手艺生活。哪些主要的时候,你会想改动?在2001年,我曾作为一家乐成的网站征询公司的配合合股人,去向理有关ClassicASP的事变。事先,这些事变是很了不得的。我们是一家微软产物的经销商,而且为此感应自大!可是……
我曾用过初期的.NET而且很仇恨它。我厌恶VisualStudio。我不晓得C#,而VB.NET看起来就像一个笑话。我记得我坐在奥克兰到旧金山的船上,决意进修ASP.NET的基本来应对事情,而一边又一直的问本人一个成绩。
你事实要多勉力才干弄懂这些?那天我往事情,而且和我的互助人坐在一同。我告知他“.NET”已脱轨了。他笑了笑,然后那天,我们有了一次关于我们公司和我的将来的发言。
我熟习classicASP,IISSQL服务器,windowsNT/2000–我晓得怎样处置这些事变。我其实不晓得Linux大概MySQL,可是我经由过程浏览代码能够发明:新的框架实在基础上照搬ClassicASP,但有些针对MySQL和Apache的修改。
我本能够意料到这些,而且这本大概成为一个风趣的应战。我一向喜好进修直到如今。我能够归去买书而且在一个月内把握这些新手艺。
可是我们有一些不克不及流掉的主顾。我必需立即服务他们,不克不及中止。这类情形下,进修一个新手艺平台会十分坚苦,特别是我们主顾找我们的来由是由于我们是微软专家。(就像毒瘾一样,难以割舍。)
“持续做本人熟习的事变“是个想固然的选择。成绩是我已往的常识和履历其实不能很好使用到.NET上。不管怎样,我必要进修一门新言语和新框架。
微软统治的年月
你必要记着2001年是微软统治的年月。年夜型的网站是由Linux和Java构建开辟的。假如你当时在硅谷,而且和他人说你是一个微软开辟者,你会被冷笑的。(如今冷笑的人更多了)
出了硅谷,关于任何企业,微软就是谜底。这些公司已购置了微软的Window和Office,而他们如今要网站。微软是他们想固然的选择。
不幸的是,(我的征询公司在IT泡沫事务停业)我往了一家”TheValley“的始创企业。这家企业的架构是由开源/Java/Emacs/Eclipse构成的。我是独一一个微软程序员,服务一个全体接纳微软手艺的主要客户。
其他开辟团队必要数周来完成在客户网站上的一个小修改。而我仅要几个时候就能够用SQL服务器和ClassicASP到达。关于他们本盘算保持的义务,我总能给客户中意的了局。
这就是我选择成为一个微软专家和一个.NET的开辟者的缘故原由。除此以外,我曾冒死地往成为一个微软认证工程师。(我已经做到了!)终极,我貌似成了一个微软方面的MVP。大概说,我以为我成了。
如今看来这其实很愚昧,但假如你是事先的我,在那种事情情况之下,MVP的头衔意味着统统。往问问你的.NET伴侣,他们会告知你这些。
接上去的事
由于对象数据源不克不及同数据列表绑定,以是EntityFramework不克不及被利用。
固然我如今发了这条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也是)因而…我以为我的公关技能还必要改良。
这有些跑题了(但仍是有接洽)。我真正想晓得的是…
假如事先我不这么做,会产生甚么?
明天提起这件事变是由于我有一次我被约请往看一个”GhostBlog“的模块。(作为一次随便会商的一部分)而这个Node程序看起来就像用PHP写。
这不由让我想到”假如我保持用PHP,是不是我会用一样的体例写Node程序“?我极可能经由过程一个剧本开辟者的角度往看网站,而且错过了一些我从.NET开辟中学到的”初级观点“。这类设法很一般,我应当会这么写Node。
这固然激发了另外一个成绩:我写Node程序是不是和.NET开辟者相似?
也许有一些。我晓得我写ruby程序就是如许…那末这是个糟的事变?这些影响是不是令我更简单歪曲我的Node代码?
我晓得我将会习得良多有关Linux或MySQL的常识,而且我断定我将会列入一些风趣的开源项目,好像我写.NET时一样。我大概会迷上Rails,而且实验将一些Rails长处带到PHP中。
宛如彷佛汗青就会从头聚焦到现在,但有一个严重的分歧:我将不会堕入ASP.NET的泥潭长达五年。
我以为我应当能做到:
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
页:
[1]