一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

WebForm:毒藥還是利器?

  一、Webform的誕生及運行機制,web開發帶來的革命性變化

  九十年代中期,InterNET嶄露頭角。為了進軍Web應用程序行業,微軟開發了Active ServerPages(ASP)。ASP是開發Web頁面的一種快速、簡便的方式。ASP頁面由一個頁面組成,其中包含了標記和語言的混合。ASP的強大之處在于,在頁面發送給終端用戶的Web瀏覽器之前,可以在頁面上包含在Web服務器上執行的VBScript或JScript代碼指令。這是創建動態Web頁面的一種簡單方式,動態Web頁面可以根據開發人員規定的參數進行定制。

  隨著時間的推移,ASP頁面上需要放置越來越多的HTML、VBScript、JScript、層疊樣式表、T-SQL等內容。在這種情況下,頁面很難管理。于是,ASP進一步深化推出了新版本的ASP 2.0和ASP3.0。在2000年夏,微軟發布了其測試版本的ASP+,其主要目的是以面向對象的方式創建Web應用程序。后來重新命名為ASP.NET(與.NET框架1.0的最終版本一起發布)。

  在引入.NET之前,傳統ASP提供的模型和VisualBasic中開發的模型大相徑庭,很少有VB開發人員能開發Web應用程序,Web應用程序開發人員也不能開發VB的胖客戶應用程序。ASP.NET為此鴻溝之間搭起了一架橋梁。從此,ASP.NET把VisualBasic樣式的事件模型帶入Web應用程序開發領域,為無狀態的HTTP提供了迫切需要的狀態管理技術。其模型非常類似于早期的VisualBasic模型,因為開發人員可以把控件拖放到設計界面或窗體上,處理控件的屬性,甚至處理控件的代碼,操作在控件的生存周期內發生的一些事件。ASP.NET真正綜合了這兩個模型的優點。

  ASP.NET是一個Web開發平臺,它提供了構建企業級應用所需要的服務、編程模型和軟件基礎結構。ASP.NET應用是一些已編譯的代碼部件,由一些可重用且可擴展的組件組成,可以用第一類語言(包括C#、VisualBasic.NET、JScript.NET和J#)創建,并且可以訪問.NET框架中整個類的層次結構。雖然ASP.NET的語法基本上與其前輩ASP兼容,但是ASP.NET是一個全新的編程框架,旨在用于快速開發Web應用程序。作為微軟.NET平臺的一個基礎組成部分,ASP.NET提供了一種基于組件的、可擴展的且易于使用的方法,用以構建、部署和運行供所有在瀏覽器或移動設備中使用的Web應用

  同ASP和其它Web開發環境一樣,ASP.NET也是建立在HTTP協議之上的,它利用HTTP命令和策略建立雙向的、瀏覽器到服務器通信和協作。真正使ASP.NET有別于其它Web開發技術的是它提出的抽象編程模型,即“Web窗體結構”。下圖1展示了傳統Windows窗體模型與.NET框架中Web窗體模型的簡單比較。


   圖1—傳統Windows窗體模型與.NET框架中Web窗體模型的簡單比較

  Windows窗體模型起源于典型的事件驅動的桌面編程風格。不管客戶和服務器組件之間存在什么樣的連接,服務器的工作總是響  應客戶的輸入。服務器知道總的應用程序狀態,并以一種兩層的、連接的方式進行運行。Web窗體模型則需要某種機構來支持這種事件驅動的編程模型。在上圖中,請求頁面時發生的狀態反序列化和生成HTML響應時執行的狀態序列化代表了這種需求的機制。

  ASP.NETHTTP運行庫負責這種篩選工作。HTTP運行庫中一段代碼,擴展了托管Web服務器的總體功能并使它們專門化??芍厝氪绑w和隱藏字段是用來實現這種特征的低級工具。如果沒有一個跨越服務器頁面全部內容的有效的后端對象模型,那么這種模型的效果很難成功。因此,組件模型對整個ASP.NET開發平臺的構建及其有效的工作很重要。

  總之,ASP.NET是過去十年內先后發展起來的Web開發技術的巔峰—一種在目前構建通過HTTP協議傳輸的分布式應用的技術中,Web開發技術建立在另一種技術的基礎之上,并且每一種技術都彌補了其前輩的缺陷。因此,ASP.NET是目前最先進、特征最豐富而且功能最強大的平臺。
  二、WebForm能夠完全勝任企業軟件的開發么?
  在Webform出現之前,微軟力推的一個重要架構是Windows DNA,即“Windows分布式因特網應用體系”。可以說,它是在.NET平臺出現之前在微軟平臺上進行技術開發的大環境,其目的主要是為了全面集成微軟的“舊有”組件技術OLE、COM、DCOM、MTS、COM+進行企業級開發。Windows DNA是第一個將互聯網、客戶/服務器和用于計算的PC模型結合并集成在一起的為新一代分布式計算方案而設計的應用軟件體系結構。使用Windows DNA模型,用戶可建造一個能在任何網絡上實現的、可伸縮的多層應用軟件。簡言之,Windows DNA實際上是微軟的.NET框架出現以前基于組件的分布式應用程序戰略框架結構。
  .NET是微軟自從發布Windows 3.0以來最為激動人心的新技術,是微軟戰略上為下一個十年對服務器和桌面軟件工程的第一步,可謂微軟的一場世紀大豪賭。對于.NET,微軟的定義是,“用于構架、配置、運行網絡服務及其他應用程序的開發環境。該平臺包括三個主要部分:公共語言運行時、框架類和ASP.NET。”

  ASP.NET2.0的第一個主要目標是提高現有開發人員的效率,即“去除ASP.NET中原來需要的大量繁瑣的編碼,使常見的ASP.NET任務更容易完成。”他們的目標是“去年ASP.NET應用程序需要的2/3代碼量!”在該版本中,這個目標已基本實現。
  ASP.NET2.0的第二個主要目標是簡化管理。ASP.NET2.0包含了一個MMC插件和一個新的基于Web的管理工具,從而使網站管理人員可以輕松地管理ASP.NET2.0應用程序。而且,開發人員可以輕松地實現對系統涉及的重要配置文件的各個部分的加密。
  ASP.NET2.0的第三個主要目標是提供世界上最快的Web應用程序服務器。ASP.NET中最激動人心的性能改進之一是為了利用SQL Server2005而新增的高速緩存功能。ASP.NET2.0中包含了一個名為“禁用SQL高速緩存”,從而可以使終端用戶將總是看到最新的結果集,顯示的數據永遠都沒有過期。ASP.NET的另一個很大的領域是性能和可伸縮性。ASP.NET2.0提供了64位支持。于是,現在可以在64位的Intel或AMD處理器上運行ASP.NET應用程序。ASP.NET完全兼容ASP.NET1.0和1.1,可以在.NET 2.0框架上打開以前的ASP.NET程序,重新編譯,并在64位處理器上運行它們。

  另外,值得注意的是,SQL Server作為數據管理分析平臺和數據庫開發工具,在企業開發領域一直具有很好的口碑。同Visual Studio2005一同推出的SQL Server 2005是一套全新的管理工具包,它能夠與Visual Studio 2005緊密集成,為ASP.NET2.0應用程序開發提供全方位的數據支持,其最突出的三大優點是:商務智能、可編程性和安全性。當然,ASP.NET2.0也提供了對于其它大型數據庫的良好支持。

  實踐方面,從國內到國外已經有數不清的企業和政府機構選擇了基于ASP.NET平臺進行網站開發。在此,毋須我們再費口舌列舉相關的著名案例。但是,另一方面,還應看到,ASP.NET2.0平臺對于國內許多開發人員來說還是新事件,要掌握這個框架本身絕不會是經過1-2個工程所能把握的。因此,現階段無論從國內還是國外來看,都存在一個從傳統ASP、ASP.NET 1.0/1.1既有工程向ASP.NET 2.0轉換的過程,而且這一過程也不是短期內所能實現的,但這是大勢所趨。

  此外,我們后面將會詳細討論的ASP.NET AJAX框架和Silverlight技術為新一代Web 2.0應用程序開發中胖客戶端的開發提供良好的支持,它們將與以服務器端技術為主的ASP.NET 2.0架構相互補充,珠聯璧合,并最終整合到一起。

  三、Webform的限制與局限淺析

  “微軟技術難學”論

  如今,網上有不少朋友大聲疾呼:ASP.NET技術難學!
  從本人十幾年的微軟技術學習體驗來看,學習微軟技術的確有種先易后難的感覺。原因很簡單。對于一些初級的、通用的問題,微軟通過層層包裝,給出了簡單的實現方法,使用戶能立即獲得新鮮的體驗。但是,對于一些較有深度的問題,則需要我們自己揭開“包裝”,深入理解原理后方可找到解決方法。這一點,相信有VC經驗的朋友最有體會—VC給予了程序員幾乎控制任何WIN32 API的能力,但是自身實現的僅僅是“灰色”的界面,但又有誰會否認VC的強大威力呢?

  因此,對于新手在學習ASP.NET的初期,最容易產生“簡單”的錯覺—一系列的向導與拖動,再加上所謂“智能感知”,幾分鐘時間就讓你傾倒。但是,稍后,你應該會立即悟到:這樣的產品決不可能立即應用于實戰環境!

試想一下:其它開發工具不是如此嗎?都是如此!而每一項技能的學習又何止不是如此?
  ASP.NET,作為WEB開發的一項技術,以其大量的服務器控件對客戶端HTML作出了完美的包裝,特別是類似于桌面應用中的面向對象、事件機制及Web窗體的引入,使初學者,特別是以前是桌面應用的開發者一下為之吸引。對于基本的開發需要,幾乎應有盡有;但當你需要“工具箱之外的控件”時,你很可能還要學習C#,DOMAPI和JavaScript。這并不出乎意料,因為微軟不可能發明一種統一的方法來解決所有復雜的問題。

  從另一角度,我們也不妨問一下:什么技術威力無比又易于學習?是Java,php+MySQL,還是Ruby?恐怕都不是。就基于Java平臺的Web開發而言,想開發出滿意的產品,沒有深入理解Java API、各種高級開發框架(如Struts、JSF等)、大量數據庫技術、DOMAPI編程,肯定行不通。很簡單,這是因為任何基于Web平臺的開發都要涉及大量相關技術。
  關于webform的局限性

  本人不是ASP.NET高手,不敢妄加評論和指責。但是,我們知道任何一個技術都有其自身的弱點。好的技術應該在推廣自身的同時也一并提供這些弱點的解決方案。我們所熟知的“插件”技術正是這樣—我的精力有限,給你一個Toolkit,讓你自己去拓展!我認為在這一點,ASP.NET對于服務器定制Web控件的支持正是如此。

  webform有它自身的弱點,但它同時也為我們提供了更大的自由—在必要的時候,我們完全可以自己使用JS/HTML/CSS等實現自己的定制功能。說到底,webform也只不過是微軟提供的期望能夠提高一點點開發效率的工具,萬不可以當成是web開發的全部,甚至它都不是主要的方面。

  某君在國內某著名論壇上提出如下針對ASP.NET的質疑:
  “……你不能用js改變控件相對應的dom結構,否則postback后還原viewstate的過程中會出錯; 你沒辦法給webform控件生成的html tag加控件不支持的attributte,又得回后臺在Page_Load control.Attributes.Add();
如果你想使用ajax的話,一堆陷阱在等著你……
  你也別指望webform能為你的Ajax.Updater返回一個視圖的片段。因為你并沒有辦法完全控制webform控件會生成什么東西給你。
  不要跟我說還有Ajax.NET之類的東西,或許這是唯一的辦法……

  webform入門的學習成本是比較低,但是精通webform比精通js+xhtml+css難多了。更郁悶的是,就算你精通了webform,你用它還是會有很多事情做不了,最終還是要靠js,html,codebehind代碼雜交,遷就著webform的特性,兜一個大圈去實現功能。webform純粹是忽悠,用來忽悠winform程序員轉到ASP.NET平臺的!……”
  對于此觀點與疑問,我們沒有必要再加評論,但是任何具有ASP.NET三年以上專門開發經驗(特別是以前具有ASP開發經驗者)者應該很快提出自己的看法與解決方案。

     【強烈建議】與桌面應用相比,顯然Web應用更為復雜。除了與傳統桌面應用開發相類似環境的要求之處,還要求開發人員對從服務器技術(.NET框架、框架語言、大型數據庫技術等)到瀏覽器端(各種主流瀏覽器架構及區別、HTML元素、DOMAPI、JavaScript編程、CSS)的各種相關技術有一定了解。特別是對于HTML元素、DOMAPI、JavaScript編程、CSS這些內容基礎中的最基礎者,必須熟用自如。這些東西僅用三年左右的工夫是很難達到熟練掌握的。在團體開發環境下,對于以上技術,我們只能從中把握重點,最終達到各個擊破。

  關于“無刷新視圖跳轉的局限性”
  關于這一點,我不想浪費過多的篇幅。因為ASP.NET2.0的創建之初并沒有預料到稍后的“AJAX”熱潮的興起,所以,它僅在非常必要的地方引入并支持“無刷新視圖跳轉”(即“頁面局部刷新”)功能。要實現這一點,要求開發人員深入理解ASP.NET頁面回寄機制,并且掌握JavaScript編程技術,然后借助于ASP.NET2.0中提供的System.Web.UI.ICallbackEventHandler、Page.ClientScript.RegisterClientScriptBlock等實現所謂“AJAX”的局部更新效果。但如今,借助于ASP.NET AJAX 1.0框架,主要通過其中的服務器控件UpdatePanel的簡單操作即可輕易實現這一目標。
  四、WebForm究竟是利器還是毒藥?
  關于“WebForm究竟是利器還是毒藥”的爭論,我想大家很可能會聯想起國際上關于“核武器”的爭論。原子能,作為一種新的能量形式,就其本身是無法定論究竟它是造福人類的利劍還是滅絕人類的武器的,關鍵在于看其主人如何使用它。顯然,ASP.NET技術中推出的WebForm理論以其類似傳統桌面Windows應用的操作技術很快深入人心。但是,我們更要清醒地認識到,選擇.NETASP.NET2.0平臺進行Web開發是一個系統的工程,絕不可以是一、兩年時間所能精通的,因為Web開發涉及服務器端諸多.NET編程技術,還要與瀏覽器端眾多瑣細的技術相糾纏。所以,單純掌握一個WebForm是無濟于事的。

  對于那些急于成事者,特別是新手,往往為WebForm的表面易操作性所迷惑,而當投身于實戰環境時才感覺一頭霧水,茫然不知所措。也難怪有些人把WebForm斥責為“毒藥”—“……遷就著webform的特性,兜一個大圈去實現功能。webform純粹是忽悠,用來忽悠winform程序員轉到ASP.NET平臺的……”—“害人匪淺”。WebForm帶給人們的這種錯覺,我們不妨再對比以前桌面開發時代的VB6。這個軟件可謂真正“RAD”工具,學習者可以在幾小時,甚至幾分鐘內為之吸引,但是,真正使用VB6做起軟件來,在很多情況下還要靠“手工”挖掘低層的WIN32API函數。但又有誰把VB6斥責為“毒藥”呢?基于WebForm做Web開發與之很類似,都像是從頂層往下學習,但有些時候要往下挖掘的東西遠不止一批WIN32 API函數的數量(不過難度上較之于WIN32 API相對容易)。相反,VC6一開始就給予我們從低層WIN32API函數編程的能力,而在實戰環境下也主要是要求開發者具有從同一層次(即主要是從廣度上)進行挖掘的能力。所以,也不可以僅憑此一點就斷言VC6為“利器”。

  另一方面,又有誰公然提出Java易學,或比較于.NET平臺更易于掌握呢?其實,當我們對Web開發技術掌握到一定深度,往往都會有這樣的體會:各種平臺與方案表面上看各有千秋,但還是存在很大的共同之處。特別是在如今C#語言與Java存在極大相似之處的情況下,更易于得到這樣的結論。

  【補注】關于ASP.NET2.0中的ViewState的使用,不知諸君有何感想?ViewState可以說是整個ASP.NET在HTTP上實現其事件系統的基礎。ASP.NET中引入ViewState的目的在于實現整個框架的靈活性,但與此同時也給多少開發人員帶來難言的困惑。幸好,在一般情況下,僅利用ViewState的默認操作就可以滿足我們的要求。

  古詩云:十年磨一劍。我們也可以得出類似的結論:webform對于智者無疑是一把利刃,但對于淺嘗輒止者也不亞于一付“毒藥配方”。
  五、拋開局限,如何合理協調利用webform?
  基于上面的分析,我們看到:webform,如同任何其它技術一樣,既有自身的局限性,也有高超之處。一旦我們在webform上花了一定的功夫,那么不妨繼續“走下去”。

  對于需要進一步改造的遺留項目(如以前基于ASPASP 1.0/1.1開發的項目),我們可以先改造最有把握的部分,尚不確定的部分暫時先不要做,等各種技術及條件成熟起來再作全面的改造。

  對于想使用最新ASP.NET 2.0框架進行開發的項目,還是先使用最先掌握和最有把握的技術進行開發,也許在界面上或其它性能方面存在不盡人意的方面,但這要比把“不確定”和“無把握”留在“危險地帶”更為安全。因為Web開發較之于桌面開發,安全往往是最應優先考慮的部分。其它方面,例如性能的改進,用戶體驗感的增強等則可以隨著技術的不斷成熟穩步推進。
  對于時下“熱門”的AJAX技術,也不妨冷眼觀之,然后選最有把握者加以利用。  

  例如,對于微軟的ASP.NET AJAX框架(以前稱為“ATLAS”),其針對不同開發環境提供了三大類不同的解決方案?;?a href=/itjie/ASPjishu/ target=_blank class=infotextkey>ASP.NET 2.0的項目完全可以在最開始選擇以UpdatePanel服務器控件改造為主的方案以達到最安全和最快速地AJAX化你的Web項目,同時又能帶給用戶豐富的“實時”體驗感。

  六、展望微軟未來web開發技術
  從Windows DNA到.NET框架 

  .NET框架是微軟公司繼WindowsDNA以來的新的開發平臺?;谶@個新的框架,以前在DNA中暴露出來的缺陷基本得到全面解決。另一方面,.NET并沒有完全拋棄WINDOWSDNA,實際上它是WINDOWSDNA的繼續和發展。如今的.NET不僅有一套明確的技術規范,還提供了一系列的支持產品,例如編譯器、類庫甚至最終的用戶程序。如Windows.NET操作系統平臺、.NET框架是運行環境、.NET企業服務器為產品服務器、Visual Studio.NET為編程平臺。

  .NET框架是以一種類似于Java系統的虛擬機方式運行和管理的編程平臺,通過公共語言運行時刻為基礎,支持多種語言(C#、VB.NET、C++、Python 等)的開發。下圖2展示了.NET的整體框架結構。


    圖2—NET體系結構

  .NET框架具有兩個主要組件:公共語言運行庫和.NET框架類庫。公共語言運行庫是.NET框架的基礎。我們可以將運行庫看作一個在執行時管理代碼的代理,它提供內存管理、線程管理和遠程處理等核心服務,并且還強制實施嚴格的類型安全以及可提高安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼稱為非托管代碼。.NET框架的另一個主要組件是類庫,它是一個綜合性的面向對象的可重用類型集合,您可以使用它開發多種應用程序,這些應用程序包括傳統的命令行或GUI應用程序,當然也包括基于ASP.NET所提供的最新的應用程序(如Web窗體和XML Web服務)。

  .NET框架可由非托管組件承載,這些組件將公共語言運行庫加載到它們的進程中并啟動托管代碼的執行,從而創建一個可以同時利用托管和非托管功能的軟件環境。.NET框架不但提供若干個運行庫宿主,而且還支持第三方運行庫宿主的開發。

  如今,與Windows Vista綁定發行的.NET框架3.0框架把側重點放在了進一步拓寬.NET方案的應用范圍上。下圖3展示了.NET 3.0框架的棧式框架結構。

        圖3—NET 3.0框架結構

   從總體來看,.NET 3.0框架并沒有改進現有技術,而是引入了四種適應未來發展的基本新技術:Windows描述基礎(WPF)、Windows通信基礎(WCF)、Windows工作流基礎(WWF)、Windows CardSpace(WCS)?! ?/p>

  這其中的每一種技術都將成為開發者基于新一代操作系統及.NET平臺用來實施新方案的基礎。
  其中,WPF無可爭辯地成為四個新式基礎類集中最為重要的。這主要是由于兩點:一致性WPF方案;新式的名為XAML的XML標準編程語言。

  首先,WPF為基于ASP.NET框架進行Web開發提供了一種一致的方案來構建編程模型,并且支持使用更為豐富的控件和設計技術來開發Windows程序。一個開發出來的單個WPF程序最終能夠被發行到桌面、Web以及智能設備等多種環境下。

  其次,WPF中創新性引入了一種名為XAML的XML標準編程語言。開發人員利用它能夠控制對象的布局。后面我們提到的Silverlight技術正是基于這一標準開發而成的。從表面上看,這種技術似乎與Flash極為相似,其實二者之間還是存在相當的不同。Flash是一個成熟的、可控制的、獨立于操作系統的封閉式框架。而相比之下,Silverlight允許你與操作系統及其它.NET框架技術進行集成。顯然,Silverlight的出現很可能會對Flash構成極大的威脅。

  在這個“網絡即是一切”的社會里,Windows通信基礎(WCF)顯得極為重要。這個編程模型把web服務、.NET遠程技術、分布式事務和消息隊列統一到單個面向服務的編程模型中,從而實現真正意義上的分布式計算。

  Windows工作流基礎(WWF)是一種定義、執行和管理工作流的微軟技術。工作流由一系列的活動組成;開發者能夠編寫他們自己的域特定的活動,然后把它們應用于工作流中。.NET框架3.0/Windows工作流基礎還提供了一組涉及若干控制流構建方面的通用目的的活動。值得注意的是,這個框架了還包括了許多Visual Studio2005擴展(可視化工作流設計器、支持用戶調試工作流的可視化調試器、工作流編譯系統)??傊?,借助于WWF,新一代應用程序開發過程的流程控制方面將得到極大的改善。
  最后,Windows CardSpace(WCS)為程序開發中一直令人頭疼的認證問題上提供了一種新的解決方案。WCS有望改變你到一個應用程序(基于Web、手機或桌面程序)的認證方式,從而極有助于保護用戶的私有數據。

  另外,LINQ(Language IntegratedQuery)項目也是一項值得關注的技術。它是一個為了能夠讓開發者更容易地訪問數據的.NET框架工具集,是C#和VisualBasic語言集合的延伸。據微軟人士析,這個項目將為查詢XML、對象、相關數據和其它數據類型提供一個統一的程序設計模型。

  即將登場的C#3.0也應引起我們的關注。這個項目中將進一步引入大量其他語言的特性,特別是完全的closure支持、泛型、var、linq等,這些都是動態語言之所以強過傳統C++,Java,C#早期版本之處。界時,C#3.0將可作為全功能語言完全可以與php、Ruby等動態語言對抗,而且仍保持原有的編譯期強類型的優勢。

  ASP.NET AJAX框架

  隨著互聯網的迅速普及,人們對富客戶端功能的需求日益迫切,特別是Jesse-JamesGarrett于2005初正式提出的“AJAX”的出現簡直成為這一需求的強興奮劑。具有諷刺意味的是,設計之初并沒考慮到ASP.NET2.0在剛剛出世之后就陷入被淘汰的邊緣。于是,微軟于2005年夏天著手開發自己的代號為“ATLAS”的AJAX方案,并于2007年1月份正式推出并更名為ASP.NET AJAX 1.0,其官方支持網站為[url]http://ajax.ASP.NET[/url]。

ASP.NET AJAX的目標在于:
  構建一套完整的Web用戶體驗框架—提供一組豐富的內置組件,并允許開發者方便地依照自己的需要加以擴展;因此,對于那些熟悉JavaScript腳本語言的開發者將極大地提高程序的可維護性和可重用性。
  與ASP.NET 2.0編程模型有機集成—提供一種端對端的解決方案,使得MS AJAX應用程序能夠非常容易地訪問服務器ASP.NET和.NET框架中現有的編程模型。
  自由選擇開發模型—實際開發中,開發人員可以根據需要選擇以服務器端為中心還是以客戶端為中心作為應用程序的基本開發模型。
  完全跨平臺并基于標準—兼容大多數瀏覽器和平臺,它實現的MS AJAX腳本框架能夠適用于任何流行的Web服務器。
  零客戶端安裝—運行基于MS AJAX開發的應用程序時,不需要客戶端安裝任何內容。MS AJAX的“客戶端”由一系列從瀏覽器下載到本地的JavaScript文件組成。

  此外,MS AJAX框架還可以應用php及ColdFusion等Web開發環境中。
  從總體上看,整個ASP.NET AJAX框架被劃分為如下三個模塊:
  1、ASP.NET AJAX。這一部分是ASP.NET AJAX框架的核心部分,包括了核心AJAX類型系統,網絡協議層,組件模型,擴展器基類,以及與ASP.NET集成的服務器端功能。

  2、ASP.NET AJAX CTP。ASP.NET AJAX社區支持的“增值”CTP部分,包括了以前各個AtlasCTP版本包含的,但并不在完全支持的“核心”1.0版本內的額外的高級特性。微軟的最終目標是,通過用戶進一步的試用與反饋,逐步將其中穩定的部分增加到核心模塊中去。

  3、ASP.NET AJAX Control Toolkit。包含了基于ASP.NET AJAX1.0版“核心”版本的大量(還在繼續增加)的功能極強的免費AJAX控件。它是一個開源項目,由微軟和非微軟開發人員共同開發維護,主要支持站點是[url]http://www.CodePlex.com[/url]。
  總的來看,MSAJAX的整體框架目前已經基本成熟,但是在許多方面還需要作進一步改進。然而,ASP.NETAJAX作為ASP.NET最重要的客戶端補充框架的及時出現,使二者珠聯璧合,相互輝映,從而使微軟的Web解決方案上下貫通、趨于完美。由此不難想象,在ASP.NET的下一個版本正式出籠時ASP.NET AJAX將被正式吸收進去。

  Silverlight技術

  Silverlight最早亮相于2005年的秋季,當時它使用的還是開發代碼“Windows Presentation FoundationEverywhere(WPF/e)”。今年4月,微軟為其取了現在的“Silverlight”之名,接著在拉斯維加斯NAB展會上,正式高調發布這個新的跨平臺網絡媒體解決方案,又在稍晚的MIX07展會上對Silverlight進行詳細介紹,并宣布了其開源的打算。當前最新版本為Microsoft Silverlight 1.1 Alpha。

  Silverlight是一個跨瀏覽器、跨平臺的插件,旨在為網絡帶來下一代基于.NET媒體體驗和豐富的交互式應用程序。Silverlight為開發者提供靈活的編程模型(圖4),支持AJAX,VB,C#,Python,Ruby等語言,并集成到現有的網絡應用程序中。Silverlight可以對運行在Mac或Windows上的主流瀏覽器提供高質量視頻信息的快速、低成本的傳遞。


        圖4—Silverlight框架簡單示意圖

  如今的Silverlight能夠與Flash一樣作為瀏覽器插件工作,同樣能顯示矢量圖形、動畫和視頻,可以運行在多種操作系統甚至移動設備上。于是,人們把其與Flash聯系在一起、進行各種比較,甚至稱其為Flash殺手。

   一方面,Silverlight不僅支持高清晰的錄像文件的展示,可以讓中小開發者迅速而可靠地交付龐大和高清晰的視頻而無需花費大量成本,并且在很多方面較之Flash有更佳的性能,比如與AJAX結合更緊密、更容易動態生成、開發工具集成度高等,而它比Flash更強的最關鍵原因在于,Silverlight應用程序是以一種叫做XAML的本文標識語言傳遞到瀏覽器的,當用戶登錄站點時不需要進行大量的數據交換傳輸。諸如Google之類的搜索引擎可以掃描抓取XAML,卻無法對Flash應用程序有較好的抓取支持。
  另一方面,在一個大量使用Flash的站點中,開發者和設計者往往需要花費額外的工作來使它們的站點對搜索引擎更加友好,但是實際的效果并不理想。于是,這些開發人員很可能會轉向高性能、同樣跨瀏覽器和平臺、小成本并具有良好的繼承工具支持的Silverlight。

  此外,Flash使用的是ActionScript的腳本進行編程,而真正熟悉掌握這項技術的人員并不多。相比之下,數不勝數的精通VB,C#,Python等的程序員無需專門的學習就可以操控Silverlight。他們可以使用強大的Visual Studio codename“Orcas” Beta1中的Expression Studio進行輕松地設計、編譯和發布Silverlight應用程序。

  最后,還有一點值得我們關注的是:Silverlight以開源形式面向開發社團,必將大大促進Silverlight技術的發展與成熟。

  小結
  微軟以其壟斷技術曾經和正在“得罪”多少人?這一點上,優秀的輕量級Web開發動態語言“后起”之秀—Ruby也曾因出手于“帝國”而一度讓眾君敬而遠之。但作為技術,輕率地貶低ASP.NET 2.0是毫無道理的。   

  ASP.NET2.0的確是劃時代的優秀的重量級Web開發工具,當然它也決不會是僅憑“短短的幾日”所能拿下的。因此想進入Web開發領域,對于工具的慎重選擇也顯得尤為重要,是僅滿足于眼前需要,還是立足于長遠,不可統一定論。但無論如何,如今局勢已逐漸明朗:Web應用將一步步取代桌面應用并最終占為主流。

  最后,因本人非ASP.NET老手,僅是憑借幾段文字胡亂發表了一下自己就webform的一點意見。因此,如果惹煩了哪位,還請多多海涵。

NET技術WebForm:毒藥還是利器?,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧洲激情乱子伦 | 欧美美女被日 | 国产原创91 | 亚洲一区二区三区高清视频 | 性视频小说| 日韩午夜视频在线观看 | 美女视频一区二区三区在线 | 日韩一区二区三区视频在线观看 | 色wwwwww | 91视频啪| 亚洲欧美成人永久第一网站 | 天天干天天色综合网 | 国产精品久久九九 | 漂亮大学生一级毛片 | 日本一区二区在线不卡 | 四虎欧美永久在线精品免费 | 高清一区二区三区 | 午夜精品国产 | 久久亚洲精品无码观看不卡 | 国产精品久久久久久吹潮 | 五月婷中文字幕 | 在线观看免费福利 | 中文字幕国产视频 | 欧美综合网站 | 五月婷婷丁香在线 | 亚洲欧洲专线一区 | 日韩一级特黄 | 成人在线激情网 | 国产在线一区二区三区 | 91手机在线视频 | 激情六月丁香婷婷四房播 | 国产精品视频第一区二区三区 | 51国产偷自视频区视频手机播器 | 国产亚洲精品激情都市 | 一级美女| 久久精品资源 | 91精品视频免费 | 91精品国产综合久久久久 | 久久综合九色综合97婷婷群聊 | 国产欧美视频综合二区 | 国产精品3 |