999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智能終端跨平臺應用開發技術研究*

2012-02-19 07:26:18朱培軍李慧云文錦軍
電信科學 2012年5期
關鍵詞:跨平臺引擎環境

陸 鋼,朱培軍,李慧云,文錦軍

(1.中國電信股份有限公司廣東研究院 廣州510630;2.中國電信股份有限公司廣東分公司 廣州510081)

1 前言

據權威機構預測,全球已經進入了移動互聯網發展周期的早期階段,未來幾年內,通過移動裝置接入互聯網的用戶很有可能超過通過桌面個人電腦接入互聯網的用戶,移動互聯網的發展速度將快于傳統互聯網,其創造的利益也會遠遠超過傳統互聯網。面對這一巨大市場,各大產業巨頭紛紛構建了移動互聯網生態鏈,以蘋果為代表的AppStore成功創造了移動互聯網應用商業模式,激發了廣大開發者的智能終端應用創作熱情。

智能終端應用形態主要分為Web應用和本地應用兩類,Web應用是指運行在瀏覽器上的應用形態,本地應用是指直接運行在操作系統之上的應用形態。Web應用采用網頁語言開發,具有開發簡單、跨平臺適配等優點,而本地應用一般采用Java、C等語言開發,具有開發能力強、交互性好、效率高等優點。同時這兩種應用形態也不斷融合,從而出現了Widget此類應用形態,可采用網頁語言開發,同時具備本地應用的使用形式,并且可以跨平臺運行。現階段智能終端應用形態以本地應用為主,但是Web應用和Widget應用隨著HTML5語言的出現以及智能終端多平臺的發展也展現出良好的發展勢頭。

智能終端應用開發技術作為移動互聯網產業鏈上的關鍵環節,其關鍵技術的突破對于整個產業鏈健康快速發展具有重要意義。目前,智能終端應用開發技術基本都是針對具體操作系統平臺提供針對性的開發語言和工具進行開發,開發者開發完成一款終端應用后,需要花費大量的時間和精力進行跨平臺的移植工作,導致應用開發周期長、開發門檻高的問題。因此有必要提供一種可以跨平臺的開發技術,能夠保證開發者基于某種開發語言或開發工具,一次性編寫代碼即可生成可以運行在多種類型終端平臺上的應用程序,盡量減少針對不同的終端平臺進行的二次開發和適配工作。

2 主流跨平臺開發技術現狀

目前主流的跨終端平臺開發技術按照其實現方式大致可以分為跨平臺運行引擎和跨平臺應用編譯兩種方式:跨平臺運行引擎技術一般需要在目標設備上安裝一個引擎,用于屏蔽終端底層操作系統差異,開發者開發應用部署或編譯打包后,用戶下載到目標設備上由引擎解釋執行;跨平臺應用編譯通常采用一種標準開發語言開發應用,應用開發完成后由代碼編譯器針對不同目標終端平臺分別進行編譯,生成有針對性的可執行程序。

從支持的開發語言來看,可以分為應用開發語言和網頁開發語言:開發者可以采用應用開發語言 (如Java、Delphi等)開發應用,應用可以運行在引擎或操作系統上;或者開發者可以采用網頁開發語言 (如HTML、CSS、JavaScript)開發應用,應用可以運行在Widget引擎或操作系統上。這兩類語言的代表如下。

(1)應用開發語言

此類開發方式最常見的是Java,基于Java虛擬機(Java virtual machine,JVM)實現跨平臺開發。JVM是一個虛構出來的終端中間件環境,是通過在實際的終端中間件環境上仿真模擬各種計算機功能來實現的。Java虛擬機有自己完善的硬件架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。JVM屏蔽了與具體操作系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。Java虛擬機在執行字節碼時,實際上最終還是把字節碼解釋成具體平臺上的機器指令執行。

目前還有一些開發工具采用傳統編程語言如Delphi進行開發,代碼編譯生成多平臺下的可執行程序,這種開發方式保留了傳統編程語言的語言能力,同時也保證了可執行程序的運行效率,為開發者提供了一種較優的跨平臺開發選擇。

(2)網頁開發語言

