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