TWaver - 專注UI技術

          http://twaver.servasoft.com/
          posts - 171, comments - 191, trackbacks - 0, articles - 2
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Flex會給電信軟件開發帶來變革嗎?

          Posted on 2010-09-06 16:15 TWaver 閱讀(1866) 評論(0)  編輯  收藏

          如果你是電信行業的程序員,大名鼎鼎的拓撲圖工具TWaver你一定耳熟能詳;但是如果一提到TWaver你就想到一個Swing組件包,那你毫無疑問已經out了。經過十幾年的發展,TWaver看上去已經不再是一個簡單的Swing拓撲組件,這些年TWaver陸續推出了AJAX+SVG的Web版、GIS版,現在又出了Flex版。什么?Flex版TWaver?小玩具吧?能做企業甚至電信應用么?看看TWaver Flex這個令人震撼的在線demo,相信你會有自己的答案。反正我堅信Flex技術必將在電信行業應用中大展拳腳——至少它絕不再僅僅是一個花瓶和玩具。

          粗略觀察了一下TWaver在線demohttp://servasoftware.com/demo/twaver_flex/twaver-flex-online-demo.html),不少功能令人耳目一新。就說下圖這個經典的TWaver PSTN例子,細節上就比Swing版細膩很多。整個TWaver Flex很多地方甚至已經體現出比TWaver Java的Swing版本更強的方面。

          此外,還觀察到了TWaver Flex中更多有趣的特性。

          全新告警渲染方式

          記得早年看Micromuse的NetCool時候,對其告警呈現方式很有印象:一個告警色的菱形底座,既直觀又美觀。如今TWaver Flex中也提供了這種全新的告警渲染方式,而且還有各種形狀的“底座”可以選擇:

          另外,記得在使用Eclipse時如果有編譯錯誤,代碼tree上是如何呈現的嗎?一個動態產生的警告小圖標疊加在tree icon上,既簡潔,又清晰:

          TWaver Flex中也提供了類似效果。這種效果可以直接通過一個參數設置,不需要通過復雜的代碼進行實現:

          TWaver Flex中,告警在樹上的渲染還不止圖標的變化,demo中還提供了更多復雜的呈現方法,例如在icon后面再疊加一些額外信息,例如告警信息統計等等。例如demo中,一個交換機端口上產生了3個Critical(嚴重)告警,可以在tree icon后方再顯示一個球形icon以及告警數量和告警級別信息。另外交換機的邊框上告警傳播的模糊漸變渲染效果也比TWaver Java中更加細膩、生動:

          再加上一些新提供的告警表格、告警統計、chart等元素,TWaver Flex中告警的呈現確實給人耳目一新的感覺:

          全新連線捆扎呈現法

          連線捆扎是TWaver比較有意思的特性:多個首尾相同的Link可以雙擊閉合和展開。TWaver Flex的demo中提供了更加豐富的特性。除了傳統的連線雙擊動態捆扎和打開外,還可以分組捆扎、捆扎形狀定義、捆扎代理動態定義、告警代理呈現,等等。

          上圖中下方的一組連線,其中藍色、紅色、綠色的連線可以有不同的形狀,他們可以分別雙擊展開、閉合。雙擊任意藍色連線和綠色連線,上圖變成下圖這樣(注意link捆扎后會顯示被捆扎的link數量):

          更多自動布局算法

          自動布局算法是我比較感興趣的部分。看到一個個拓撲圖變魔術一樣的被布局成千變萬化的形狀,確實很有成就感。在TWaver Flex的demo中,感覺自動布局更加流暢、清晰。另外demo中的彈簧算法似乎也比TWaver Java中的更加流暢、有質感。

          另外一個就是網絡總線布局。以前在TWaver Java的例子中也看到過總線布局,不過TWaver Flex中的總線布局效果更加細膩(看看它總線的立體效果)。另外,總線的形狀還會隨著窗口大小變化而動態調,相當有趣:

          矢量圖支持

          TWaver Flex中有一個demo是現實了矢量的美國地圖各個州以及一些chart現實出來的數據。仔細研究其代碼,發現是使用了xml定義的矢量圖格式,并用這些格式動態生成了一些節點對象。這樣,這些節點就不僅僅是地圖對象,還可以表示一些業務網絡并攜帶一些業務數據。這個功能在電信資源管理、網管系統里面肯定會非常有用。

          另外一個可以使用矢量圖的地方是節點圖片。除了位圖外,還可以使用Flex簡化的一個SVG圖形格式,這樣就可以實現圖片的無級縮放了。例如TWaver Flex中這個demo中的節點,通過縮放后,可以觀察到確實使用了無失真的矢量圖格式:

          如果對其中的節點圖片進行拖拽放大,會看到矢量效果,不會失真:

          設備網格

          以前在做電信綜合網管之類的系統時候,如何呈現各種廠商、各種型號、各種類型的電信設備,是個頭大的事情。如果使用美工效果圖,工作量巨大;如果使用簡單的方格,則顯示效果過于簡單。TWaver Flex中的網格呈現方法感覺效果比較好。通過對設備面板進行網格化,通過定義每個板卡占用的寬和高等,就可以比較清晰、容易的定義設備的結構,并且呈現的效果也不錯:

          通過網格以及漸變效果表現設備板卡、模塊

          通過網格+圖片表現板卡、端口

          當然使用網格+圖片的方式會有更好的效果:

          通過網格和圖片表現整個設備機架圖

          更多特效

          當然,沒點動畫、特效的話,怎么體現出Flex的優勢呢?例如這個拓撲圖魚眼,絕對可以讓一臉古板的電信網管軟件增添一點生動。

          其他還有很多動畫效果其他特殊渲染效果,大家可以跑一下demo自己看看,這里就不啰嗦了。

          流程圖

          最后還發現一個流程圖的編輯器,可以直接拖拽出來一個流程圖,還可以導出XML格式進行保存,有點意思:

          總結

          看到這些TWaver Flex新特性后,感覺到Flex離我們電信開發者也越來越近了。記得一年前和朋友提起Flex在電信行業應用的前景,很多人都嗤之以鼻:嚴肅的電信行業怎么可能考慮這種“玩具”呢?現在,似乎這種態度的開發者已經越來越多少了,很多電信軟件企業已經不再一再排斥Flex,甚至很多企業已經在大量使用了。尤其混合了傳統Web和Flex的應用已經越來越多,這是一件好事。如果有一天Flex被完整的支持在iPhone、Android等移動設備上,那么,有了TWaver Flex,“掌上運維”、“掌上監控”等概念則不再僅僅是概念,而變成實實在在的殺手級應用。

          那么,TWaver Flex以及大量優秀的Flex產品,是否會給傳統的電信軟件開,發尤其是UI部分帶來變革呢?其實電信軟件向來嚴肅、嚴謹,“電信級”意味著比“企業級”要求更高一籌。穩定性、效率、可擴展性、容災…都有很高的要求。無論是網管系統,還是各種監控系統、資源管理系統,大多都是C/S結構的天下。雖然Web的發展和成熟,基于Web模式的電信應用也開始多起來,尤其各種業務管理系統,而底層的網管系統還是以C/S的居多。不過,當年以AJAX、JS等技術為代表的Web技術也面臨現在Flex同樣的質疑,而現在Web開發甚至變成了主流技術(看看所謂的SSH流行程度就可以感受到)。Flex作為一個UI部分的新技術,在復雜圖形方面的處理能力無疑是傳統Web應用的強有力補充。這也使得網管類的系統應用Web+Flex的混合方式成為可能。但是如果要開發全Flex的大型電信業務系統,目前來說還有一些劣勢。一個是由于Flex在通用組件方面與發展了多年的Web產品相比(例如Extjs等)還有一定差距,另外一方面HTML的成熟、簡單、易用,也不是Flex能夠相比的,短期甚至相當長的一段時期內,各種電信系統恐怕還是以C/S、Web、Flex的混合方式為主。Flex雖然不大可能成為今后電信系統開發的主流,但絕對可以成為一個傳統Web系統強有力的補充。從這一點上來說,Flex會給電信軟件的開發帶來變革,一個UI開發方式的變革。

          所以,我的結論是:TWaver Flex是個優秀的產品。給電信軟件開發帶來變革?有點大;不過,要說給電信軟件UI開發或拓撲開發帶來變革,那是深信不疑。

          Flex來了,而且來勢洶洶。無論是做電信應用還是企業應用,我們不必逃避它,還是緊緊的擁抱它吧!


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


          網站導航:
           
          主站蜘蛛池模板: 衡阳县| 准格尔旗| 岗巴县| 阳新县| 黄石市| 利津县| 苏尼特左旗| 临安市| 南木林县| 荣成市| 临潭县| 金寨县| 大渡口区| 英吉沙县| 望江县| 淄博市| 龙门县| 汕头市| 沙坪坝区| 长治市| 尼勒克县| 武定县| 松桃| 雅江县| 巴里| 中江县| 梧州市| 内乡县| 全椒县| 栾城县| 独山县| 芜湖县| 尼勒克县| 双城市| 广元市| 博乐市| 霍林郭勒市| 车险| 浦城县| 福州市| 高密市|