AsWing是什么?為什么選擇AsWing?
AsWing是什么?
AsWing是一套UI組件框架,純ActionScript開發的組件框架(有ActionScript2和ActionScript3版本),也包含一些常用的工具類,目的是讓Flash/Flex開發人員方便的開發出想要的應用程序界面。由于ActionScript2的時代已經慢慢過去,這里我們只針對ActionScript3版本來介紹。
為什么選擇AsWing?
自從Flex2,A.I.R發布以來,由于其開發效率高、表現能力強等特點,采用Flash/Flex平臺開發應用程序的需求越來越多,同時,RIA的興起,這些需要一套成熟的UI組件框架。
AsWing早在ActionScript2時代就已經發展成熟并成功應用于多個大型商業案例。它 是成熟的Java Swing框架的MVC架構在ActionScript上的輕量級實現,并且根據ActionScript語言的特性、Flash顯示元件的特性對架構的 細節進行了調整,集Swing框架和嚴謹和ActionScript的靈活于一體,脫胎于Swing但是優于Swing。其最新的ActionScript3.0版本更是經過改進設計,增加了SkinBuilder, GuiBuilder等多個周邊工具并且支持了A.I.R。
- Java Swing架構的AsWing框架對于每一個java程序員來說都是非常容易學習的,這是世界上您能夠找到的學習成本最低的ActionScript UI組件框架。
- AsWing使您可以在運行時動態地創建、更改和重新布局,甚至能夠讓您運行時變更組件的外觀主題。
- 由于AsWing是純代碼實現的,使用起來極其方便,您只需把AsWing的源文件或者編譯好的swc文件加入項目的class path即可使用,無需其他配置。
- GuiBuilder工具是讓你可以像使用Delphi, VB那樣的所見即所得的界面編輯界面。您可以使用GuiBuilder設計界面,然后自動生成界面的源代碼。
- SkinBuilder是界面主題制作工具。你只需要修改主題包里面圖片文件或者在Flash CS3里面修改元件圖形,即可獲得一套您自己的外觀主題。
更重要的是,AsWing是基于BSD協議發布的開源軟件,這意味著您可以免費獲得以上的所有功能并且您有權力根據自己的需要自由地對其進行修改。
如果您正在開發的基于Flash/Flex ActionScript的應用程需要高靈活性、高效率的用戶界面,那么AsWing就是你最好的選擇。
假如您正在開發基于Flash平臺的大型游戲或者虛擬社區,AsWing更您是絕佳選擇。其所有組件均繼承自Sprite,并且無任何不兼容覆蓋,因此你
可以方便的把組件添加到任何顯示元件上面,或者把任何顯示元件添加到組件上。比如你想在游戲中的人物角色頭上加一個按鈕,或者你需要在一個組件容器中添加
一斷演示動畫,只需要調用addChild添加即可。AsWing組件和普通顯示元件互不干擾可同時工作,擁有充分的靈活性。
AsWing特性
- 幾乎所有組件均采用MVC架構實現,模型,視圖,控制器分離,使得程序架構更加靈活穩定易改變。
- 擁有超過40個的通用組件,包括樹,表格,混色器等大型組件均有完整的實現。
- 鍵盤導航控制,快捷鍵等完好的支持。
- 組件與普通Flash顯示元件可以互相包含,可以把Flash IDE創建的SimpleButton包裝成組件Button。
- 可運行時更改外觀主題,可對整體組件、單種組件或單個組件更改外觀。
- 組件庫核心純代碼的實現,方便使用,同時兼容Flex和Flash編譯器。
- 擁有輔助工具方便的制作外觀主題和布局界面(SkinBuilder和GuiBuilder)。
AsWing與Flex Framework比較
Flex Framework(下面我將使用Flex簡稱Flex Framework)是Adobe官方開發的應用程序框架,它不僅包含UI組件,還包括其他工具,這里我們不說AsWing和Flex Framework哪個更好,只是簡單的把它們的不同處列出來方便大家自己比較。
AsWing | Flex | |
架構模型 |
更多的采用MVC;AsWing通過布局管理器來布局,布局與容器分離; | 通過不同的容器和組件屬性來進行布局;也使用MVC,但僅限于一些比較大型的組件; |
組件數量 | 組件數量略少于Flex;擁有JTable并支持自定義Cell渲染,能滿足大部分表格需求;AsWing團隊已經開始計劃開發表單類,以滿足對于復雜表單需求的用戶。有不少組件AsWing擁有而Flex沒有,比如Frame,再比如Flex沒有混色器,只有顏色選擇器,而AsWing兩者都有; |
組件數量略多于AsWing;Flex3擁有AdvancedDataGrid這樣的超級組件; |
鍵盤控制 | 有焦點控制器,鍵盤控制選擇(采用Tab切換焦點,上下鍵改變列表選擇等);支持Key Acceleration和Key Mnemonic; |
有焦點控制器,鍵盤控制選擇(采用Tab切換焦點,上下鍵改變列表選擇等); |
組件觀感 | 通過LookAndFeel類和ComponentUI來實現和改變組件觀感,通過SkinBuilderLAF可以方便的通過更改圖形資源來改變外觀,不支持CSS;可以運行時改變組件外觀; |
通過相關外觀類的實現來改變外觀,并可以通過CSS來設置組件外觀;可以運行時改變組件外觀; |
開發環境 | 可通過Flash CS3或者Flex編譯器編譯,通過ActionScript3進行程序設計; | 只能用Flex編譯器編譯,同時使用MXML和ActionScript3進行程序設計(也就是說除了掌握ActionScript3,你還得掌握MXML); |
與其他工具配合 | 擁有SkinBuilder制作外觀主題,GuiBuilder進行界面布局并生成ActionScript源代碼; | 擁有FlexBuilder的Design界面進行界面布局,也有基于CSS的外觀設置工具; |
開發相關 | 組件可與普通顯示元件無縫結合,比如Flash IDE制作的SimpleButton或者一段動畫可以和組件相互包容; | 組件不能被隨意放置到普通顯示元件上面,如果是一段動畫或者SimpleButton; |
posted on 2008-08-11 18:33 gembin 閱讀(813) 評論(0) 編輯 收藏 所屬分類: 其他