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