開發者可以采用HTML、CSS和JavaScript語言開發Web應用,由瀏覽器實現跨平臺的適配性。由于瀏覽器調用終端系統API能力較弱,因此出現了Widget引擎的跨平臺實現方式,利用JavaScript語言封裝終端系統API能力,向開發者提供統一接口。但是Web應用和Widget應用都受制于網頁開發語言的限制,因此在展現效果和調用能力上都存在一定的缺陷,目前下一代網頁開發語言HTML5有希望彌補這一缺陷,縮小Web應用/Widget應用和本地應用的差距。

跨平臺應用編譯目前常見的實現方式是各類Web應用開發工具,開發者采用Web語言編寫代碼,由Web應用開發工具為不同智能手機操作系統平臺分別編譯生成針對具體平臺的應用程序,比如目前常見的PhoneGap、Titanium開發平臺。具體到PhoneGap來看,PhoneGap是一個基于HTML、CSS和JavaScript的,創建移動跨平臺移動應用程序的快速開發工具。其采用W3C標準,使用JavaScript語言封裝終端系統API,使開發者能夠調用主流智能手機的核心功能,包括地理定位、加速器、聯系人、聲音和振動等。這類開發方式無需依賴終端側引擎,編譯后的應用程序直接運行在終端操作系統上,與本地應用在形式和使用方式上沒有任何區別,但是其開發能力同樣受制于網頁開發語言的限制,目前PhoneGap也已經支持HTML5標準。

比較以上兩類開發語言,網頁開發語言存在能力受限(大代碼量、復雜圖形和動畫支持)、解釋執行效率較低的問題,應用開發語言存在支持的平臺數量少、適配性差的問題。隨著HTML5標準的出現,網頁開發語言在多媒體、3D圖形、終端能力調用等方面的能力大大提升,并且其開發門檻低,越來越受到移動互聯網開發者的青睞,因此以下將主要圍繞網頁開發語言構想下一代跨平臺開發工具。

3 下一代跨平臺開發構想

分析目前業界的跨平臺應用開發現狀,其實現方式多樣,各有優缺點,無法完全滿足開發者多樣化跨平臺開發需求。考慮到終端應用形態的多樣性,希望構想一種網頁開發語言的融合多態的跨平臺開發工具,既可以支持跨平臺運行引擎也可以支持跨平臺編譯的方式,具體來說,下一代跨平臺開發工具有以下特點。

(1)統一的跨平臺開發語言

開發者希望能夠通過統一的標準開發語言(HTML、CSS、JavaScript)來進行不同平臺下的應用開發,從而減少代碼的重復編寫,免去不同語言的學習熟悉過程。

(2)統一的跨平臺系統API編程接口

不同智能操作系統的API封裝形式不同,傳統開發者在跨平臺移植過程必須重新學習新平臺的API編程指南,重寫API相關程序代碼,增加了跨平臺應用移植的時間。因此跨平臺開發的開發者希望能夠使用通用標準API(JavaScript封裝)開發應用,無需重新適配不同平臺API。

(3)統一的跨平臺開發環境

跨平臺開發者希望能夠基于一個自己熟悉的開發環境進行開發,無需針對不同平臺重新下載、安裝全新的開發環境,無需重新學習不同開發環境的使用方式和操作流程。

(4)豐富的代碼框架和工具庫

跨平臺開發者希望可以參考或直接使用已經在多平臺下驗證過的代碼框架和工具庫,增加界面的標準性和美觀性,減少重復的開發量,縮短應用開發的時間。

(5)自動化的跨平臺測試和仿真環境

跨平臺開發者希望能夠采用編寫測試腳本,針對已經完成調試的應用程序進行跨平臺的自動化測試,輸出測試結果,驗證應用在跨平臺終端上運行的功能完備性、界面適配性和系統可靠性,可以仿真不同平臺的終端環境,便捷地調試應用程序,減少應用調試的時間和成本。

(6)跨平臺的打包編譯工具

開發者利用網頁開發語言開發的代碼可以本地/遠程打包生成引擎解釋執行的應用包,也可以本地/遠程編譯生成多平臺下的安裝包。

(7)支持不同終端生態環境

