基於HTML5技術的電力3D監控應用(三)

(一)(二)以後很多,很多網友問我移動終端的使用問題,由於咱們項目此次採用Android平板終端,因此我對這方面有點膚淺的研究,這篇分享些項目經驗總結,但願對你們有所幫助。 node

電力3D項目去年末剛立項時,需求僅僅是PC瀏覽器的3D展現要求,後來慢慢增長了要求也能在平板上運行,由於咱們的系統大部分是內網的,不可能要求移動終端得上app store去下載應用程序,雖然apple也提供企業內部發布的解決方案,但仍是遠不如android安裝app方便,對於企業應用三天兩頭就須要改動需求,咱們的發佈很是頻繁,因此最終移動端選型採用Android的方案。  android

還好Google挺給力今年初提供了Android瀏覽器WebGL的解決方案:Google finally makes it easy to enable WebGL support in latest Chrome for Android 固然現在哪怕沒有Chrome,Firefox和Opera等衆多移動瀏覽器也都支持WebGL了,並且Firefox和Opera都不須要設置開啓WebGL開關了,並且手機上的Chrome還得經過在URL輸入chrome:flags,而後開啓Enable WebGL才能夠 git


 

手機我用的Nexus 5測試的,而平板我用Nexus 7第二代測試的,Nexus 7到手感受仍是很輕很好用,預裝的操做系統還不是最新的,不過已經能夠升級到Android 4.4.2 (KitKat)版本了,我更新了Chrome Android31速度仍是明顯很快速。 程序員

Nexus手機直接能夠傳送文件,平板則須要安裝Android File Transfer軟件,這沒什麼最讓我震驚的是在這裏,我調試時發現平板上沒有「Developer options」選型了,沒有這個選型我就無法用經過PC進行USB Debugging了,查了半天資料How to enable developer settings on Android 4.2,竟然經過點擊「Build number」的欄目七次纔會出現,Google這些工程師真是Geek啊。 github

Here's how to get them back: web

  1. Go to the settings menu, and scroll down to "About phone." Tap it.
  2. Scroll down to the bottom again, where you see "Build number." (Your build number may vary from ours here.)
  3. Tap it seven (7) times. After the third tap, you'll see a playful dialog that says you're four taps away from being a developer. (If only it were that simple, eh?) Keep on tapping, and *poof*, you've got the developer settings back.

最開始咱們也考慮過用WebView打包apk的方式,但遇到了很多麻煩大部分WebView和獨立安裝的Chrome app並不貢獻內核,google走了兩條路,WebView有套本身的WebKit版本,外面的Chrome app走本身的WebKit版本,並且WebView的版本不用說確定是至關古老的,所以別說WebGL連Canvas的支持咱們都遇到不少坑,這方面還好引擎已經幫咱們繞開了不少坑。 chrome

 

固然Google不會止步不前,最新的KitKat已經將WebView升級到了Chrome for Android的30版本,這個版本的HTML5功能對大部分應用來講也算足夠了 ,固然後續WebView要是也能自動升級就行了,這個還得等... 小程序

What version of Chrome is it based on?

The WebView shipped with Android 4.4 (KitKat) is based on the same code as Chrome for Android version 30. The WebView does not have full feature parity with Chrome for Android and is currently given the version number 30.0.0.0. 設計模式

Will the new WebView auto-update?

Evergreen browsers (like Chrome and Firefox) auto-update and keep their users up to date so they can view the web through a modern feature set. As a developer, this ensures your choices aren’t limited to a lowest-common denominator browser from years ago, but rather are keeping pace with the modern web. Your apps inside a WebView are just as important and deserve a runtime that keeps users up to date. There are large engineering and logistical challenges. We're not quite there yet, but we're working on it. 瀏覽器

 

