閑人野居
          好好學習,天天向上
          posts - 57,  comments - 137,  trackbacks - 0
              研究了ext很久了,一直想為ext直接封裝一個服務端組件。考慮到ext組件的構建都是需要使用js來完成,那么服務端生成的代碼也就是js而不是html。
              如果采取純Ajax的方式,類似于Echo2的構造,不過這樣對于Session可能是一個負擔,同時可能會造成服務端的擁堵。不過使用純Ajax有個好處,就是js只需要裝載一次就行了。而如果使用各個不同的頁面方式,則需要多次裝載ext的js文件,這對于網絡也是一個壓力。
              不過創建的初衷,此框架主要還是使用于內部網,這樣對于性能方面的擔心可以略過了。
              設計流程如下:
              類似于Jsf的請求流程,提供Lifecycle,基本上也就五個生命周期,apply request,process validators,update model,invokeAction,render ajax。
              先不考慮其他的生命周期,先來處理render ajax部分。基本構思還是以render xml為主,主要的格式如下:
              
          <message xmlns="http://www.esoft.org/servermessage">
            <lib>
              <
          js url="widgets/ext-component"/>
            </
          lib>
            <script>Ext.QuickTips.init();</script>
            <content cid="W9"><div id="W39"/></content>
            <remove>Ext.get('W29').remove();</remove>
          </message>

          lib 中主要用來裝載ext的各個組件js,這樣不需要一次裝載。
          script,主要的執行js腳本
          content用于創建相應的html
          remove相應的刪除js腳本

          為什么需要增加remove而不是把所有的腳本都放在script中。
          這是由于整個處理都在一個頁面中,為了能按照順序執行相應的腳本,remove的腳本需要優先執行,當兩個組件不停的切換的時候。

          client 對于腳本的解析流程如下:
          首先分批裝載js url
          當所有的js裝載完成后
          執行remove 腳本
          遍歷content,增加相應的html node
          執行script腳本。

          對于頁面的生成,基本上沒有什么問題。
          只是如果采用這種方式,可能目前來說只能依賴于ext這個框架,對于服務端的靈活性也就大打折扣,不過既然是為了ext而做的,那也就無所謂了。

          不知道各位對這種生成方式有什么不同意見,期待討論。
          posted on 2008-01-02 18:36 布衣郎 閱讀(3446) 評論(4)  編輯  收藏 所屬分類: web view技術

          FeedBack:
          # re: 關于服務端生成js的構思
          2008-01-02 18:46 | gembin
          如何動態生成JS并在客戶端加載?

          似乎第一次加載時往往有些JS不能被加載   回復  更多評論
            
          # re: 關于服務端生成js的構思[未登錄]
          2008-01-02 21:27 | diego
          路過

          http://5dwall.cn
          國內最好的壁紙論壇  回復  更多評論
            
          # re: 關于服務端生成js的構思
          2008-01-07 14:37 | 良少
          如果是純JS,可以在客戶端使用Eval()方法讓JS執行。
          但是,eval只能執行純JS,如果包括html代碼,就執行不了。
          樓主的想法是可行的。  回復  更多評論
            
          # re: 關于服務端生成js的構思
          2008-01-08 13:42 | 布衣郎
          可行性基本上沒有什么問題,只是不知道效率方面,以及擴展方面有什么不妥。  回復  更多評論
            

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(12)

          隨筆分類(59)

          隨筆檔案(57)

          blog

          java

          uml

          搜索

          •  

          積分與排名

          • 積分 - 357133
          • 排名 - 155

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黄冈市| 五河县| 崇州市| 康保县| 祁连县| 四会市| 长阳| 泌阳县| 和田市| 海安县| 九龙坡区| 佛坪县| 永登县| 延吉市| 石首市| 荆州市| 五华县| 庐江县| 敦化市| 梨树县| 永年县| 天等县| 沁阳市| 杭锦旗| 呼图壁县| 连州市| 鄂尔多斯市| 北海市| 陈巴尔虎旗| 海淀区| 大方县| 扎兰屯市| 扶风县| 吉林省| 耿马| 焦作市| 岗巴县| 怀宁县| 宁远县| 平乐县| 南充市|