移動(dòng)端應(yīng)用程序前端開(kāi)發(fā)框架研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著數(shù)字技術(shù)的快速發(fā)展,越來(lái)越多的公司建立了自己的電子商務(wù)平臺(tái),以期在不受地域限制的情況下吸收更多的全球客戶。與傳統(tǒng)零售銷售的穩(wěn)定數(shù)字相比,電子商務(wù)的規(guī)模呈現(xiàn)爆發(fā)式的增長(zhǎng),研究顯示了一個(gè)可以想象的未來(lái),即到2021年,電子商務(wù)的總銷售額占比將達(dá)到72.9%。因此,在電子商務(wù)激烈的全球競(jìng)爭(zhēng)中,建立合適的移動(dòng)商務(wù)解決方案十分必要。
然而,一個(gè)問(wèn)題的出現(xiàn)總是會(huì)帶來(lái)接二連三的相關(guān)問(wèn)題。移動(dòng)設(shè)備有多種類型,包括iPhone操作系統(tǒng))ios)、Android、黑莓等,每個(gè)移動(dòng)平臺(tái)都提供不同的開(kāi)發(fā)環(huán)境來(lái)構(gòu)建移動(dòng)項(xiàng)目,開(kāi)發(fā)人員需要在不同的平臺(tái)中保持相同的移動(dòng)應(yīng)用程序的一致性,因此跨平臺(tái)開(kāi)發(fā)工具能大大降低開(kāi)發(fā)移動(dòng)應(yīng)用程序的成本。我們將研究不同的移動(dòng)開(kāi)發(fā)平臺(tái),收集必要的信息,并以行業(yè)標(biāo)準(zhǔn)評(píng)估適用解決方案。
1原生開(kāi)發(fā)
目前主流的移動(dòng)開(kāi)發(fā)平臺(tái)主要有三個(gè),一個(gè)是蘋果的ios系統(tǒng),一個(gè)是谷歌開(kāi)源的安卓系統(tǒng),另外一個(gè)是黑莓系統(tǒng)。如果開(kāi)發(fā)團(tuán)隊(duì)希望在主要的移動(dòng)平臺(tái)中構(gòu)建原生的應(yīng)用程序,他們需要在不同的官方開(kāi)發(fā)環(huán)境中各自開(kāi)發(fā)。雖然三大移動(dòng)平臺(tái)都支持C++,并且有許多接近的開(kāi)發(fā)流程,但在每個(gè)軟件開(kāi)發(fā)工具包)sDK)中都有許多獨(dú)特的工具或特性,如ios平臺(tái)的ARKit和安卓平臺(tái)的ARCore,盡管這兩個(gè)開(kāi)發(fā)工具均為AR增強(qiáng)現(xiàn)實(shí)的開(kāi)發(fā)包,但二者有完全不一樣的特性和開(kāi)發(fā)方法,而這些差異導(dǎo)致開(kāi)發(fā)人員不能簡(jiǎn)單地將代碼移植到另一個(gè)平臺(tái)。由于平臺(tái)的標(biāo)準(zhǔn)不同,簡(jiǎn)單的促銷功能都需要開(kāi)發(fā)人員在不同平臺(tái)的前端構(gòu)建三次代碼。因此,針對(duì)不同系統(tǒng)的本機(jī)應(yīng)用程序開(kāi)發(fā)將帶來(lái)不便和更高的成本。
2HTML5開(kāi)發(fā)
考慮到開(kāi)發(fā)成本,很多公司開(kāi)始尋找更好的解決方案,讓開(kāi)發(fā)工作更有效率。事實(shí)上,由于近年來(lái)HTML的快速發(fā)展,HTML5包含了更強(qiáng)大的功能,如豐富的UI組件和響應(yīng)式開(kāi)發(fā),所有現(xiàn)代移動(dòng)設(shè)備都支持HTML5,兼容性強(qiáng)大,沒(méi)有任何系統(tǒng)限制[2]。因此,基于HTML5的應(yīng)用程序被列為潛在的跨平臺(tái)解決方案。
為了開(kāi)發(fā)基于HTML5的應(yīng)用程序,開(kāi)發(fā)團(tuán)隊(duì)需要考慮如何使web應(yīng)用程序看起來(lái)像本機(jī)原生應(yīng)用程序。毫無(wú)疑問(wèn),桌面網(wǎng)站和移動(dòng)應(yīng)用程序最大的區(qū)別在于交互方式,即"點(diǎn)擊"
和"觸摸"。在HTML5中,高級(jí)Javascript支持將桌面"點(diǎn)擊"操作轉(zhuǎn)換為移動(dòng)"觸摸"平臺(tái)[3]。
雖然HTML5在大多數(shù)交互方面可以盡可能地模擬本機(jī)應(yīng)用程序,但由于移動(dòng)系統(tǒng)制造商的政策,web應(yīng)用程序不能被授予對(duì)應(yīng)用程序編程接口)API)的完全訪問(wèn)權(quán),這是一個(gè)明顯的缺陷。研究顯示,盡管web應(yīng)用程序允許訪問(wèn)一些關(guān)鍵API,如攝像頭、麥克風(fēng)、地理位置、付款等基礎(chǔ)功能,但一些高級(jí)功能,如AR/VR、傳感器、藍(lán)牙訪問(wèn)權(quán)等等,web應(yīng)用程序仍無(wú)法獲得。簡(jiǎn)而言之,web應(yīng)用程序不能滿足需要應(yīng)用移動(dòng)端高級(jí)API的需求。因此,如果一個(gè)移動(dòng)商務(wù)需要應(yīng)用程序共享消費(fèi)者的聯(lián)系或者增強(qiáng)現(xiàn)實(shí)的功能,以便增強(qiáng)消費(fèi)者的互動(dòng)性和社交性,web應(yīng)用程序就不適合開(kāi)發(fā)此類應(yīng)用程序。
3混合開(kāi)發(fā)
如果一個(gè)開(kāi)發(fā)環(huán)境可以結(jié)合HMTL5中的兼容性以及沒(méi)有API訪問(wèn)障礙的本地應(yīng)用程序語(yǔ)言,其將是一個(gè)合適的應(yīng)用程序開(kāi)發(fā)解決方案。實(shí)際上,當(dāng)今有許多混合應(yīng)用程序出現(xiàn),其中AdobePhoneGap就是一個(gè)混合體移動(dòng)應(yīng)用程序開(kāi)發(fā)框架和組合,用于構(gòu)建應(yīng)用程序的本機(jī)和混合代碼[4]。
混合應(yīng)用程序依然是基于web前端技術(shù),如HTML、Css和Java腳本,PhoneGap正是使用HTML5進(jìn)行頁(yè)面的展示和渲染。然而,之前的研究已經(jīng)表明web平臺(tái)對(duì)訪問(wèn)移動(dòng)設(shè)備的API有限制。因此,PhoneGap采用了一個(gè)巧妙的方法解決這個(gè)問(wèn)題,它使用本地應(yīng)用程序語(yǔ)言開(kāi)發(fā)不同的插件以訪問(wèn)大多數(shù)移動(dòng)設(shè)備API,包括聯(lián)系人、網(wǎng)絡(luò)、指南針、AR功能等,那么web應(yīng)用程序使用PhoneGap的插件和混合應(yīng)用程序?qū)⒂蒆TML形式呈現(xiàn)。這個(gè)工作原理讓混合應(yīng)用與HTML5得以兼容且?guī)缀跄芡耆@得授權(quán)訪問(wèn)本機(jī)移動(dòng)API[5]。但由于能使用這些移動(dòng)API的前提是PhoneGap已經(jīng)開(kāi)發(fā)出了對(duì)應(yīng)的插件,所以一旦開(kāi)發(fā)者需要訪問(wèn)移動(dòng)平臺(tái)最新推出的API,而PhoneGap還沒(méi)有研發(fā)出對(duì)應(yīng)的插件,就會(huì)造成應(yīng)用程序開(kāi)發(fā)的滯后性。
4結(jié)語(yǔ)
雖然混合應(yīng)用程序平衡了本機(jī)和web應(yīng)用程序之間的利弊,選擇開(kāi)發(fā)解決方案仍然取決于許多不同的情況。如果應(yīng)用程序只需要簡(jiǎn)單的內(nèi)容顯示功能,因?yàn)榛旌匣虮緳C(jī)開(kāi)發(fā)成本比純web高得多,所以這類簡(jiǎn)單應(yīng)用更適合采用web應(yīng)用程序。與web應(yīng)用程序相比,本機(jī)開(kāi)發(fā)需要更全面的技術(shù)和成本方面的考慮。如果公司擁有多平臺(tái)的專業(yè)開(kāi)發(fā)人員和充裕的資本,應(yīng)該考慮原生開(kāi)發(fā),因?yàn)樗麄儸F(xiàn)有的團(tuán)隊(duì)技術(shù)實(shí)力允許采用本地開(kāi)發(fā)方法。另一個(gè)需要采用原生開(kāi)發(fā)的需求是應(yīng)用程序需要高質(zhì)量的用戶界面實(shí)時(shí)響應(yīng),而當(dāng)前的HTML5技術(shù)不足以滿足用戶的需求,例如聊天或游戲應(yīng)用,而混合開(kāi)發(fā)也不一定能滿足實(shí)時(shí)響應(yīng)的游戲需求,唯有原生開(kāi)發(fā)才可以完美地滿足這類型需求。
簡(jiǎn)而言之,移動(dòng)商務(wù)應(yīng)用程序應(yīng)該具有最大限度滿足消費(fèi)者多樣化需求的特點(diǎn)?;旌祥_(kāi)發(fā)將web應(yīng)用程序與本機(jī)開(kāi)發(fā)的優(yōu)點(diǎn)結(jié)合起來(lái),從而具備了足夠的兼容性。而HTML5技術(shù)近年來(lái)不斷發(fā)展。不管是哪個(gè)移動(dòng)平臺(tái),HTML5都會(huì)在未來(lái)占據(jù)移動(dòng)設(shè)備的重要位置。
本文提供了三種不同的開(kāi)發(fā)應(yīng)用程序的本地方案,目前,移動(dòng)商務(wù)開(kāi)發(fā)需在成本、平臺(tái)差異化、開(kāi)發(fā)周期和開(kāi)發(fā)環(huán)境等方面取得一個(gè)平衡。另外還列出了開(kāi)發(fā)的其他兩種解決方案,包括web應(yīng)用程序和混合應(yīng)用程序。通過(guò)分析比較可以得出這樣的結(jié)論:web方法不適合開(kāi)發(fā)需要大量訪問(wèn)不同API的移動(dòng)程序:而混合開(kāi)發(fā)方法可以將原生開(kāi)發(fā)和web應(yīng)用程序結(jié)合,是移動(dòng)商務(wù)的合適解決方案。PhoneGap是混合構(gòu)建應(yīng)用程序的開(kāi)發(fā)環(huán)境,使用HTML5渲染引擎,帶有PhoneGap插件訪問(wèn)移動(dòng)API,PhoneGap的工作原理允許其訪問(wèn)大部分的移動(dòng)API。未來(lái)的研究將更多地討論混合開(kāi)發(fā)方法的利弊,分析它們的工作原理和測(cè)試運(yùn)行機(jī)制優(yōu)化的可能性,借此研究未來(lái)開(kāi)發(fā)移動(dòng)應(yīng)用程序的發(fā)展趨勢(shì)。





