公告資訊

未經授權,禁止轉載網站文章與內容。如有需要可以跟我聯絡,謝謝!!




2008年3月13日 星期四

Rich Internet Application = Real Interactive Architecture?

昨天小測了一下IE 8 Beta, 使用者操作介面跟IE 7差不多, 在瀏覽器中加入了Activities和WebSlices的功能, 據說效能與穩定度上也將會有所提升.比較怪的是, 推的很兇的Silverlight並沒有內崁在其中, 反而是在Windows Update的下載選項裡面出現了Silverlight 1.0的選項-->看來還是從Windows Update推廣比較快.

安裝完IE 8, 心裡有個感覺, 大概目前瀏覽器最多就做到這樣了吧! 還記得在從前好像是IE 4的時候, 微軟曾經在IE中加入了推播頻道(Channel)的功能, 也發行過IE的SDK, 我還記得曾經研究了一下. 但是後來發展的RSS技術, 雖然概念類似, 但因為不需要綁特定環境, 反而變成主流.


微軟每出一款新的瀏覽器就會試著把一些新的服務整合進去, 這很正常, 就像IE 7中建立的Search功能. 但有了推播頻道的經驗, 微軟也發現使用者其實都會有自己的選擇, 因此在IE 7中隨然預設是使用Live Search, 但你也可以隨時換成使用Google Search或是Yahoo Search, 作為瀏覽器的搜尋介面. 或許你會想,微軟為何要在IE中加入搜尋的功能呢? 透過網頁搜尋不就好了嗎?
 
以前的Web應用程式,最大的限制就是瀏覽器。例如我現在在瀏覽器中寫了一大篇的Blog,結果突然瀏覽器當掉--預設狀況之下,當你使用瀏覽器時是處於離線狀態的--因此若是發生了前面情況的話,除了流下英雄淚重新開啟瀏覽器編輯之外----無解。因此所有的所謂RIA應用程式,若是透過網頁的方式執行的話,都會有下面的問題:
1. 無法離線使用。
2. 不容易完整記錄使用者歷史操作狀態。
3. 會受到瀏覽器種類的限制。
4. 無法直接使用其他網站中服務或資源(安全性限制).
5. 無法充分與用戶端系統的環境或功能整合。
因此目前主要的網路服務提供者發現了這樣的情況,於是乎在建立網站的同時,就另外開放了Web API。像IE的搜尋功能就可以幫你透過Web API,連線到網路搜尋引擎,執行搜尋功能(一種簡單的SOA實作)。
 
而RIA的主要精神,應該不是要把Browser變得Rich,而是要使用Rich Client應用程式--像是Windows Form或是手機中的程式--去呼叫Web API,使用Server端的功能。在這樣的架構之下,你可以用Client端的程式記錄使用者的操作狀態,也可以暫存使用者的操作,又可以使用用戶端作業系統的Native API最佳化應用程式--當然,一定可以與Server端的功能整合。你會發現,Google Picasa、MSDN ReaderWindows Live Mail、甚至於我現在使用的Windows Live Writer,都是這種架構的實作(注意標紅色的都是微軟產品)。
 
ASP.NET 技術發展到ASP.NET 3.5,結合ASP.NET AJAX與Server Controls,網頁的開發已經幾乎到了一個近乎完美的境界。接下來的Rich Internet Application,應該是要走出瀏覽器的框架,才能實現Real Interactive Architecture。我相信,這也是未來一年應用程式開發平台發展到行動裝置平台(這裡的行動裝置不只是手機,泛指車用電腦、工業用機台等等....)之後,所必然發展的架構,屆時Web API甚至可能直接整合到作業系統中(我猜Google Android有這個企圖......)。
 
因此在ASP.NET 3.5,開發的重點已經不是網頁本身,而是Web API。在Visual Studio 2008當中建立ASP.NET 3.5網站時,你可以透過加入"已啟用AJAX的WCF服務",快速建立Web API。將來部署到IIS 7.0時,你就可以透過組態設定,將網站的功能同時透過TCP、SOAP、MSMQ等方式,同時整合到不同的Client端的應用程式使用--而且還可以跳脫出瀏覽器的框架執行!

AJAX-WCF
因此,若是下次你要問我:"張老師,ASP.NET 3.5可以做甚麼 ?",我會請你先想想:
1. 我的用戶端需要哪些功能?
2. 我的網站可以開放哪些功能?
ASP.NET 3.5 結合IIS 7.0就可以幫助你,將Server端的功能,整合到不同的用戶端的應用程式中,建立真正的RIA應用程式!
------------------------------------------------------
ASP.NET 1.X的特點 --> Server Controls。
ASP.NET 2.0的特點 --> Server端服務。
ASP.NET 3.5的特點 --> 利用WEB API整合用戶端應用程式。

沒有留言:

最新回應

Loading...

即時與版主對話


(若狀態顯示"忙碌"時,我可能無法馬上回應。你可以留下Email,我會盡快跟你聯絡,謝謝喔!!)