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 閱讀(459) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 钟山县| 桂阳县| 潞西市| 曲沃县| 临邑县| 香港 | 宝清县| 肃北| 寿阳县| 宜丰县| 虹口区| 甘南县| 武山县| 仁怀市| 宁国市| 依兰县| 绵竹市| 阿拉善左旗| 梨树县| 三亚市| 岚皋县| 星子县| 紫金县| 喀什市| 上杭县| 仁怀市| 阿图什市| 金湖县| 肥东县| 阳新县| 韶关市| 镇坪县| 定西市| 定结县| 苗栗县| 晴隆县| 丰都县| 襄城县| 宝应县| 安图县| 临夏市|