5/29/2005

從世界最大的博客網站的基于xml的網站架構看它的缺點

在不短的時間?,我一直以?blogspot.com是一個不成熟的站點,以至于用戶寫完文章是無法看到的,直到我知道這是世界上最大的最早地也是最成功 的博客站點,同時也是google的唯一戰略聯盟夥伴時,才意識到這是不可能的:一定是讓中國網安給封閉了。中國網安樂于封閉海外媒體站點,特別是海外有 中文信息提供的媒體站點,動機是可以理解的,只要各位想想《包身工》中的一段話:“只要不接觸到外面的新鮮空氣,發黴的可能性就會低得多”。不過,政治不 是這?要談的東西,還是少談國事,專注點技術之類的小節好了。

在 使用合適的外國代理服務器後,這個網站可以?覽了,我發現,這是 一個完全由xml驅動的網站。我一直留意到blogger.com的“發布”這個用例操作,不太明白它是什?意思。直到我看了它的網頁源代碼,事情就開始 清楚了,它使用的估計是一個與google相關的索引文件另加一個與cocoon 相似的xml發布機制,發布的意思就是把文章轉成xml存檔,這樣做的好處是可以根據不同的xslt轉換成html/pdf/xml/rss文件。由于轉 換是一致的,對于所有網頁都適用,也就不需要每一個轉換寫程序 ??有它的合理性??但也有它的不合理性,事實上現在它對于中國讀者,包括絕大部分非英語讀者,我看,都是不可見的,那怕中國網安沒有封閉它!

blogspot 除英語外,xml默認使用的是utf-8編碼;對于英語,這沒有問題,IE會適應的,但對于中文就不然了,事實上,如果不是?覽者手工設定編碼的話, utf-8編碼的網頁顯示的就是一遍空白!問題就在于,全中國人有多少分之一的?覽者知道網頁編碼是什?回事嗎?這個問題我以前沒有注意,因?我使用的是 firefox,(嚴格地說也談不上“以前”,我是昨天才知道在中國大陸也是可以看到blogspot上的站點的),默認狀態下的utf-8,如果設回到 gb2312,原來發布的文章,就全部變成了亂碼。問題出在blogspot的發布機制。無論這套機制看上去多?先進,或者以後的?覽器都會象 firefox一樣自動適應,但今天,ie6就是適應不了!平心而論,如果一個網站對于非專業的用戶來說竟然是不可見的話,難以說得上它的先進性有什?現 實的價值?

它的日志文章顯然是獨立放置,並且在讀取時才由某一個讀寫器從xml存檔中再讀回來,這?顯然存在一個邏輯錯誤,就是讀回來的 xml的encoding有沖突,??這個案例說明,xml除了讓軟件業有了升級的炒作題材,其實也不見得適用于所有的情況,還是一句老話:軟件無所謂先 進,只有合用不合用。就 blogger.com來說,盡管它是全球博客第一,到目前?止我還是沒有看出它的完全基于xml的解決方案有什?必要性,帶來了什?特殊的效果,因?, 我實在看不到它有rss功能提供!

這 也可以解釋b logger.com的缺陷??文章缺乏分類功能,以及文章顯示缺乏設置功能??它甚至不能選擇設置只顯示文章條目于第一頁!當然,如果它一定要提供這個 功能是還是可以做到的,但是在如此數量的情況下,修改一個基本結構的工作量和成本投入不是普通項目可以比的,而完全基于 xml的解決方案,在擴展性上是不是那?樂觀仍是一個未知數,至少,作?一種範式,沒有多少可以參照的項目經驗可用。

這就形成了這樣的一 個問題。如果用戶寫博客本身只是塗鴉,其實有點東西下筆就可以了,但如果象blogger.com那樣希望與google的ads結合?生效益,?博客指 出一條贏利之路的話,那?,就不太美妙了。因?,這樣條件的博客,其實是基本上沒有希望發揮博客內容的吸引力潛力的。就本人而言,如果打算組織自已的可以 發布動態廣告的博客群,blogger.com就不可能是一個首選,除了它是中國網安的重點封鎖對象外,它的內在的技術邏輯錯誤,恐怕是更致命的因素。

而 且,即使這樣的結構對于blogspot.com本身維護文檔和檢索是高效率的,那?對于用戶本身是低效率的。因?典型的網站用戶都是逐步深入掌握的,一 見鍾情就深入進出的極?罕見;而如果在一開始時就按默認的utf-8編碼,等到熟悉時再轉回到象gb2312編碼時,就出了大問題:發前發布的文章全部是 亂碼,並且,不提供自動轉換的功能,這個博客或者要花大力氣全新貼過全部文章,要?放棄開新的博客,要?忍受著從前的文章看不到的缺點……無論是那一種, 對于非英語的用戶來說,都是不可接受的。換言之,這個博客使用xml作?基礎結構的代價,就是幾乎放棄所有的非英語用戶??這樣用xml,不如跳樓算了。

對 于本人來說,在使用xml如斯時間後,就更是時刻提醒自已:xml是一個相對較新的玩意,但不是什?先進的玩意,而是提供了一種新的解決方案;如果用原來 的解決方案能夠解決而沒有什?不便的話,盡可能用原來的,象html,而不要趕時髦;?趕時髦而用“新技術”,是不懂技術的最典型表現之一。

http://zwwwxy.blogchina.com/1705325.html

0 Comments:

发表评论

<< Home