Flash圖表解決方案 Finger Chart
Finger是UNIX系統中用于查詢用戶情況的實用程序,UNIX系統保存了每個用戶的詳細資料,包括E-mail地址、帳號,在現實生活中的真實姓名、登錄時間、有沒有未閱讀的信件,最后一次閱讀E-mail的時間以及外出時的留言等資料。當你用Finger命令查詢時,系統會將上述資料一一顯示在你有終端或計算機上。
Finger Chart 是一個輕量級的基于Flash技術開發的圖表解決方案(未來考慮擴展到HTML5平臺),基于LGPL協議開源。圖表包括常見圖表類型:線圖,柱圖,條圖,餅圖,區域圖,散點圖,氣泡圖等;Finger的應用目標是:Web應用和移動應用,保持輕量級和較小的資源占用,以在有限的硬件資源下獲得平穩流暢的運行。
Finger包含3個開發主體:
基于AS3開發的圖表展現
基于JavaScript實現的圖表HTML嵌入
針對服務器端代碼開發的類庫(基于使用者的貢獻)
Finger具備如下的主要特點和設計初衷:
1、輕量級:圖表基于純ActionScript開發,并不斷得到優化,使得圖表可以保持較小的體積和較小的資源占用率。
2、易用:對前端工程師而言,使用封裝的JavaScript類庫讓您可以很方便的將圖表嵌入HTML。而對于后端程序員,使用針對服務器端代碼開發的類庫讓您可以更方便的與項目代碼集成。
3、靈活的外觀定義方式:如果您對Finger默認的外觀不滿意,大可以進行自我定制。Finger的外觀使 用了兩套彼此協作的機制:CSS和Skin,其中CSS使用網頁通用的樣式表屬性進行描述,而Skin部分則允許您通過Flash Pro進行創建和修改。結合這兩種方式,將給您的外觀創建帶來極大的靈活性。
4、允許載入外部插件:您可以基于約定的接口創建一個插件,編譯為單獨的SWF文件,并在圖表中載入,與圖表協同工作。這種方式將讓您在不需修改基本功能的條件下,完成一些額外的功能。
5、可擴展的架構設計:Finger基于一個可擴展的架構來實現,各個圖表組成部分都得到抽象并與具體實現相分離,圖表則基于工廠模式來進行組裝,在此基礎上擴展其它類型的圖表將會更加方便。
6、可視化組件支持:未來版本將針對Flash Pro創建一個組件庫,允許通過Flash Pro輕松應用圖表組件并綁定數據源。
小結:從一個協議的角度來看,Finger服務器有一個知名的端口79。客戶對這個端口做一個主動打開,然后發送一個在線的請求。服務器處理這個請求,把輸出發送回去,然后關閉連接。查詢和響應都是采用NVT ASCII,類似于我們在FTP和SMTP協議中所看到的。但是本文是基于圖表展現的。
【編輯推薦】