可以支持Android、iOS、Windows Phone、瀏覽器、Widget運行引擎等主流操作系統、運行環境和分辨率,開發者一次開發可以運行在以上生態環境中。

4 下一代跨平臺開發環境實現方案

依據以上跨平臺開發構想搭建一套融合多態的跨平臺開發環境,可以融合目前跨平臺運行引擎和跨平臺應用編譯的優點,由開發者選擇合適的開發工具基于Web語言開發。考慮到以上需求,設計集成開發環境可以包括遠程開發環境和本地開發環境兩部分,功能架構如圖1所示。

本地開發環境包括以下功能模塊。

(1)基礎開發構件

開發者安裝和配置好開發環境后,可直接在集成的基礎開發構件中編寫應用代碼,至少應包括以下幾個區。

·工程顯示區:顯示所有打開的工程、工程目錄和工程中的文件。

·代碼編輯區:支持多個代碼文檔的編輯。

·調試信息顯示區。

·代碼文檔大綱/概要顯示區。

(2)可視化代碼框架

為開發者提供UI設計工具,提供常用的頁面控件,如列表、文本輸入框、靜態文本、單選框、復選框、組合框、翻頁按鈕、按鈕等,并可以將UI控件與控件對應的背景色、圖片、風格關聯起來。例如,新生成一個Widget應用時,SCE提供應用啟動時的事件、應用獲取焦點時的事件、應用退出時的事件等代碼框架。對一個按鈕對象,提供按鈕按下時的事件等。

(3)API插件庫

離線開發環境為開發者提供ECMA Script、Ajax、Dom、Widget API以及多平臺的插件參考庫,開發者可隨時查詢API和調用方法。同時,在編輯代碼時,代碼編輯器可根據用戶輸入實時提示用戶可調用的API方法,如用戶輸入類名時,代碼編輯器可提示用戶下一步可輸入openUrl、setPreferenceForKey、onFocus等。

(4)調試工具

對代碼中的語法錯誤進行及時提示,以顯著顏色或提示符告知用戶。開發者可在代碼中設置斷點,對代碼進行單步調測,以精確定位代碼錯誤位置和錯誤原因。

(5)離線測試工具

為開發者提供離線效果查看功能,可借助模擬器查看應用的運行效果。

(6)編譯打包工具

完成應用開發后,開發者可根據需要通過離線開發環境提供的工具打包生成Widget應用(采用跨平臺引擎運行方式),或者編譯生成本地應用(采用跨平臺編譯方式)。

(7)終端模板庫

包括智能終端類型,如智能手機、平板電腦等;終端型號;屏幕分辨率,如240×400等。終端設備的選擇決定了應用可調用的本地設備能力集、使用方式(鍵盤操作還是觸摸屏)、可顯示的區域(屏幕大小)。

遠程開發環境包括以下功能模塊。

(1)基礎開發構件管理

對開發者下載的基礎開發構件進行管理,維護其下載、升級操作。

(2)插件/框架

對開發者下載的插件和框架進行管理,維護其下載、升級操作。

(3)在線開發工具

為開發者提供一種基于瀏覽器的開發方式,開發者通過簡單拖拽可以生成內容類應用。

(4)在線打包編譯工具

為開發者提供一種遠程在線打包編譯的方式,開發者在應用開發時可以無需關心設備類型和型號,完成開發后將代碼工程上傳到遠程開發環境后,選擇相應設備類型和型號再進行編譯打包。

(5)真機測試環境

為開發者搭建的一套可以分時復用的真機池,開發者可以遠程選擇相應型號的設備進行真機測試。

(6)終端模板庫管理

對平臺可以支持的終端模板進行管理和更新。

5 發展展望

回顧傳統PC、服務器操作系統的發展歷程,跨平臺開發是開發者追求的終極目標,跨平臺開發技術作為產業鏈發展過程中的關鍵一環,始終是開發技術研究的熱點和難點。同樣隨著智能終端平臺的發展,目前已經基本形成了幾個主要陣營,舊操作系統版本更新和新操作系統進入是智能終端平臺不變的主題,智能終端跨平臺開發技術還處于起步階段,對其進行深入研究符合產業發展要求,也是國內軟件業可能占據的一個技術高點。

