官术网_书友最值得收藏!

博文專訪——與作者面對面奚江華先生談ASP.NET 2.0

針對奚江華先生的新書《圣殿祭司的ASP.NET 2.0開發詳解——使用C#》的出版,博文視點對奚江華先生進行了專訪,現將奚先生的談話整理成文,以饗讀者。

采訪人:博文視點首席策劃編輯劉鐵鋒(Joylite)

受訪人:奚江華(圣殿祭司)

采訪方式:電子郵件

Joylite:

奚老師,您好!非常高興看到您這本多達上千頁的ASP.NET 2.0開發的新書面世。應該說,這本書是市面上所能見到的最厚的一本ASP.NET 2.0的作品之一了。在看完您的大作之后,第一個感覺就是“細致”。從最前面Visual Studio 2005的環境配置以及數據庫環境的配置,就感覺到了您的寫作的認真。細致的目錄編排更是證明了這一點。能夠為我們介紹一下您對這本書的定位以及主要的創作思路嗎?

圣殿祭司:

這本書是針對ASP.NET 1.0升級的讀者,所以并沒有再去談基本的程序語法,或是ADO.NET數據庫訪問技術,因為在臺灣大多數的讀者反映他們需要的是全新時代的ASP.NET 2.0書籍,而非新瓶裝舊酒的書,因為基本功能的ASP.NET 1.0書籍大家手上己經有一堆了。

而這本書在臺灣同類ASP.NET 2.0書之中,算技術水平最高之一,即便是相同的章主題都比其他書有更好的深度與廣度,并且之所以有“細致”的感覺,是因為長期下來筆者在網絡論壇上見到太多不求甚解的問題,由于許多人技術細節懂得很少,故總是問題不斷,為了提供給大家一本好的技術圖書,因此把最細微的細節,最深入的理念都介紹得非常清楚,讓大家看完后就能夠明明白白,不會有那么多不必要的疑惑,同時也是一本我自己可以經常翻閱的ASP.NET 2.0書籍,算是一個學習的總結。

Joylite:

整本書所涉及到的知識點眾多,也提供了非常多的范例。那么,在讀者學習本書之前,是否需要有些預備知識,才能更好地掌握本書的內容呢?(備注:可能讀者必須了解一些數據庫的基本知識,能夠更好地掌握DataGrid方面的知識。)

圣殿祭司:

這本書是針對具備ASP.NET 1.0和數據庫能力的讀者所寫的,因為整本書的內容皆為ASP.NET 2.0新的主題,故算是針對進階及有經驗的讀者。而之所以這么做,是因為許多人都已購買ASP.NET 1.0和SQL Server 2000書籍,倘若這本書混雜ASP.NET 1.0和數據庫的章節,勢必會大量減少ASP.NET 2.0的章節與內容,這樣會造成許多讀者的不滿,也不符合他們的期望。

再者反觀臺灣過去兩年來,賣得最好的是ASP.NET進階書,而非入門書,故可以理解大多數人想要的是有深度的進階書,而非重復談變量、數組與循環等古老的議題。

且經過銷售實證,這本書果然連續兩個月在臺灣最大的指標書局蟬聯第一名,因為讀者深知每一分錢花得都是值得的,都是買到ASP.NET 2.0全新知識,買到的是更進階的新知識;反觀混雜ASP.NET 1.0和ASP.NET 2.0主題的書籍,目前看到的銷售成績皆不理想,故由此可以觀察到臺灣讀者的心態,而一本好的書不僅要在技術上優越,同時也要考慮到讀者的喜好,這樣才能夠受歡迎。

Joylite:

在本書的結構中,與以往所有的ASP.NET方面的書籍都不同,您把Atlas的技術放到了章節的前面,您是怎樣考慮的呢?

圣殿祭司:

臺灣微軟的技術經理也曾問過相同的話。我在2005 年7 月第一次得知Atlas Framework時,就知道這個技術會大紅,故在書籍撰寫前就預定了一定要加入至少三個Atlas Framework章節,但這是必須對.NET技術非常敏銳與具有遠見才能辦得到的。

