朱文杰
內(nèi)容摘要:經(jīng)過近幾十年的發(fā)展,人們已經(jīng)從互聯(lián)網(wǎng)轉(zhuǎn)向移動(dòng)互聯(lián)網(wǎng),在應(yīng)用開發(fā)和用戶使用的主要矛盾已經(jīng)由過去的正常開發(fā)應(yīng)用變成現(xiàn)在的開發(fā)優(yōu)質(zhì)應(yīng)用,用戶也已經(jīng)從過去的有應(yīng)用可以使用轉(zhuǎn)變?yōu)樘暨x使用簡便免安裝且體驗(yàn)良好的優(yōu)質(zhì)應(yīng)用。為了縮短開發(fā)周期、降低開發(fā)成本、減少開發(fā)人員重復(fù)開發(fā)應(yīng)用,本文主要分析開發(fā)應(yīng)用企業(yè)使用共用APP內(nèi)核使用原生開發(fā)方式開發(fā)應(yīng)用同操作系統(tǒng)之間形成的關(guān)系,最終得出通過非原生類Web、非原生Web來開發(fā)共享APP內(nèi)核是共享APP的最佳實(shí)現(xiàn)方式。
關(guān)鍵詞:共享經(jīng)濟(jì)? 共享APP? Web? APP
一、共享APP產(chǎn)生的起因
經(jīng)過幾十年的發(fā)展,互聯(lián)網(wǎng)技術(shù)逐漸成熟,互聯(lián)網(wǎng)產(chǎn)品和用戶之間的關(guān)系也由過去的供不應(yīng)求轉(zhuǎn)變到現(xiàn)在的功過于求。
站在程序開發(fā)者的角度來說,過去主要解決的問題是如何通過使用現(xiàn)有技術(shù)開發(fā)應(yīng)用層和其他層來來完成對(duì)應(yīng)互聯(lián)網(wǎng)產(chǎn)品(即手機(jī)應(yīng)用APP、網(wǎng)站W(wǎng)eb應(yīng)用等),而現(xiàn)在主要解決的問題是如何通過使用應(yīng)用層現(xiàn)有技術(shù)高效率來實(shí)現(xiàn)制作低成本、高效率、維護(hù)簡單、精簡化的、高質(zhì)量的互聯(lián)網(wǎng)產(chǎn)品的目的。
從用戶的角度考慮,在互聯(lián)網(wǎng)軟件應(yīng)用十分匱乏的功能機(jī)時(shí)代,手機(jī)的定位僅僅是一個(gè)通訊工具,過去人們對(duì)通訊工具主要要求是通信能力強(qiáng);在智能機(jī)時(shí)代,尤其是經(jīng)過10多年的發(fā)展,手機(jī)的定位已經(jīng)由原來的通訊工具轉(zhuǎn)變?yōu)閵蕵饭ぞ?、生活工具、拍照工具等其他方向,過去用戶對(duì)手機(jī)應(yīng)用的關(guān)注點(diǎn)是能通過手機(jī)應(yīng)用來完成對(duì)應(yīng)的業(yè)務(wù)即可,而現(xiàn)在用戶更多關(guān)注的是手機(jī)應(yīng)用體驗(yàn)以及手機(jī)應(yīng)用內(nèi)存大小以及減少注冊(cè)操作、
站在國產(chǎn)操作系統(tǒng)開發(fā)者角度,過去是要解決完成開發(fā)國產(chǎn)操作系統(tǒng)的技術(shù)問題,而現(xiàn)在則是如何推廣國產(chǎn)操作系統(tǒng)。比如為了降低開發(fā)難度,facebook力推H5的web應(yīng)用替換原生開發(fā),柚子北京科技有限公司、數(shù)字天堂(北京)網(wǎng)絡(luò)技術(shù)有限公司、北京起步科技股份有限公司等公司則是推出通過構(gòu)建widget來借助瀏覽器內(nèi)核實(shí)現(xiàn)瀏覽的Hybrid APP,騰訊則是借助自家微信推出小程序;為了解決重復(fù)注冊(cè)的問題,小米推出小米賬號(hào),騰訊推出公眾號(hào),阿里等其他互聯(lián)網(wǎng)公司則是通過實(shí)現(xiàn)自己產(chǎn)品賬號(hào)共享的方式來實(shí)現(xiàn)。
二、企業(yè)在原生APP和共享APP下開發(fā)同操作系統(tǒng)關(guān)系對(duì)比
(一)原生方式下操作系統(tǒng)和應(yīng)用開發(fā)企業(yè)關(guān)系
開發(fā)企業(yè)如果開發(fā)款一款產(chǎn)品,在開發(fā)階段需要開發(fā)1個(gè)IOS客戶端、1個(gè)Android客戶端、1個(gè)YunOS客戶端等多個(gè)應(yīng)用;在測(cè)試階段需要對(duì)不同平臺(tái)軟件應(yīng)用進(jìn)行分別測(cè)試,此時(shí)測(cè)試產(chǎn)品的數(shù)量等于操作系統(tǒng)平臺(tái)數(shù)量*不同版本數(shù)量*2;在維護(hù)和二次開發(fā)方面也需要同時(shí)維護(hù)
操作系統(tǒng)平臺(tái)數(shù)量*不同版本數(shù)量*2個(gè)應(yīng)用。通過原生方式開發(fā)應(yīng)用無論是在開發(fā)階段還是測(cè)試以及維護(hù)階段,都需要根據(jù)不同操作系統(tǒng)標(biāo)準(zhǔn)分別開發(fā),這樣極大增加了開發(fā)人員的重復(fù)開發(fā)負(fù)擔(dān),程序存在的意義就是降低重復(fù)勞動(dòng),這種跨平臺(tái)分別開發(fā)方式違背程序本身提高效率的基本原則。
(二)共享APP下開發(fā)操作系統(tǒng)和應(yīng)用開發(fā)企業(yè)關(guān)系
開發(fā)應(yīng)用企業(yè)通過共享APP平臺(tái)開發(fā)一款應(yīng)用,在開發(fā)階段,只需要使用開發(fā)1個(gè)同版本的應(yīng)用,就可以在Apple系統(tǒng)、Android系統(tǒng)、YunOS等所有不同操作系統(tǒng)同時(shí)訪問;在測(cè)試階段和后期維護(hù)階段以及二次開發(fā)階段,也只需要針對(duì)一款產(chǎn)品做測(cè)試、維護(hù)、二次開發(fā),這種架構(gòu)相對(duì)于開發(fā)應(yīng)用企業(yè)而言,開發(fā)和運(yùn)營成本大概是原生開發(fā)的1/N*V(其中N代表不同操作系統(tǒng)數(shù)量,V代表應(yīng)用版本號(hào)),這樣就省去了開發(fā)人員需要適應(yīng)不同的平臺(tái)標(biāo)準(zhǔn)開發(fā)、測(cè)試、維護(hù),極大降低了開發(fā)難度和開發(fā)周期以及節(jié)省了開發(fā)成本,減少開發(fā)過程的不可控性,使企業(yè)將更多精力提升企業(yè)服務(wù)上,增加創(chuàng)業(yè)成功率。
三、半原生方式開發(fā)分析
(一)半原生方式細(xì)分
半原生方式開發(fā)分為兩種。第一種是共享APP內(nèi)核通過使用Java和C以及C#原生語言開發(fā),開發(fā)企業(yè)使用非原生類web(web子集)方式開發(fā),數(shù)據(jù)交互通過JSApi或者JSBridge接口方式調(diào)用。第二種是共享APP內(nèi)核通過使用Java和C以及C#原生語言開發(fā),開發(fā)企業(yè)使用非原生web方式按照CS架構(gòu)來開發(fā),雙方數(shù)據(jù)通過http/https方式使用后臺(tái)語言套用模版調(diào)用。前者技術(shù)實(shí)現(xiàn)難度大于后者,后者加載速度低于前者。
(二)非原生類web具體實(shí)現(xiàn)方式
半原生類web方式實(shí)現(xiàn)移動(dòng)應(yīng)用具體原理是通過Android/IOS基于webkit網(wǎng)頁渲染引擎WebView組件來實(shí)現(xiàn)客戶端訪問遠(yuǎn)程或者本地的Web服務(wù)器。該方式實(shí)現(xiàn)設(shè)計(jì)初衷是繼承20多年互聯(lián)網(wǎng)技術(shù)積累,降低開發(fā)企業(yè)開發(fā)人員的學(xué)習(xí)成本。
使用非原生web方式開發(fā)共享APP,可以看作是開發(fā)企業(yè)在一個(gè)簡易、不顯示網(wǎng)址、且內(nèi)核是帶有許多調(diào)用Native接口的手機(jī)瀏覽器上進(jìn)行開發(fā)。非原生web這種方式開發(fā),開發(fā)企業(yè)也不需要根據(jù)不同的操作系統(tǒng)的不同標(biāo)準(zhǔn)來分別適配,直接使用現(xiàn)有成熟的Web網(wǎng)站開發(fā)技術(shù),不需要開發(fā)企業(yè)的開發(fā)人員重新適應(yīng)其他標(biāo)準(zhǔn)。具體實(shí)現(xiàn)方式為共享APP內(nèi)核抽象為一個(gè)瀏覽器內(nèi)核加上一些調(diào)用本地設(shè)備信息的原生操作函數(shù)方法。
四、結(jié)論
三種開發(fā)方式各自性能對(duì)比如下表。
原生方式開發(fā)成本最大,用戶體驗(yàn)最好。在圖像渲染性能上是最快的,在原生界面上體驗(yàn)效果也是最好的,發(fā)布流程也是比較繁瑣,本機(jī)設(shè)備訪問上也是全部支持的,網(wǎng)絡(luò)要求可以支持離線,在開封周期最長、開發(fā)成本最大、測(cè)試任務(wù)最多、二次開發(fā)最繁瑣;
非原生類Web在圖像渲染方式為混合,界面方式為模仿原生,發(fā)布形式為Web和AppStore均可,也可以通過調(diào)用共享APP內(nèi)核對(duì)應(yīng)接口來實(shí)現(xiàn)訪問本機(jī)設(shè)備,也依賴網(wǎng)絡(luò),開發(fā)成本、以及開發(fā)周期等介于原生和非原生web之間;
非原生web方式開發(fā),是通過HTML、Canvas、CSS方式來實(shí)現(xiàn)圖像渲染,性能最低,發(fā)布方式通過Web方式發(fā)布,本機(jī)設(shè)備也可以通過調(diào)用對(duì)應(yīng)的接口來實(shí)現(xiàn),依舊依賴網(wǎng)絡(luò),開發(fā)周期最短,開發(fā)成本最低。
站在開發(fā)企業(yè)角度綜合以上分析,如果應(yīng)用側(cè)重于展示交流,則采用非原生web方式實(shí)現(xiàn),如果應(yīng)用側(cè)重性能和效率以及預(yù)算足夠就采用原生開發(fā),如果企業(yè)既想性能好又要成本低、效率快,那么就選擇非原生類web方式開發(fā)。
站在共享APP平臺(tái)角度,開發(fā)非原生類web和非原生web方式對(duì)應(yīng)的客戶端功能,側(cè)重拓展非原生類web和非原生web方式開發(fā)的應(yīng)用場(chǎng)景以及用戶。共享APP內(nèi)核最佳組成是非原生類web和非原生web組合客戶端。
參考文獻(xiàn):
[1].張孝榮俞點(diǎn) 共享經(jīng)濟(jì)在我國發(fā)展的趨勢(shì)研究.新疆師范大學(xué)學(xué)報(bào):哲學(xué)社會(huì)科學(xué)版,2017
[2].楊偉.HTML5-APP手機(jī)網(wǎng)站開發(fā)技巧的應(yīng)用[J].現(xiàn)代職業(yè)育,2017(26):177.
[3]李曉薇.網(wǎng)站制作下的Web前端開發(fā)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2018(06)
[4]張雪紅.淺談Html5的特性及其發(fā)展趨勢(shì)[J].中國信息化,2018(01):70-72.
[5]程序.基于DIV+CSS布局技術(shù)的網(wǎng)頁設(shè)計(jì)實(shí)現(xiàn)與優(yōu)化[J].信息記錄材料,2018,19(05):75-76.