本文中提到的基于Web語言的下一代跨平臺開發工具雖然在圖形適配、運行效率、在線編譯等方面還存在一些技術難點,需要業界力量進一步研究,但是其構想是一種有益的探索。在跨平臺開發技術上降低開發者門檻和開發能力及效率是互相制約的兩個方面,需要在其中找一個平衡點,保證跨平臺開發技術能夠接近操作系統原生態開發能力并減少對開發者的要求。

在當前移動互聯網產業結構下,人人都是開發者,都可以基于其奇思妙想構建應用,應用開發技術不應該成為廣大草根開發者進入這一領域的障礙,為此類人群提供以上構想的跨平臺開發工具,將成為移動互聯網應用開發的助推器。隨著軟件技術的發展,特別在HTML5技術出現后,網頁類應用語言能力逐步提升,將成為跨平臺應用開發的主力,廣大開發人群青睞的網頁類應用開發工具將成為移動互聯網應用開發產業鏈中不可或缺的一個環節,擁有良好的發展前景。

猜你喜歡
跨平臺引擎環境
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
孕期遠離容易致畸的環境
環境
跨平臺APEX接口組件的設計與實現
測控技術(2018年9期)2018-11-25 07:44:58
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于QT的跨平臺輸電鐵塔監控終端軟件設計與實現
基于OPC跨平臺通信的電機監測與診斷系統
基于B/S的跨平臺用戶界面可配置算法研究
主站蜘蛛池模板: 999国内精品久久免费视频| 国产九九精品视频| 中文字幕久久亚洲一区| 亚洲福利一区二区三区| 澳门av无码| 欧美高清视频一区二区三区| 伊在人亚洲香蕉精品播放| 亚洲欧美不卡| 亚洲第一精品福利| 蝴蝶伊人久久中文娱乐网| 久久99热66这里只有精品一| 亚洲人成网站在线播放2019| 成人国产精品网站在线看 | 国产亚洲欧美日韩在线一区二区三区| 1024你懂的国产精品| 亚洲综合中文字幕国产精品欧美| 巨熟乳波霸若妻中文观看免费| 91青青在线视频| 欧美综合区自拍亚洲综合天堂| 欧美激情视频一区二区三区免费| 成人毛片免费在线观看| 亚洲综合激情另类专区| 国产呦精品一区二区三区网站| 国产无人区一区二区三区| 欧美精品另类| 免费精品一区二区h| 热九九精品| 69综合网| 啪啪啪亚洲无码| 亚洲人成人无码www| 免费人欧美成又黄又爽的视频| 波多野结衣中文字幕一区| 国产精品香蕉| 日韩精品无码免费一区二区三区| 国产网站免费| 久久黄色免费电影| 69av在线| 精品乱码久久久久久久| 国产午夜不卡| 久久精品丝袜高跟鞋| 一区二区三区国产精品视频| 91精品情国产情侣高潮对白蜜| 久久精品无码中文字幕| 不卡午夜视频| 2020国产精品视频| 日本在线视频免费| 激情综合图区| 久久国产av麻豆| 亚洲三级a| 中文字幕无线码一区| 免费人成在线观看视频色| 日本高清免费一本在线观看| 久无码久无码av无码| 国产一区二区影院| 久草视频一区| 偷拍久久网| 99久久亚洲综合精品TS| 国产欧美日韩视频怡春院| 大陆国产精品视频| 亚洲日韩精品综合在线一区二区| 韩国福利一区| 日韩黄色大片免费看| 欧美a在线视频| 精品乱码久久久久久久| 国产91丝袜在线播放动漫| 亚洲av成人无码网站在线观看| 色天天综合| 国产91精选在线观看| 亚洲人成色在线观看| 久久99国产视频| 亚洲香蕉伊综合在人在线| 国语少妇高潮| 91www在线观看| 国产对白刺激真实精品91| 毛片在线区| 99热这里只有精品国产99| 国产精品片在线观看手机版 | 婷婷伊人久久| 欧美一区福利| 欧美亚洲欧美| 中文字幕在线看| 成人福利在线视频免费观看|