从0开始学习ASP.NET(2.0为例)系列——02开天辟地


简介:


      开天辟地?干啥轰轰烈烈的事呐?哈哈,这个怎么说呢,毕竟是初次写博文,又是本系列的开篇,称作是“开天辟地”感觉不会有伤大雅,希望博友们别就此问题而吐槽!言归正传,既然是开篇,首先自然是简要的介绍下ASP.NET。再啰嗦一句,BlogBoy提示各位读者,本系列是个循序渐进的过程,因此注意了,一般开头只是简单的、泛泛的说说,更为详细的内容会在以后的博文中补上,在开天辟地的入门时刻,我希望读者们仅仅只需要了解一些极其简单的概念,记住一些以后出现频率极高的几个词汇,如动态网站、ASP.NET、IDE、CLR、CIL等等,0基础的读者们在头脑中只需要留下一些大概的理解和印象就可以。明白了这点,那我们开始介绍本文的第一个论题。

 

正文:


  • OK,来解决我们的第一个问题,什么是ASP.NET? 

      学习一个东西,首先我们得搞清楚这东西是个啥,干啥用的,然后才能学习怎么用、怎么深化的问题。SO,解释一下,ASP.NET和ASP(看起来是一对兄弟或两父子,呵呵)都是微软提供的WEB开发模型(注意:并不是微软提供的东西就一定必须运行在微软的系统平台上,因为所有.NET程序也是可以运行在别的操作系统上的),ASP.NET被当做是ASP的代替技术,简单的说,你学习ASP.NET的时候可以完全抛开ASP的相关知识,也不必具有ASP的相关经验。也许你可能还是不放心,没听过用过ASP真的没有影响么?那好吧,这里我可以解释下顺便理清一下动态/静态页面的问题。

