就圖表類的展示而言,前端有著許多功能強大的框架,單是國內就有好多國人開發(fā)的三方框架,其中最為出色、使用最為廣泛的是百度出的ECHARTS了,尤其是ECHARTS3的推出,使得其在移動端可以完美的兼容。
其實,不少的框架功能都較強大,而且都做了移動端的適配,但是,和ECHARTS相比,ECHARTS有著很多別的框架不具有的優(yōu)勢。
ECHARTS優(yōu)勢
- 豐富的文檔和示例
ECHARTS的官網有著詳盡的API接口解釋以及所有類別圖表的示例,開發(fā)者可以直接通過示例快速上手ECHARTS,很方便
- 炫酷的動畫效果
和其他框架相比ECHARTS的設計更具有一種扁平化和現(xiàn)代化的視感。
- 圖表庫全,支持地圖
當前的三方圖表框架幾乎都沒有地圖相關的圖表,而ECHARTS和百度地圖實現(xiàn)了很完美的結合。
- 拖拽重計算
拖拽重計算特性帶來了數(shù)據(jù)統(tǒng)計圖表從未有過的用戶體驗,允許用戶對統(tǒng)計數(shù)據(jù)進行有效的提取、整合,甚至在多個圖表間交換數(shù)據(jù),賦予了用戶對數(shù)據(jù)進行挖掘、整合的能力。
- 支持大數(shù)據(jù)
ECHARTS的能夠支持海量數(shù)據(jù)的圖表快速生成。
- 數(shù)據(jù)區(qū)域選擇
數(shù)據(jù)可以是無限的,但顯示空間總是有限的,數(shù)據(jù)區(qū)域選擇組件提供了大數(shù)據(jù)量中漫游的能力,讓用戶選擇并呈現(xiàn)他所關心的數(shù)據(jù)區(qū)域。配合隨動的均值(極值)標線,標注展現(xiàn)強大的數(shù)據(jù)剖析能力。
- 大規(guī)模散點圖
如何展現(xiàn)成千上百萬的離散數(shù)據(jù)從而找出他們的分布和聚類?貌似除了用專業(yè)的統(tǒng)計工具(如MATLAB)外別無選擇?而ECharts發(fā)明了基于像素的大規(guī)模散點圖,一個900 x 400的散點區(qū)域就能夠毫不重復的呈現(xiàn)36萬組數(shù)據(jù),這對于常規(guī)的應用,用現(xiàn)代瀏覽器就足以輕松展現(xiàn)百萬級的散點數(shù)據(jù)!
- 動態(tài)添加數(shù)據(jù)
- 豐富的事件交互
可以捕獲的用戶交互和數(shù)據(jù)變化事件實現(xiàn)圖表與外界的聯(lián)動
- GeoJson地圖擴展
內置地圖由標準GeoJson地理數(shù)據(jù)并經過高效的壓縮算法壓縮生成的地圖數(shù)據(jù)(大小僅為標準geoJson的30%左右)驅動而來。如果內置地圖類型或數(shù)據(jù)如果并未滿足你的項目需要,可通過簡單動態(tài)注冊產生你所需要的新類型。
ECHARTS兼容性
ECHARTS3的兼容性做的非常的好,在PC端IE能夠支持IE8及以上以及其他主流瀏覽器。在移動端,能夠完美支持Android和IOS應用。
移動端的HTML應用
和PC端的不同
移動端有很多情況是和PC端不一樣的,比如屏幕大小的自適應、不同觸摸動作的識別、輸入方式等。因此,在用HTML進行移動端開發(fā)時,要考慮不少專門應對與移動端的問題。
解決方案
前端技術正在迅速的發(fā)展著,各種優(yōu)秀的框架和方案層出不窮,就移動端而言,也有著很多的成熟的框架和解決方案。而當前使用最廣泛的主要有三類,分別是: ionic、framework7以及REACT,這三類框架最大的特色都是在于其能夠自動的將移動頁面轉化成APP應用。而三類框架本身又分別有著各自的特色,幾乎難分伯仲:
- REACT NATIVE可以生成原生體驗的應用,REACT獨特的編程的思想是其最大的特色.
- framework7有著豐富的樣式庫,其設計優(yōu)美,主要針對于IOS的開發(fā)。
- IONIC有著豐富的樣式庫和各種組件,最大的特色就是它是基于ANGULAR的。
我們采用的方案
基于上面的比較,我們可以使用 IONIC + ECHARTS
的方式去實現(xiàn)移動端的圖表展示:
- ECHARTS3圖表豐富,支持地圖。
- ECHARTS3圖表設計優(yōu)美,可配置性強。
- ECHARTS3完美支持移動端
- IONIC基于ANGULAR,ANGULAR的MVVM思想非常的利于業(yè)務的開發(fā),而之前的項目一直用的ANGULAR,所以開發(fā)成本相對會低一點。
- IONIC的樣式庫非常的漂亮,簡單而強大的命令行工具更是讓開發(fā)變得簡單。
- IONIC有著豐富的控件,基本能夠滿足大部分的需求,而且都能夠很輕松的自定義。
- IONIC對安卓和IOS的兼容性考慮的比較完善,一些兼容性的問題都有著詳細的說明和解決。
- 能夠一件生成APP。