hhh

          常用鏈接

          統計

          最新評論

          關于GUI開發的聲明性與過程性

          2005年11月17日
                   聲明性與過程性是計算技術的兩個重要的方面。聲明性用來描述做什么,至于怎么做,它假設有一個強大的解析器來完成一切。比如我們熟悉的SQL主要就是一個聲明性的語言,通過它你只要表達你想要得結果,而如何得到結果DBMS自然有它怎么做的一套策略。相對于聲明性來說,過程性強調表達怎么做,比如我們熟悉的各種程序設計語言主要是用來表達怎么做的。
                   好了說了這么一通,來談談GUI吧。如果大家用Swing或其它GUI框架手工寫過比較復雜的GUI程序,那么一定會感覺到相當的繁瑣,以后如果要修改的話那就更加麻煩了。很明顯將GUI直接表達在程序中是相當死的,既繁瑣又不靈活。所以出現了XUL,XAML,XSWT,XwingML等用來描述GUI的聲明性語言。不過GUI不應該是死的,它還要和用戶交互。通常這種對用戶的反應很難用聲明性的方式表達,因為這是運行時的,它由運行時的情況決定。所以很多技術都考慮如何在這些聲明性的語言中加入過程化的表達。例如,HTML+XXXScript,但是我覺得這種混合方式很混亂不利于維護,在加上HTML的表達力有限,所以web的交互很糟糕。XwingML可能很多人不熟悉,它是用來描述Swing的,現在已經很難找到了。在XwingML中可以將Listener 寫入在XwingML以XML定義的聲明性語言中,在GUI組件構建起來時,Listener對象也會被構建起來并注冊到相應的GUI組件上。當然這件事情是由支撐該聲明性語言的XwingML引擎來做。相對于HTML+XXXScript它更加模塊化。不過我覺得它還是沒有達到GUI上聲明性與過程性的較好結合。
                   其實我很希望哪位高手能關于這個主題給出一些指點,希望不吝賜教。
             


          posted on 2005-11-17 16:34 hhh 閱讀(458) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 天柱县| 巴东县| 金华市| 温州市| 乌拉特前旗| 河西区| 怀集县| 永安市| 雷州市| 唐海县| 柳林县| 永吉县| 马边| 扶绥县| 新化县| 上虞市| 额敏县| 尉氏县| 元氏县| 轮台县| 泉州市| 平舆县| 赤城县| 陆川县| 克东县| 丰顺县| 平安县| 伊金霍洛旗| 青海省| 张北县| 宝山区| 富顺县| 榆中县| 寻甸| 曲周县| 湾仔区| 文化| 金昌市| 什邡市| 浙江省| 双辽市|