JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » .Net Framework » .NET Web Tech: Webform ,.net MVC  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
作者 [EZo 觀點] 當.NET遇上RIA/AJAX/MVC
EZoService





發文: 15
積分: 0
於 2012-02-14 18:03 user profilesend a private message to usersend email to EZoServicereply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
全文請至:http://ezoui.wordpress.com/2012/02/14/net_ria_ajax_mvc/

前言

熟悉 .NET 開發平台的人都知道, .NET 的 Web 畫面架構非常仰賴 CodeBehind 的機制,為了讓 Web畫面開發能夠跟 VB一樣輕鬆-只須透過拖拉元件,雙擊元件加入事件控制, .NET framework 運用了 runAt=”server” 的機制,將所有畫面運算及畫面元件互動送回 Server 端處理,開發人員幾乎不必學會太多的 Javascript 就能打造 Web 應用,這的確降低不少學習門檻,一直讓微軟引以為傲的VB開發環境,就此延伸至 Web開發平台上。

AJAX / RIA

在簡易開發及相容VB開發經驗的背後,卻讓 .NET Framework 在 AJAX 堀起、強調互動性的 RIA 的舞台中缺席。在 RunAt Server 的機制下,Server必須清楚Client各元件的狀態,在Stateless連線的Http環境下不容易達成,因此平台很取巧的在前端埋 了一個 VIEWSTATE 隱藏欄位,記錄最後一次Server端送至前端的所有元件狀態,所有 RunAt Server 的元件一有動作,都必須將這”肥大”的VIEWSTATE重新提交,導致畫面效能表現不佳,在 AJAX 及 RIA 盛行的今天,這種解決方案已變得有點落伍,微軟也意識到此問題,因此慢慢也提供了for .NET 的 AJAX Toolkit 來開發 AJAX 應用。

然而,引進的 AJAX Toolkit 之後的開發經驗,已經無法再像之前VB的開發模式,反而變得整天必須與前端的 Javascript 打交道,資料交換部份如此,畫面元件的美觀性也有相同問題。透過 Visual Studio 拖拉打造出來的畫面,只是原始的 Html 原生物件,若想做出接近Desktop AP 品質的UI,就得自行引進坊間的UI Widget,這又是微軟開發工具無法兼顧之處,開發人員須設法自行運用 web 開發技巧引入這些UI library,到最後,要在 .NET 上開發一個像樣的 RIA ,已經無法再享有從前開發 vb 那樣的「拖拉點選」來「做畫面、加事件」那樣輕鬆自如了。

另一個問題是畫面與商業 邏輯程式碼的糾纏,由於”CodeBehind”的輔助,開發人員很容易在程式碼中直接操控畫面,操控畫面若須要商業邏輯的判斷(譬如權限檢查),就很容 易將畫面控制與商業邏輯混在一起,最後程式就變得難以維護、難以共用,所以微軟後來也推出了MVC架構來因應。

EZo UIBuilder

上述三種需求: AJAX 互動、有豐富UI Widget、MVC 架構,若想在 .NET 平台上同時擁有,可以怎麼做?

你可以考慮軟微軟針對各議提供的解決方案,又或者考慮 EZo UIBuilder 同時提供 AJAX 互動、豐富UI Widget、符合MVC模式一的站式架構,讓 .NET 程式在 RIA 舞台上再一次重生。 EZo UIBuilder 提出以極簡xml打造 AJAX 互動的 RIA 畫面,事件模型的包裝再進一步簡化事件互動控制,開發人員只須學會XML語法及基礎的 Javascript,就能輕鬆打造出有豐富互動性的 RIA 。

另一方面,前端畫面資料與元件狀態,都是以JSON字串格式與後台互動,後台 只須提供符合該格式的字串,就能傳送資料或控制畫面元件,至此畫面的打造及資料供應的服務就能完全切開,畫面的繪制由前端的瀏覽器裡的GK Enginer解譯 JSON 字串,後端只供應抽象的JSON字串,不必理會畫面長相,後台服務因為沒有畫面資訊,就容易形成可重用的 Web API。



一切都是JSON

EZo UIBuilder 打造的畫面,提交到後台的資料變數,只有一個->j,傳統的http提交資料方式是以key-value成對的參數送到後台,如今這些資料全包在json字串裡,前端只post這個json變數。

(more ...)

更多內容,請參考官網資訊:http://www.EZoUI.com/
歡迎加入EZo UIBuilder 的 粉絲團:http://www.facebook.com/EZoUI


EZoService edited on 2012-03-03 17:03
reply to postreply to post
EZo = 易組 : 在瀏覽器上容易組裝的開發平台
EZo 官方網站: http://www.EZoUI.com/
UIBuilder 粉絲團:http://www.facebook.com/EZoUI
EZo UIBuilder 部落格: http://EZoUI.wordpress.com
話題樹型展開
人氣 標題 作者 字數 發文時間
2138 [EZo 觀點] 當.NET遇上RIA/AJAX/MVC EZoService 2255 2012-02-14 18:03
» JWorld@TW »  .Net Framework » .NET Web Tech: Webform ,.net MVC

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8