趙文艷 唐山市職業教育中心
本文所討論的正是通過中間件的技術支撐,通過Web對移動端的應用進行開發,并能在不同平臺穩定運行。隨著互聯網技術的發展,人們把更多的精力都用在了移動端應用的研發上,到底使用什么技術來對應用進行開發是一個必須要思考的問題。就本文而言,我們選用了Web技術,因此我們應該先對Hybrid App進行理解。Web App是通過訪問瀏覽器,下載全部的Web App而交互。近些年隨著HTML5的崛起,其表現能力提升了很多,同時緩存功能的加入促成了Web App的存在性。但需要指出的是,Web App必須在瀏覽器中運行,所以對網速非常依賴,這就造成客戶對其的體驗感不夠,這些問題都有待于進一步解決。相比于成本,大企業一般更在乎應用的性能,所以一般會選擇Native App,也就是原生應用的開發。這種類型的App需要對各種系統平臺進行開發,才能在最大程度上保持對客戶的覆蓋,但這種方式確實會大大提高成本預算。在這種背景下,Hybrid App就成為了大部分公司所選擇的技術方案。本文對Hybrid App的實現原理進行了簡述。
當前,發展的速度決定了應用開發的成本和效率都需要有更好的控制。HTML5因為具有成本低和效率高的特點,可以使應用中間件技術的Hybrid App得到廣泛關注。想要開發Hybrid App模式,我們需要先弄清Native層和Web層的功能分別是什么。前者主要用來提供宿主而后者則可根據實際需要完成業務功能。二者的交互則是使用JS法相互調用。此外,我們還需要注意兩個問題,一個是如何儲存資源,一個是如何避免白屏。文本和文件的儲存都可以通過HTML5實現,但有時會有一些延時的情況出現。使用HTML5,會因為其性能的原因帶來出現白屏的可能性,這一般可以通過預加載的方法來解決。預加載是在用戶使用移動設備的空閑期出現已經加載完的頁面,這樣就能使渲染預先完成,當用戶進行點擊的時候,預加載畫面直接顯示,從而去除了渲染的時間,這樣就可以避免發生白屏的情況。
對GMF運動應用進行可以適用于包括ios和Android各種終端產品的設計,使其實現各種實用功能,包括定位、緩存、支付等等。這款產品在各方面比較完備,因此對Native的要求很高,對終端設備的性能也有一定的要求。如前文所述,可以使用Hybrid App的中間件技術來實現這個產品,因為這樣可以更好地控制成本和開發時間。Web技術可以實現使用同一套代碼,這既能解決各種不同終端設備的匹配問題,也可以縮短產品開發的周期。根據各種中間件優劣性的對比,最后選擇了HTML5對其進行開發。首先,在加載文檔的時候,需要以一定的順序進行加載。其次,需要確定界面的加載方式和如何構建架構。在基于Web技術的App中,界面的加載和架構的搭建是非常重要的兩項工作。開發者得使用HTML5對API進行封裝,以實現Webview界面的加載,進而提升其性能。至于搭建頁面的問題,我們可以根據上下拉刷新或者文件目錄結構兩種方式來進行構建。通常情況下,應用界面的首頁都會有導航欄,這可以使用div切換進行構建,其速度也會同時提高。具體到GMF運動應用,其首頁可以包括導航欄和頁頭,詳細內容可按導航欄菜單來建立與其對應的子窗口。至于刷新頁,基本都是用DIV技術模擬出下拉后回彈的效果。再次就是嵌入第三方的SDK。大部分的SDK都集成在API中,在API封裝完畢之后,只要將其根據適當流程調用即可。最后就是打包分發和優化。對于打包和分發的問題,可以在manifest.JSon中將全部信息填好,然后對Appid、啟動圖標、加載模塊等進行配置,就可以將其一鍵上傳到云端服務器,然后即可打包。打包結束后,就可以得到一個安裝包,可根據需要將其上傳到Apple Store等各個平臺的分發渠道來完成分發。HTML5在體驗方面一直都存在一些問題,在ios系統中的表現還能相對較好,但在Android系統中,尤其是在一些低端設備中,則有卡頓等情況的出現。因此還需要對其進行一定程度的優化,使用戶擁有更好的體驗。
綜上所述,簡單分析了以Web相關技術進行的Hybrid移動端應用的中間件技術,以HTML5作為架構開發應用的細節,使GMF運動應用得以實現。這種開發可以降低成本,但其也不可避免的有一些局限性。雖然如此,但是對于大多數開發者來說,如果他們想占領市場,那么使用這種中間件技術的Hydrid還是一個非常不錯的選擇。我們也有理由相信隨著Web相關技術的不斷優化,這樣的應用和產品必然會有更加廣闊的未來。