軟件開(kāi)發(fā)
- 首頁(yè) >> 電子技術(shù) >> 軟件開(kāi)發(fā)
HTML5跨平臺(tái)開(kāi)發(fā)
基于HTML5的跨平臺(tái)移動(dòng)APP開(kāi)發(fā)研究
隨著移動(dòng)網(wǎng)絡(luò)開(kāi)發(fā)技術(shù)的不斷發(fā)展,智能手機(jī)的速度越來(lái)越快,功能越來(lái)越多,涌現(xiàn)了大量的APP應(yīng)用。然而,目前移動(dòng)網(wǎng)絡(luò)開(kāi)發(fā)仍以原生APP開(kāi)發(fā)為主,同一應(yīng)用需要針對(duì)不同的智能手機(jī)系統(tǒng)開(kāi)發(fā)不同的原生APP應(yīng)用。例如,目前比較流行的保衛(wèi)蘿卜游戲,若想在傳統(tǒng)臺(tái)式計(jì)算機(jī)上玩,需要下載和安裝PC版的游戲安裝包;若想在iPhone上玩,需要下載和安裝iPhone版的游戲APP安裝包;若想在安卓手機(jī)上玩,需要下載和安裝安卓版的游戲APP安裝包。這就需要游戲開(kāi)發(fā)者針對(duì)不同的平臺(tái)分別開(kāi)發(fā)相應(yīng)的客戶(hù)端,不但增加了開(kāi)發(fā)難度,維護(hù)成本也比較高。因此,適時(shí)進(jìn)行基于HTML5的跨平臺(tái)移動(dòng)APP開(kāi)發(fā)研究具有一定的現(xiàn)實(shí)意義。
一、HTML5及跨平臺(tái)的概念
所謂HTML5,是指第五代HTML標(biāo)準(zhǔn),簡(jiǎn)稱(chēng)H5,也可以理解為HTML標(biāo)準(zhǔn)的第五個(gè)版本,廣義上的H5一般包括HTML、CSS3和JAVAScript等,目前大部分瀏覽器均支持HTML5。
所謂跨平臺(tái),即指編寫(xiě)一次代碼,可以運(yùn)行在多個(gè)系統(tǒng)平臺(tái)之上,不必再根據(jù)不同的平臺(tái)開(kāi)發(fā)相應(yīng)的客戶(hù)端,且可以在多個(gè)平臺(tái)下開(kāi)發(fā)和維護(hù),目前很多語(yǔ)言實(shí)現(xiàn)了跨平臺(tái),例如JAVA、Delhi、Python和HTML5等。
二、利用HTML5開(kāi)發(fā)擴(kuò)平臺(tái)移動(dòng)APP的優(yōu)勢(shì)
(1)跨平臺(tái):原生APP開(kāi)發(fā)模式下,開(kāi)發(fā)者需要針對(duì)不同的系統(tǒng)平臺(tái)分別開(kāi)發(fā)相應(yīng)的APP客戶(hù)端,例如,iOS系統(tǒng)平臺(tái)下需要用OC或者Swift等開(kāi)發(fā)iOSAPP客戶(hù)端,安卓系統(tǒng)平臺(tái)下需要用JAVA或者Kotlin等開(kāi)發(fā)安卓APP客戶(hù)端。而HTML5具有跨平臺(tái)優(yōu)勢(shì),能夠擺脫系統(tǒng)平臺(tái)的限制,擁有較好的跨品臺(tái)特性。
(2)語(yǔ)義特性:HTML5具有語(yǔ)義清晰的優(yōu)勢(shì),它賦予了移動(dòng)APP具有更好的意義和結(jié)構(gòu),使得代碼更清晰,更容易被維護(hù)人員或者其他開(kāi)發(fā)者維護(hù)和閱讀。
(3)本地存儲(chǔ):HTML5具有存儲(chǔ)優(yōu)勢(shì),通常將緩存數(shù)據(jù)存儲(chǔ)到本地,比cookie更優(yōu)秀,具有更快的性能,且不需要第三方插件就能夠?qū)⒂脩?hù)信息和緩存數(shù)據(jù)存儲(chǔ)到本地,即使退出后也能夠保存到本地,當(dāng)用戶(hù)再次使用時(shí)能夠加載上一次運(yùn)行時(shí)的狀態(tài)。
(4)開(kāi)放的數(shù)據(jù)交換:HTML5能夠很方便的實(shí)現(xiàn)與其他APP應(yīng)用交換數(shù)據(jù),例如用戶(hù)在基于HTML5的購(gòu)物APP上查看了某種商品,其瀏覽數(shù)據(jù)會(huì)緩存在手機(jī)上,如果該購(gòu)物APP允許其他應(yīng)用查看這一部分緩存數(shù)據(jù),那么其他APP應(yīng)用就會(huì)很容易得到并使用這些數(shù)據(jù),比如其他新聞APP應(yīng)用可以通過(guò)這種方式獲取開(kāi)放的數(shù)據(jù),有針對(duì)性的投放廣告。
(5)多媒體功能較強(qiáng):HTML5不需要第三方插件就能支持更多的媒體,不僅具有很好地視頻和音頻支持,還具有很好地3D支持,使得基于HTML5的跨品臺(tái)移動(dòng)APP的界面更絢麗多彩。
(6)安全性較高:HTML5相對(duì)于Flash和Cookie等具有更高的安全性,采用沙箱機(jī)制、過(guò)濾措施和安全策略等手段提高了安全性,從而保證了基于HTML5的跨平臺(tái)移動(dòng)APP的安全性。
(7)API豐富HTML5新增了大量的API,方便開(kāi)發(fā)者簡(jiǎn)單調(diào)用就可以實(shí)現(xiàn)較復(fù)雜的功能,境地了開(kāi)發(fā)難度,提高了開(kāi)發(fā)效率。
三、基于HTML5的跨平臺(tái)移動(dòng)APP的開(kāi)發(fā)策略
3.1跨平臺(tái)移動(dòng)APP開(kāi)發(fā)范圍的選擇
不是所有移動(dòng)APP都適合利用HTML5來(lái)進(jìn)行開(kāi)發(fā),具體主要體現(xiàn)為以下幾點(diǎn):①原生APP性能毋庸置疑是最快的,在相同功能條件下基于HTML5的跨平臺(tái)移動(dòng)APP的運(yùn)行速度肯定沒(méi)有原生APP快,因此對(duì)速度要求比較高的移動(dòng)APP不適合用HTML5來(lái)進(jìn)行開(kāi)發(fā)。②HTML5開(kāi)發(fā)的移動(dòng)APP雖然具有跨平臺(tái)的優(yōu)勢(shì),且具有本地存儲(chǔ)和開(kāi)發(fā)的數(shù)據(jù)交換優(yōu)勢(shì),但重要的數(shù)據(jù)容易泄露給其他移動(dòng)APP,容易導(dǎo)致重要數(shù)據(jù)被惡意移動(dòng)APP竊取,因此含有重要數(shù)據(jù)信息的單機(jī)版的移動(dòng)APP不適合用HTML5來(lái)進(jìn)行開(kāi)發(fā)。③基于HTML5的跨平臺(tái)移動(dòng)APP開(kāi)發(fā)適合具有服務(wù)器的應(yīng)用場(chǎng)景,即重要的數(shù)據(jù)存儲(chǔ)在Web服務(wù)器上,用HTML5開(kāi)發(fā)的跨平臺(tái)移動(dòng)APP客戶(hù)端僅查詢(xún)和接收數(shù)據(jù),只是將不重要的數(shù)據(jù)緩存至本地,與其他APP進(jìn)行開(kāi)放數(shù)據(jù)交換。目前大多數(shù)移動(dòng)應(yīng)用都是此類(lèi)應(yīng)用,因此利用HTML5開(kāi)發(fā)跨平臺(tái)移動(dòng)APP具有很大的用武之地。
3.2跨平臺(tái)移動(dòng)APP開(kāi)發(fā)工具的選擇
利用HTML5開(kāi)發(fā)跨平臺(tái)移動(dòng)APP的工具很多,如PhoneGap、WeX5和Hbuilder等等,具體介紹如下:①Phone-Gap出現(xiàn)最早,能夠利用HTML5快速實(shí)現(xiàn)跨平臺(tái)移動(dòng)APP,且具有非常強(qiáng)大的跨平臺(tái)優(yōu)勢(shì),能夠夸蘋(píng)果、安卓、WinPhone和黑莓手機(jī)等等平臺(tái),但性能稍差,且調(diào)試難度較大。②WeX5是較優(yōu)秀的國(guó)產(chǎn)移動(dòng)APP開(kāi)發(fā)工具,是基于PhoneGap開(kāi)發(fā)的,同樣能夠利用HTML5快速開(kāi)發(fā)跨平臺(tái)移動(dòng)APP,但其性能體驗(yàn)不佳,用戶(hù)量較小,含有不穩(wěn)定因素,且缺少第三方SDK支持。③Hbuilder是國(guó)內(nèi)的數(shù)字天堂推出的移動(dòng)APP開(kāi)發(fā)工具,主要由JAVA編寫(xiě),部分用到了C和Ruby等編程語(yǔ)言,具有完整詳細(xì)的語(yǔ)法提示和快速開(kāi)發(fā)模板,能夠大幅提升跨平臺(tái)移動(dòng)APP的開(kāi)發(fā)效率。
3.3跨平臺(tái)移動(dòng)APP技術(shù)構(gòu)架的選擇
基于HTML5的跨平臺(tái)移動(dòng)APP開(kāi)發(fā)技術(shù)構(gòu)架主要包括以下兩個(gè):
(1)以Web技術(shù)為主的混合構(gòu)架,該構(gòu)架以原生Web容器為基礎(chǔ),將用HTML5編寫(xiě)的Web應(yīng)用打包至原生Web容器上,從而形成以Web技術(shù)為主的混合式構(gòu)架。該構(gòu)架能夠充分利用原有的Web代碼,具有降低開(kāi)發(fā)難度和減少維護(hù)成本的優(yōu)勢(shì)。
(2)以原生為主的混合構(gòu)架,該構(gòu)架以原生技術(shù)為主,移動(dòng)APP功能主要通過(guò)原生技術(shù)實(shí)現(xiàn),僅界面使用HTML5來(lái)實(shí)現(xiàn)。該構(gòu)架能夠充分發(fā)揮原生技術(shù)的性能,具有性能優(yōu)勢(shì),但實(shí)現(xiàn)難度相對(duì)較大。
3.4跨平臺(tái)移動(dòng)APP開(kāi)發(fā)的前景展望
綜上所述,利用HTML5開(kāi)發(fā)擴(kuò)平臺(tái)移動(dòng)APP具有很大的優(yōu)勢(shì),在商業(yè)上能夠提高跨平臺(tái)開(kāi)發(fā)的效率、降低開(kāi)發(fā)的成本,技術(shù)上HTML5在短短幾年已經(jīng)改變了移動(dòng)互聯(lián)網(wǎng)的格局,很大程度上縮小了原生APP的應(yīng)用范圍。
總結(jié)
文章進(jìn)行了基于HTML5的跨平臺(tái)移動(dòng)APP開(kāi)發(fā)的研究,介紹了HTML5和跨平臺(tái)的概念,闡述了利用HTML5開(kāi)發(fā)擴(kuò)平臺(tái)移動(dòng)APP的優(yōu)勢(shì),提出了基于HTML5的跨平臺(tái)移動(dòng)APP的開(kāi)發(fā)策略。經(jīng)過(guò)較長(zhǎng)時(shí)間的開(kāi)發(fā)實(shí)踐,發(fā)現(xiàn)利用該策略能夠有效地利用HTML5實(shí)現(xiàn)跨平臺(tái)移動(dòng)APP開(kāi)發(fā),不僅使得開(kāi)發(fā)難度得到降低,還大大較少了維護(hù)成本,具有一定的參考價(jià)值。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的基于HTML5的跨平臺(tái)移動(dòng)APP開(kāi)發(fā)技術(shù)。如果您有智能電子產(chǎn)品的軟硬件功能開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、藍(lán)牙IC與模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙wifi開(kāi)發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
- 返回頂部