坦白地講,這個策略很大膽,風險也很高,但商業上通常是高風險高報酬的。我并不是全然在賭運氣,而是經過深思后,也覺得該有人開創一條創新之路了,因此在2005年10月開始撰寫本書時,一直到2006年10月,臺灣仍然沒有一本ASP.NET 2.0的書中有加入任何Atlas Framework的技術章節,同樣的狀況也發生在大陸;這說明了什么?這是一個書籍上的商業策略考慮,一定要有高度的差異化,且是有用的差異化,才能夠獲得讀者的青睞,Atlas算是我所布下的伏兵,當書籍一上市自然沒有同等級的書籍可以抗衡,這也就是能夠達到銷售第一名的因素之一。

而Atlas之所以放在書籍的前面,作為第5、6、7章,事實上我的隱含意義是希望讀者學會Atlas之后,能夠自動自發地改寫書籍后面的所有范例,去比較同步與非同步AJAX所造成的差異,以及理解AJAX所能帶來的效益;倘若我將Atlas放到書籍的最后,讀者讀完書后,通常不會有多余的心思再回過頭來改寫一個Atlas范例,故這是我將Atlas放在書籍前面的用意,只不過我沒有明講出來罷了。

Joylite:

毋庸置疑,Altas(或者說AJAX相關的技術)已經成為了目前的熱點。那么,您覺得Altas(或者說AJAX)技術的本質是什么?將來的發展趨勢又將如何呢?

圣殿祭司:

Web技術開發是全世界程序開發的趨勢,而ASP.NET又是.NET技術中的主流,但ASP.NET的Thin Client功能及互動性遠不及Rich Client的Win Form,然而,Atlas AJAX卻是解決這個問題的一帖良藥,能夠大幅增加ASP.NET即時性與豐富性的功能,讓ASP.NET一躍成為Rich Client類型的解決方案,讓ASP.NET的網頁功能在許多方面突破長久以來的限制,進而達到更好的用戶體驗。

而Atlas已確定要加入到下一代的Visual Studio開發工具中(VS 2007或2008),并且將會在2006年年底推出一個Atlas正式版的核心集,讓使用Atlas技術的客戶可以得到支援,并大膽地導入到企業或正式項目中,可以看到,目前的Atlas AJAX技術只是一個技術洪流的開端,在未來3 年內還會高度成長,并且功能會更加茁壯,甚至會變得更簡單。

Joylite:

在您的大作中,有一章的內容涉及到了My。據我個人所知,您當時花了相當的精力來準備這個章節的內容。可能沒有VB開發經驗的讀者對此并不了解,您可以簡單地介紹一下您為什么要提出這一章的內容嗎?

圣殿祭司:

My這個功能是.NET 2.0中的新對象,但卻只有VB的用戶可以使用它,然而這對于C#的用戶即便很少使用My對象,也會有著心里不平衡的遺憾,因為C#語言和VB是經常被拿來比較的,而且各自都有不少擁護者。

為了證明C#也能夠完整使用My對象的情況,我嘗試完整破解如何在C#環境中使用My對象,而這可以視為一個證明題,或者挑戰題,即便筆者個人也很少使用My對象,但我還是很有興趣知道是否能夠完整引用;雖然你會認為,一個很少使用的東西為何還要浪費力氣去撰寫或研究,但這類例子在現實生活中卻不少,例如人們會買健康保險,汽車有裝置安全氣囊,而許多人可能終其一生都不見得會用到,但人們的確愿意為這部分花錢。

故我在書中加入了My對象章節,是為了補足C#環境中不能直接使用My對象的缺憾,同時也是臺灣第一人可以非常完整破解其功能的一本書,其目的是基于提升附加價值的部分,但讀者卻不必付額外的費用。

注:其實在美國微軟的MSDN專欄中也有提過C#如何使用My對象的文章,因此我在書中加入My對象并不突兀,并且MSDN專欄也只是解說其中一小塊用法,并非全面性完整用法,全面性的用法仍有許多限制條件,并非毫無障礙的。

Joylite:

現在技術的變遷實在快捷,我想就您來看,ASP.NET 2.0與ASP.NET 1.0最大的改變是什么?讀者最應該從哪些方面的技術點來著手呢?

圣殿祭司:

ASP.NET 2.0的主軸在于整合性應用,而非單一的控件應用,例如Login控件、Membership、Role Manager、Profile、Master Page和Web Part Portal Framework等等,許多機制是彼此串聯的,也就是必須了解其運作關系,否則就無法掌握ASP.NET 2.0的應用,甚至功能也無法正確執行;故讀者應從這些機制運作的技術底層來理解其彼此之間的關系,這樣就能夠學好ASP.NET 2.0重要精髓,所幸在我的書中已做了完整而清楚的描述,讓讀者不必買一堆ASP.NET 2.0的書,花費一堆不必要的時間,來拼拼湊湊地找出ASP.NET 2.0的全貌及答案。

