專訪微軟ASP.NET產品項目負責人
發表時間:2023-08-15 來源:明輝站整理相關軟件相關文章人氣:
[摘要]Brian Goldfarb:當我們最初規劃ASP.NET 2.0的發展的時候,我們深入市場研究了我們的消費者以及普通Web站點開發人員的需求。我們到底發現了什么?很多常用的,需要重復完成的任務功能...
Brian Goldfarb:當我們最初規劃ASP.NET 2.0的發展的時候,我們深入市場研究了我們的消費者以及普通Web站點開發人員的需求。我們到底發現了什么?很多常用的,需要重復完成的任務功能一次又一次的被重新配置。我們的目標就是要簡化這些過程,并且幫助開發人員減少大約70%在普通應用環境中所需要編寫的代碼。
這是一個很美妙的目標,但這直接導致了一系列ASP.NET應用程序服務的開發,諸如Membership、Role Management、Navigation、Web Parts、Management以及其他更多的能夠提供一種大量削減代碼的簡單編程模式。同時,我們已經編譯了超過50種新的控制方式(control),這些方式將用于協調ASP.NET應用程序服務并進一步簡化開發過程。開發人員告訴我們說他們希望把精力放在為應用程序增添價值而不是編寫重復代碼片斷上面。我們相信,通過ASP.NET 2.0,Web開發人員可以實現這一目標。
開發人員和IT專業人士還告訴我們ASP.NET需要更加簡單的管理和維護。我們為此添加了一整套相關功能,使開發人員能夠更簡便的配置他們的應用程序,IT專業人士也能夠能輕松的通過IIS管理他們的ASP.NET 2.0應用程序。
ASP.NET開發小組是如何提煉開發人員的建議并以此為標準開發新的功能特性的?
首先,處理數量龐大的建議絕對不是一件容易的事情。它需要我們到開發人員社區收集反饋,同重要客戶進行交流,并且思考我們Web平臺以及開發工具的發展方向。在通盤考慮這些問題之后,我們得出了實際情況,然后就需要作出一個困難的決定。我們不得不回過頭來考慮我們所獲得的數據、客戶需求、技術條件、業界發展趨勢以及更多的東西,并確定其中什么需要優先考慮。
哪些功能反應了客戶們最為廣泛的需求?那些功能表現出了最強烈的創新意識?那些功能將被用來簡化處理復雜情況的過程?我們是如何改進平臺的管理性能的?
你知道,我們要處理很多類似的事情。同你所希望的那樣,整個開發過程非常艱難,因為我們盡量滿足客戶所有的需求,但并不是都能如人所愿,我們不得不看看各自的優先級。
您看到了那些功能對于開發人員來說具有“ah-ha”的因素?比如,在前期版本中沒有出現的功能,或者對于ASP.NET 1.x開發人員具有強烈吸引力的功能?
對于我們下一代的Web平臺以及開發工具來說,有兩個主要的“ah-ha”因素。首先,我們重新設計了創建Web站點以及應用程序的工具框架。我們發布了一個針對普通愛好者、學生,以及編程狂的新的開發工具——Visual Web Developer 2005 Express Edition。這種工具從一開始開發就始終關注于Web開發人員的需求,并且基于Visual Studio 2005 IDE。因此,Visual Studio 2005不光包括了所有Visual Web Developer 2005 Express版本具備新的Web開發功能,并且還含有更為專業的功能,例如源控制集成(source control integration)、預編譯(pre-compilation)、局域化處理(localisation),以及訪問性檢查(accessibility checker)等等。
使用Visual Studio .NET 2003以及ASP.NET Web Matrix的開發人員告訴我們很多關于他們對于所使用的Web開發工具的期望,這次重新開發就是針對這些反饋信息的。它包括對項目系統的一些修改,使其基于目錄,借助更好的CSS支持在界面設計上有了重大改進,并且還集成了對Master Pages以及Themes的支持。我們還對源代碼編輯器進行了改進,為Web開發人員提供了強大的代碼編輯功能。
其次,如前面所說,ASP.NET應用程序服務對配置所有高級功能提供了強大的模型。此外,我們新的Master Page模型將允許開發人員更為方便的維護站點的視覺一致性。這種模型可以繼承來自開發工具端和系統平臺端的視覺效果。
那些功能或許可以將開發人員從PHP或者JSP陣營中吸引到ASP.NET 2.0?
ASP.NET 2.0以及Visual Studio 2005能夠給所有的開發人員帶來一些列的好處。軟件提供了強大的開發工具,通過這些工具開發人員可以對Web站點及功能強大的平臺進行設計并編寫代碼,同時可以減少他們需要編寫的代碼數量。ASP.NET 2.0和Visual Studio 2005同樣允許情景模式,而在這之前要實現這樣的功能幾乎無法想象。一個正在編譯的例子是Web Parts。
ASP.NET 2.0提供了內容豐富的Web Parts基礎結構,使得開發人員無需編寫過多自定義代碼而創建自定義個性化的Web頁面成為可能。我們的平臺已經為開發人員提供了大量工具,并且鼓勵這些不同背景的開發人員下載Visual Web Developer 2005 Express測試版并進行評估,我們為此感到非常興奮。
有人談到了通過新的緩沖區功能可以帶來應用程序性能的提升,您能舉出一個具體應用環境的例子么?
ASP.NET 2.0中有一種新的輸出緩存類型,名為SQL Output Caching。在過去,輸出緩存可以帶來巨大的性能提升,但同樣存在一個問題,即決定最佳的緩存時間以避免輸出過時的數據。通過SQL Output Caching,ASP.NET 2.0可以不確定的對一頁進行緩存,并且僅僅當此頁數據改變時刷新緩存。這項功能可以兼容SQL Server 2005以及SQL Server 2000。所以可以想象,如果是一個數據更新并非頻繁的目錄站點,例如一個每季度更新價格信息的站點,在這樣的情況下,你可以將多月的目錄頁面進行緩存,并且可以看到系統巨大的性能提升以及數據庫負載得以減輕。
ASP.NET開發人員常常對于保持整個站點視覺效果及使用方式一致性而痛苦不堪,在ASP.NET 2.0中是怎么解決這一問題的?
我們已經清楚了了解了開發人員所強烈反映的這一問題,在ASP.NET 2.0中提供了許多新的功能來幫助開發人員維護整個站點的視覺效果及使用方式一致性。首先是Master Pages,這是一種視覺效果繼承機制。開發者可以在此進行站點大部分的視覺規劃,并且使用contentplaceholder control來定義overridable區域。然后在子頁面中,可以創建與主頁面中contentplaceholder類型不同的內容頁面——在內容頁面中僅僅針對內容使用此項功能,Master Page將完成剩下的工作。由此我可以僅僅通過修改Master Page來改變整個站點的視覺效果。
ASP.NET 2.0運行時將結合包括內容頁面的Master Page,并且發送統一格式的輸出到瀏覽器。我們還添加了Themes/Skins結構,由此允許開發人員輕松的替換ASP.NET 2.0服務器控制中特定的外觀元素。為了提高開發效率,我們還為Visual Studio 2005和Visual Web Developer 2005 Express Edition中的Master Pages的Themes/Skins提供了充分即時技術支持。
絕大部分的Web站點提供了某種類型的個性化功能,這些功能通常是手動編寫代碼實現的。在ASP.NET 2.0中有什么功能可以幫助開發人員創建個性化的Web站點么?
當前的Web站點常常需要為用戶帶來豐富的個性化體驗。在ASP.NET 2.0中,我們為此提供了一種Web Parts基礎結構及個性化開發引擎。首先,開發人員可以方便的定義strongly-typed user profiles,這些數據也將自動的進行維護。其次,通過Web Parts,用戶可以輕松的對站點的外觀和組件進行自定義,即通過對相關Web Parts進行添加、去除或移動?梢钥纯磎yMSN.com,實際上它的相關效果的實現幾乎沒有編寫代碼。
使用ASP.NET 1.x創建基于數據的Web站點非常麻煩,在這方面有什么新的功能么?
要實現提高開發人員效率這一目標,一部分工作就是要減少數據訪問代碼的數量。我們引入了一些新的控制功能,包括GridView,來針對此問題進行改進。新的免代碼數據綁定可以更為簡單的將databound對象連接到后臺的數據。在ASP.NET 2.0中,我還可以通過GridView,使用ObjectDataSource,借助中間對象來實現而無需編寫任何代碼。這是全部?我還可以進行分頁、排序、選擇、編輯、刪除,同樣不需要任何代碼。你將發現這全新的數據訪問模式所帶來的簡便性。
在從ASP.NET 1.x轉移到2.0的工程中,開發人員應當考慮哪些方面的結構、升級以及端口等問題?
我們的確就確保ASP.NET 1.0和1.1站點能夠在ASP.NET 2.0正常運行方面做了大量的工作。Visual Web Developer 2005 Express Edition以及Visual Studio 2005提供了一個升級向導,它可以方便的把已有的代碼轉換成ASP.NET 2.0格式,這樣你就可以在原有代碼上添加任何需要的新的功能。這一過程簡單而無縫。
ASP.NET Web Matrix會隨著ASP.NET 2.0的發布而進行升級么?
ASP.NET Web Matrix是一種無支持工具(unsupported tool),它的發布是為了幫助ASP.NET評估人員,普通愛好者和編程狂創建Web應用程序。ASP.NET Web Matrix項目對我們來說是極大的成功,它的下載次數超過了150萬。我們由此收到了大量大反饋,并分析出Web開發人員到底希望在他們的開發工具中看到什么樣的功能。
另一方面,Visual Web Developer 2005 Express Edition是Visual Studio 2005家族中的一員。絕大部分在ASP.NET Web Matrix中所獲得的教訓、反饋意見、以及值得肯定的功能在Visual Web Developer 2005 Express Edition的開發中都有所借鑒。使用者可以無縫的從ASP.NET Web Matrix轉移到Visual Web Developer 2005 Express Edition上面來。