固然咱們的項目是不能等的,咱們最終採用頁面的方式實施,再也不考慮WebView的路線,固然也不用折騰學習Android的Native開發了,早些年我還挺喜歡搗鼓各類新技術,但如今感受不少狀況是浪費精力,從早期的MFC和Qt,到Swing和SWT,到Flex和Silverlight,GUI的技術發展除了設計模式從MVC到MVP到MVVM有所創新外,組件的設計和使用的路線這些年大同小異,不一樣的平臺都要去學習他們的各類千奇百怪的API接口,都要從頭至尾學一套如何layout佈局,若是使用button和menu小組件,再到tree和table這些大組件,已經沒有什麼新鮮玩意兒。

 

這地球上如今就沒幾家還在好好設計GUI組件的了,你看看Swing已經被sun廢了,Oracle搞的JavaFx仍是有點動靜但也就他們自娛自樂的那個小圈子內,有興趣你能夠關組這裏http://fxexperience.com/,Flash跨平臺還不錯,但Flex儼然是Adobe的雞肋,他們考工具和FlashVM的遊戲生態鏈活着,而Flex這個不帶來直接價值的企業應用圈子彷佛一直不是Adobe看中的,一個樹表AdvancedDataGrid從Flex3折騰到Flex4依然像玩具同樣的低效,我還看到Flex3實現者在blog上,嘲笑Flex4對AdvancedDataGrid的從新實現的團隊設計上的不滿,Silverlight和WPF就不用多費我口舌了,除了C#語言仍是不錯有創新外,SL和WPF整得那套MVVM我估計大部分用了多年SL和WPF的程序員也沒幾個能搞得明白Dependency Properties去獨立設計一個本身的小控件,MVVM被實現得如此難用也實屬罕見。 

因此我如今感受本身也挺懶了,再也不像之前每一個新技術一出現就要立刻搞一堆書啃,Android的Native開發我一直沒去好好學,iOS方面卻是對XCode的設計器的可視化挺感興趣,因此幾年前嚐嚐鮮研究過一陣,但如今我搞些小工具我仍是用古老的Cocoa來開發,我感受Cocoa的binding和可視化的功能雖然一二十年沒變過,但也足以完勝現在的不少GUI框架,大部分狀況我就基於HTML5的組件來用了,我有時候會用Node-WebKitHT組件的方式來實現Native的小工具。

現在調試Android也很是方便了,看看Remote Debugging Chrome on Android 如今直接用PC就能夠實時調試真機,最重要的是你的眼睛能夠盯着PC屏幕就行,選中操做和inspect element這些操做都接在PC屏幕上搞定,對我來講我最舒服的就是在用不用痛苦的手工在手機上輸入URL了,直接在PC上輸入便可。

至於WebGL的調試,其實和Native的OpenGL調試同樣,一直多年來都是世界難題,畢竟GPU多核的並不是工做是很難採用傳統線程或者GUI這種單線程的方式那麼容易Debug,這點上瀏覽器最近也是有很多改進WebGL Debugging and Profiling Tools,固然我不是WebGL專家我在HT再封裝了WebGL基礎上採用面對對象的方式操做JS,因此這種文章我也就過過眼癮罷了



 

最近項目快結束了,局方領導竟然看我很爽,說我這大半年每天熬夜在現場,做爲獎勵把本用於上線實施的Nexus 7送給了我,咱們商務大爲羨慕我這小程序員竟然能得打局方的賞賜,這大半年一直奔波於昌平和市區之間,北京的同窗必定知道我有多痛苦,這個鳥都不來的昌平天天加班回家只能作黑地,之前在上地晚上沒遇上班車也得作黑地,但至少還能看到如百度大廈之類的IT人士也都和咱們之前點着燈在加班,而在昌平是一片的漆黑,只有被拆遷的村民留下了的快倒塌的房子,每次路過我總在想若是有一間是個人政府陪我幾套房這輩子也就解放了,如今我就不這麼想了,天天抱着平板下班前先下載下離線的36kr和iFanr的文章,雖然如今搞to B,但也關注者移動互聯網的發展,哥也不是高富帥,再也不想之前在昌平線和13號線的閱讀USA Today和NYTimes文章裝逼給妹子看,哥就是程序員,哥玩的就是程序,哥沒房有Pad,就在地鐵上好好學習。


相關文章
相關標籤/搜索