Joylite:

Web Part以及Web Part類似的技術(比如Google的Gadget)似乎出現在了越來越多的網頁上面,您怎么看待這種技術以及相關的趨勢呢?

圣殿祭司:

Web Part主要就是針對用戶個性化的需求,讓不同用戶可以自定義不同的消息界面,而不必都是一成不變的畫面,所以算是增加了用戶的美好體驗。但我個人認為一個網站的成功,在于它本身提供的信息或者功能必須是優越的,是會讓用戶每天都需要的,這樣才能夠讓網站立于不敗之地,而非加入一些很炫但無用的功能,就能保證用戶會喜歡,故Web Part的設計需要針對用戶的需求來設計,讓Web Part變成一個賣點,但前提是網站的內容必須具備足夠的吸引力才行。

Joylite:

在您的自序中提及,這本書僅僅是上冊,那么下冊的內容您是怎樣規劃的呢?

圣殿祭司:

下冊部分目前約略擬定了一些進階主題,是ASP.NET 2.0上冊中應談而沒談的,例如ADO.NET 2.0、Cache 2.0、HttpModule、HttpHandler和C# 2.0語言方面的功能等等,但實際的章節目錄,2007年才會開始動工,屆時會公布給大家知道的。

Joylite:

在PHP主導的Web開發領域,似乎已經出現了一種可配置的Web開發方式。也就是說,需要開發什么方面的功能,直接從網上找到相關的模塊,簡單配置一下即可完成大部分的功能。您怎么看待這個開發方式?ASP.NET是否也有可能出現相關的趨勢呢?

圣殿祭司:

PHP和ASP.NET在本質上有很大的不同,在臺灣,PHP常被應用到功能固定的網站的構建上,例如留言板、新聞發布、論壇和投票等,這些功能是快速建站必備的,自定義復雜的商業流程也不多,因為網絡上有許多現成的模塊就可以下載套用,完全不必寫程序。

雖然PHP的現成模塊功能很迷人,但.NET Programmer對ASP.NET的期望不在于此,ASP.NET是以開發復雜企業或項目功能為目的的,有大量復雜的商業邏輯,它要有多方面的解決方案,例如元件、安全性、性能監控、分布式架構、優美的面向對象能力,以及Team System團隊開發等等的能力,但這些都是PHP很缺乏的,因此,ASP.NET背后的意義是Programmer可以取用完整的.NET Framework能力,有完整的解決方案,可以開發Mobile等等,故實際上,ASP.NET與PHP在本質上有很大的不同。

并且微軟平臺技術,例如SharePoint、Commerce Server和BizTalk Server等等皆與ASP.NET 2.0技術做深度整合,所以可以想象,日后以一套.NET程序就可以開發所有微軟產品技術,可以提升不少生產力與整合能力,這是一個重要的趨勢,只要你使用微軟技術平臺,就可以得到這樣高度整合的好處,但使用PHP就沒有這種優勢。

對于ASP.NET現成的模塊發展,這種風氣應該在DotNetNuke Framework中是比較常見的,但是在臺灣,模塊發展仍不是主流,甚至是蠻冷門的;而即使微軟在下一代的.NET技術中,仍然不是強調模塊化的套用,而強調的是最原始開發能力的優越性,例如C# 3.0、VB9、LINQ、WPF、WCF、WF和CardSpace等等,ASP.NET模塊算不上是微軟或企業看重的,但無論如何相信下一版的ASP.NET仍然會適度加強這方面的能力。

主站蜘蛛池模板: 梁山县| 黄骅市| 嘉峪关市| 凤翔县| 砀山县| 烟台市| 光山县| 平果县| 淳化县| 宕昌县| 陕西省| 龙游县| 启东市| 邵阳市| 昭平县| 凌云县| 砀山县| 凤山市| 西宁市| 临沭县| 桃园市| 滁州市| 白沙| 灌阳县| 卢湾区| 成安县| 个旧市| 茂名市| 方正县| 昆明市| 绩溪县| 河源市| 来安县| 江永县| 盐池县| 宜都市| 台南县| 宝坻区| 德兴市| 电白县| 旺苍县|