ASP(Active Server Page)你可以理解为为“交互服务器网页”。那“交互服务器网页”又是个什么概念呢。我们不急着解释这个概念,我们把目光稍微偏移一下并定位到WEB网页。涉足WEB页面,我们时常听到所谓的静态/动态页面(其实还有“伪静态”,至于“伪动态”嘛,博主尚未听说过,哈哈),所谓动态页面其实就是交互式页面的一种,网站可以划分为两部分,服务器端和客户端,客户端与服务端进行的数据传输、请求响应就可以称为交互。也许你还是不明白,那么我们举个生活中的现实场景的例子,当我们通过浏览浏览器打开博客园登录页面提交输入的数据后,服务器接收到你的请求,然后在服务端处理这些请求并返回数据,这个过程就是个交互过程,这个登录页面就是动态页面(动态页面的后缀一般是.php、.asp、.aspx等等,如果你发现同样功能的页面,但后缀却是.htm、.html等,那么很有可能这个页面采用了伪静态的技术)。

      回到我们的主问题,我给出的答案是:ASP.NET是一种用于开发动态网站的技术。除了ASP.NET,广泛用于动态网站的服务端脚本技术还包括ASP、PHP、JSP,对于这些技术孰优孰劣的问题,博文不加以讨论,这些需要读者自己进一步地去搜索相关的介绍,在这里我就不作额外的介绍。

 

  • 那么ASP.NET作为一个统一的Web 开发模型,它有哪些特性或优点呢?有没有不足之处呢?

 

      摘取MSDN的介绍:ASP.NET包括您使用尽可能少的代码生成企业级Web 应用程序所必需的各种服务。 ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类。 可使用与公共语言运行时 (CLR) 兼容的任何语言(包括 Microsoft Visual Basic 和 C#)编写应用程序的代码。 使用这些语言,可以开发利用公共语言运行时、类型安全、继承等方面的优点的 ASP.NET 应用程序。

      看完上面这段解释,不得不佩服MSDN的编辑,语言简练精髓,不像博主我这么啰嗦,哈哈。言归正传,我们可以从简短的语句里看到以下几点信息:

      编写ASP.NET是需要.NET FrameWork的支持的,不同版本所支持的特性或者能力就不同,你还可以使用C#、VB来编写这些代码,因为这些代码都能被CLR(公共语言运行时,你暂时可以理解为运行时环境或运行时支持,具体的概念,会在基础知识中加以介绍)运行时识别,会被转换为统一的计算机语言CIL(通用中间语言,是微软提供的一种汇编语言),然后编译为字节码执行。至于介绍中提到的安全、继承等优点,读者可以先不必纠结,可以肯定的是现在诸多论坛、博客、企业站应用的案例就足以说明ASP.NET在构建动态网站上的强大。 

另外博主认为,ASP.NET之所以得到广大同仁们的喜爱,和其强大的技术支持者(Microsoft)、IDE(Microsoft Visual Studio)及数据库(Access、Microsoft SQL Server)支持是分不开的,关于IDE(你可以理解为强大的代码编辑器),我总是听到关于高手的言论,比如真正的高手是使用记事本编写代码的。对此BlogBoy不想作任何评价,我只是努力的想向读者,尤其是入门级别的读者客观的称述ASP.NET网站制作的一般过程以及过程中使用的工具和一些编程知识。

      有没有不足之处呢,那么正如BlogBoy所言:“金无足赤,人无完人!”(这句话可以时刻提醒一个人保持谦逊和宽容,博主一直认为,技术有不同标准,高低不是那么重要,只要保持学习的热情,就能活出自己的精彩!)ASP.NET自然也无法避免拥有某些缺陷,而且有许多的文章可以参考,单纯的讨论一个事物的缺陷显得没有太大意义,我们得假定一些特定的环境或挑选一些值得比较的对象。我们就拿PHP、JSP来做比较:

       跨平台问题:

     首先JSP、PHP可以结合Apache服务器分别布设到不同的操作系统上,在跨平台这个问题上,微软一直都是如此特立独行,没办法,牛叉嘛。

      学习成本问题:

     很多人认为:PHP是一门学习成本很低的语言,而JSP是一种很艰难的语言,ASP.NET介于二者之间。其实,博主个人认为:其实真的要学精通,什么都不会很容易,多一份付出才有可能多一份回报,因此只能说入门的时候难易程度是有所区别的。)。

      资源和社区:

     PHP作为老牌并且目前任位居第一的动态WEB语言,无论是程序员、教程、代码都十分的丰富,这一点ASP.NET逊色一点,但是相比于JSP却又好一点。值得关注的是,学习ASP.NET的人是不断增长的,像博客园这样的社区也日渐丰富了许多,加上诸多热心的牛叉博主,我相信学习ASP.NET也不会遇到太多资源短缺问题。

 

  • 长篇累牍之后,介绍最后一个话题ASP.NET的版本问题,其实就是.NET FrameWork的版本问题,另外提醒一下,其实C#也是很多版本的。

     ASPNET发展至今,已经经历过好几个版本了,也许你会好奇的发问,为什么博主介绍的不是3.5或4.0等高版本呢,这里我的解释是:之所以介绍的是2.0系列,是因为2.0被普遍认为是经典实用的版本(服务器环境一般并不会采用最新的版本,而是退而求其次的选择一个相对成熟稳定的版本作为宿主环境的可选方案),相比于1.0及其后的3.0、3.5、4.0以及最新的4.5,这个版本的ASP.NET脱离了1.0的稚气,同时也具备了后期版本的基本所有功能和特性,是使得ASP.NET更加成熟和可靠的转折点,即使在4.0、4.5兴起的这段时间里,该版本依然将会是诸多开发者实际项目开发版本。

 

结语:


      作为开天辟地的入门篇,讲的东西比较泛泛,显得颇为凌乱,大家将就着看看,毕竟,金无足赤人无完人嘛!后续文章,敬请期待。

      尽本人最大的努力,活出属于自己的精彩,欢迎大家拍砖!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM