最近上線了的基於HTML5的燃氣3D培訓仿真系統,以前的老系統是采用基於C++和OpenGL的OpenSceneGraph引擎設計的,OSG引擎性能和渲染效果各方面還是不錯的,但因為這次新產品需求要求能運行多移動終端,多年前基於MFC封裝OSG的老系統架構也實在該退休了,這年頭找能維護MFC這種古董級GUI的靠譜人也非易事。
系統最終采用HT for Web的3D框架實現,項目中的程序員也很高興有這樣的機會終於擺脫維護MFC老系統的宿命,雖然大家都只有C++的開發經驗,對HTML/CSS/JS並不熟悉,但畢竟HT for Web已經做了極佳的組件封裝,CSS和DOM、包括跨平台的兼容性等棘手問題交給HT框架透明處理,程序員只需要掌握基本的js用法就可以快速上手,按HT的說法類比與關系數據庫ORM(Object-relational mapping)映射框架,HT提供的是OVM(Object-View mapping)的框架,只需要基本的面對對象的js操作即可驅動控制各種View組件,當然對於明白原理的人依然可以不受框架約束自如操作HTML的View層。
系統主要分為設備介紹、門站組裝、業務培訓和模擬考核四大部分:
讓我感覺比較爽的是控制3D圖元部分,以前不同的設備類型得體力活的寫一堆代碼,才能好不容易的實現些旋轉移動等操作控制,界面控件和3D模型之間的數據同步也得費不少勁,現在用js這種動態語言真是非常靈活,界面都可以非常方面的動態生成,加上HT for Web統一的數據模型自動就能處理好3D圖元與控件之間的數據綁定和聯動,我干起活來就像搭積木一樣輕松,腦子里想的就是業務功能和業務數據,不用再去折騰不同組件如何同步這些數據,控件也無需做什么特殊擴展。
當然目前項目還僅僅是初版移植,業務功能上還未有太大創新,但就目前的進度我們已經體會到HTML5的開發快速性,js語言也不是想象中那么弱,團隊控制好一定的編碼規范后js的靈活性帶來的開發進度提高還是非常顯著,剛開始選型大家還在爭論OSG基於C++和OpenGL的性能會優於JS和WebGL的方案,但現在回頭看我們還是走對路子了,畢竟我們這樣的企業應用也不需要像游戲級別的渲染和性能的要求,產品發布輕量,開發可快速迭代更是我們需要追求的路線。
以下是一段平板上的操作視頻供參考 http://v.youku.com/v_show/id_XNzA0NjE2MjY0.html