APP江湖地位尚難動(dòng)搖,API助APP開發(fā)者乘風(fēng)破浪
在這樣一個(gè)前物聯(lián)網(wǎng)時(shí)代,各種智能設(shè)備已經(jīng)逐漸浮現(xiàn),隨之而來的是移動(dòng)端設(shè)備飛速成長。移動(dòng)端的數(shù)據(jù)量已經(jīng)到達(dá)70%以上,而我們每天也會(huì)花費(fèi)數(shù)個(gè)小時(shí)通過手機(jī)來獲取外界信息。這就涉及到各種手機(jī)客戶端、APP,那么站在開發(fā)者角度,我們又該怎樣解讀當(dāng)下市場(chǎng)APP開發(fā)面臨的諸多問題呢?APICloud聯(lián)合創(chuàng)始人兼CTO鄒達(dá)在2017物聯(lián)網(wǎng)開發(fā)者大會(huì)上接受了《電子產(chǎn)品世界》編輯專訪,就這些困擾諸多開發(fā)者的問題給出了精彩的分析和解答。
本文引用地址:http://www.ex-cimer.com/article/201712/373093.htm微信小程序并不能取代APP
微信小程序作為移動(dòng)端的新生代小鮮肉,當(dāng)微信小程序剛出現(xiàn)的那一刻,很多人應(yīng)該和小編有過同樣的質(zhì)疑:APP是否會(huì)因此而走向沒落呢?就現(xiàn)在看來,并沒有!究其根本原因還在于兩者在作用和價(jià)值上有著本質(zhì)的不同。
如果一個(gè)企業(yè)在做移動(dòng)端產(chǎn)品方面有相應(yīng)的投入,其完全可以同時(shí)做三款產(chǎn)品——H5、微信和APP。但是這三款不同的終端產(chǎn)品的作用和價(jià)值是不同的。
H5作用是引流和宣傳。H5雖然實(shí)現(xiàn)起來簡(jiǎn)單,但是其功能有限,體驗(yàn)不好,其主要起到引流和宣傳的作用。我們每天會(huì)花費(fèi)幾個(gè)小時(shí)到手機(jī)上,很少打開H5網(wǎng)頁瀏覽器瀏覽網(wǎng)頁,而H5網(wǎng)站意義是引流和宣傳的作用,使用戶雖然不知道產(chǎn)品具體功用,但是至少聽說過,有印象。
微信的作用是導(dǎo)流、宣傳和通知的作用。企業(yè)在微信中實(shí)現(xiàn)的主要是宣傳和咨詢,核心產(chǎn)品都還是在APP中,微信公眾號(hào)的目的是導(dǎo)流作用,通過微信公眾號(hào)可以知道去哪個(gè)APP中完成更多產(chǎn)品購買或查找。例如騰訊新聞,當(dāng)閱讀到一半的時(shí)候會(huì)提示你下載騰訊APP閱讀更多新聞;在航空公司訂完票,會(huì)在該公司APP中通知訂票的相關(guān)信息。
APP則代表所有的經(jīng)營和業(yè)務(wù)。隨著移動(dòng)端流量占比越來越大,企業(yè)做移動(dòng)端的最終目的是將整個(gè)企業(yè)的經(jīng)營核業(yè)務(wù)放到移動(dòng)端,因而APP是必須要做的,也是無可取代的。
API開發(fā)APP的優(yōu)勢(shì)
當(dāng)下APP開發(fā)動(dòng)輒數(shù)千行代碼,還有安卓、IOS兩套操作系統(tǒng),這給開發(fā)人員帶來了極大的困擾。這時(shí)就不得不提到API了。
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。API一個(gè)很強(qiáng)悍的功能是復(fù)用功能,例如做一個(gè)智能家居的應(yīng)用,智能家居應(yīng)用里面有一些最常用的API,例如,圖標(biāo)、圖表等功能模塊都可以復(fù)用,而不用再從零開始敲代碼,這就極大地簡(jiǎn)化了開發(fā)人員的難度和工作量。
移動(dòng)端與云端的任務(wù)分工
APICloud是一個(gè)移動(dòng)應(yīng)用開發(fā)平臺(tái),鄒達(dá)先生介紹稱,“我們覺得所有的功能、服務(wù)和數(shù)據(jù)都應(yīng)該以API的形式提供出來,而由于APP代表著業(yè)務(wù),在現(xiàn)階段,這些功能、數(shù)據(jù)和服務(wù)更應(yīng)該以APP的方式去落地?!币蚨?,APICloud的API分為兩種——端API和云API。端API是用來實(shí)現(xiàn)APP中的各種功能,例如UI界面、二維碼掃描、藍(lán)牙連接等。云API用來實(shí)現(xiàn)應(yīng)用運(yùn)行過程中一些服務(wù),例如:分析、版本管理、推送等。
現(xiàn)在端API中很多核心功能也是放在云端的。隨著物聯(lián)網(wǎng)時(shí)代的興起,萬物互聯(lián),現(xiàn)在的移動(dòng)終端中手機(jī)的性能還是很好的,而很多其他智能設(shè)備,例如冰箱、空調(diào)等,其處理能力并不需要那么強(qiáng),UI界面也不需要很炫酷,其更多的需要是展示功能。而對(duì)硬件設(shè)備的控制和通信,這些功能還是要通過云端的API實(shí)現(xiàn)。
而就移動(dòng)端與云端的任務(wù)分工,鄒達(dá)先生稱,“我們認(rèn)為所有的功能和界面在移動(dòng)端完成,數(shù)據(jù)和服務(wù)是放在云端完成的?!?/p>
一套代碼,兩個(gè)版本
APICloud核心團(tuán)隊(duì)曾經(jīng)都是做瀏覽器的,而瀏覽器有一個(gè)特點(diǎn)是:不論是在安卓系統(tǒng),還是蘋果系統(tǒng)中,其在訪問同一個(gè)頁面的時(shí)候,實(shí)際上訪問的網(wǎng)頁是相同的,隨后通過瀏覽器來解析。APICloud的引擎是在瀏覽器引擎的基礎(chǔ)上做了很多擴(kuò)展,所以用APICloud平臺(tái)開發(fā)APP只需要寫一份H5代碼,就可以實(shí)現(xiàn)同時(shí)支持安卓和IOS兩個(gè)系統(tǒng)版本。
談到為何要做這樣一個(gè)APP開發(fā)平臺(tái)時(shí),鄒達(dá)先生表示,一個(gè)新的工具出現(xiàn)就是希望可以解決老的問題,而我們這個(gè)平臺(tái)想要解決的老的問題就是跨平臺(tái)開發(fā)的問題,這就是我們做這個(gè)平臺(tái)最原始的初衷?,F(xiàn)在我們這個(gè)平臺(tái)有了這個(gè)基礎(chǔ)之后,更多地強(qiáng)調(diào)API,API更多地是把一些生態(tài)中的功能實(shí)現(xiàn)復(fù)用,這些API可以是我們開發(fā)的,也可以是其他廠商或個(gè)人開發(fā)者開發(fā)的。開發(fā)者不僅可以跨平臺(tái),還可以復(fù)用很多的API快速進(jìn)行開發(fā)。
建立APP開發(fā)者生態(tài)的基本要素
在當(dāng)下物聯(lián)網(wǎng)時(shí)代,由于同一件產(chǎn)品,參與廠商眾多,因而,生態(tài)問題成了各類產(chǎn)品及產(chǎn)業(yè)鏈不可忽視的問題。如果想要做好一個(gè)生態(tài),就需要具備四個(gè)基本條件:
1)在整個(gè)生態(tài)中有明確分工。例如在APICloud平臺(tái)中,有開發(fā)應(yīng)用的廠商、有提供API的廠商,有第三方服務(wù)廠商,有個(gè)人開發(fā)者,當(dāng)然也有需求方。只有先確保分工是非常清楚的,才能確定究竟需要幾方加入這樣的生態(tài);
2)需要構(gòu)建自己的生態(tài)產(chǎn)品。有分工明確的生態(tài),然后要將其細(xì)分,例如其中包含10個(gè)不同的角色,那么這10個(gè)不同的角色如何才能勁往一處使,這就需要有一個(gè)生態(tài)產(chǎn)品,在一個(gè)共同的生態(tài)產(chǎn)品上一起做事;
3)要能實(shí)現(xiàn)共贏。只有能夠?qū)崿F(xiàn)共贏,才能讓大家一起繼續(xù)在生態(tài)中持續(xù)成長和不斷發(fā)展;
4)需要有互聯(lián)網(wǎng)基因。目標(biāo)不是小的利益和眼前的問題,而是愿意去把生態(tài)做起來。
APICloud是一個(gè)比較注重生態(tài)的平臺(tái),其用戶大部分也是開發(fā)者,所做的也是生態(tài)產(chǎn)品。鄒達(dá)先生介紹稱,在APICloud平臺(tái)上我們有應(yīng)用的開發(fā)人員,有提供API的服務(wù)廠商(例如高德地圖、科大訊飛會(huì)將API按照標(biāo)準(zhǔn)版提供給我們),也有APP需求方,各方相互合作,才能得到打造更好的生態(tài),實(shí)現(xiàn)持續(xù)成長和發(fā)展。
四步避免APP開發(fā)漏洞
開發(fā)者在開發(fā)過程中可能會(huì)有一些漏洞,會(huì)有被其他開發(fā)者趁機(jī)注入惡意代碼/功能的風(fēng)險(xiǎn),這時(shí)就需要一個(gè)完整的開發(fā)系統(tǒng)保證它的安全機(jī)制。
APICloud作為一個(gè)開發(fā)平臺(tái),通過四個(gè)方面保證其APP的安全性:
1)代碼的安全。APICloud支持對(duì)HTML,CSS,JS代碼進(jìn)行全包加密,經(jīng)過加密后的代碼,使用任何代碼編輯工具都無法正常識(shí)別,顯示為不可閱讀的亂碼,可以有效保護(hù)源碼的安全;
2)數(shù)據(jù)傳輸?shù)陌踩?。很多運(yùn)行過程中的數(shù)據(jù),例如醫(yī)療數(shù)據(jù)、用戶個(gè)人信息數(shù)據(jù)等必須要保密。如手環(huán),收集到數(shù)據(jù)后會(huì)傳輸?shù)皆贫?,這就涉及到雙方通信的安全,APICloud通過HTTPS傳輸加密或自定義加密算法來保證數(shù)據(jù)在傳輸過程中的安全性;
3)本地存儲(chǔ)的安全。一個(gè)應(yīng)用在運(yùn)行過程中會(huì)產(chǎn)生很多的數(shù)據(jù)需要存儲(chǔ)在本地?cái)?shù)據(jù)庫,APICloud通過支持對(duì)本地?cái)?shù)據(jù)庫數(shù)據(jù)加密存儲(chǔ)的方式保障本地存儲(chǔ)的安全;
4)權(quán)限的安全。支持控制應(yīng)用允許訪問設(shè)備中的API范圍,比如:只允許本地代碼訪問,或者允許某個(gè)域,多個(gè)域的訪問,只允許應(yīng)用訪問某一個(gè)服務(wù)器等。
開發(fā)者開發(fā)門檻低
開發(fā)者只要有標(biāo)準(zhǔn)的外部開發(fā)(包括HTML、CSS、JS等)能力就可以運(yùn)用APICloud進(jìn)行APP開發(fā)。APICloud平臺(tái)是在JS的基礎(chǔ)上擴(kuò)展了600多個(gè)模塊,1萬多個(gè)API,這1萬多個(gè)API都是之前標(biāo)準(zhǔn)H5所沒有的,同時(shí)又是現(xiàn)在開發(fā)APP一定會(huì)用到的功能。例如藍(lán)牙連接、WiFi通訊接口、地圖導(dǎo)航等功能,這些功能使用和標(biāo)準(zhǔn)API的使用是一樣的。因而,一個(gè)開發(fā)者只要具備基本的外部開發(fā)技能,了解基本的HTML、CSS、JS語法就能夠輕易上手。
國內(nèi)企業(yè)更青睞定制化服務(wù)
中國人喜歡定制,國內(nèi)企業(yè)也是如此,因而有“中國式定制”一詞。APICloud在2016年就發(fā)布了一款“模板store”的產(chǎn)品,這款產(chǎn)品主要是針對(duì)有很多開發(fā)人員或創(chuàng)業(yè)公司因?yàn)檫\(yùn)營不當(dāng)做不下去了,但是整個(gè)系統(tǒng)做得很好,包括APP、管理后臺(tái)及服務(wù)器,產(chǎn)品所有者可以將其放到APICloud 的“模板store”中,成為一個(gè)模板,用戶可以以租的方式來用。例如你需要一個(gè)外賣平臺(tái),可以從“模板store”99塊錢買一個(gè)模板,買完之后可以試用,生成APP、管理后臺(tái)等,如果體驗(yàn)良好,一年交1~2萬元的租金,將數(shù)據(jù)錄入,就可以長期租用。而其實(shí)到目前為止,我們也只賣出20多套,而做私人定制,我們一個(gè)月可以做30多個(gè)定制項(xiàng)目。由此可見,國內(nèi)的企業(yè)更喜歡定制產(chǎn)品。
APICloud平臺(tái)中所有的API和模塊都與業(yè)務(wù)無關(guān),是純功能性的。例如,你想做一個(gè)裝修,我們提供的只是地板、瓷磚和家居,用戶自己組裝。鄒達(dá)先生表示,以我們四年的經(jīng)驗(yàn)來看,中國企業(yè)對(duì)定制化要求很高,我們通過功能復(fù)用,降低開發(fā)成本,提升開發(fā)效率,但是最終還是要用戶自己定制。
智能設(shè)備的APP統(tǒng)一任重道遠(yuǎn)
小米、華為都有自己的APP,而用戶需要卻是一個(gè)統(tǒng)一的平臺(tái),這也是當(dāng)下智能設(shè)備應(yīng)用普及的一大阻礙。
所有這些物聯(lián)網(wǎng)應(yīng)用設(shè)備最核心的功能主要包括兩塊:通信功能和控制功能。通訊方面,像小米、華為,他們所有的智能設(shè)備與其云端是長鏈接的,會(huì)不停的將數(shù)據(jù)報(bào)給各自的云端。這就導(dǎo)致本身的通訊接口及接口規(guī)范的不同;控制方面,控制一個(gè)硬件設(shè)備啟動(dòng),是給其碼值,例如“01”代表開機(jī),“10”代表關(guān)機(jī),不同的廠商這些碼值也不同。
因而,現(xiàn)在還無法做到平臺(tái)統(tǒng)一,未來很長一段時(shí)間也很難實(shí)現(xiàn)統(tǒng)一。
云端接口及API不同,終端控制指令不同,這是現(xiàn)在要實(shí)現(xiàn)平臺(tái)統(tǒng)一面臨的問題。而如果要做這件事情,通過API的方式來實(shí)現(xiàn)反而是合理的,因?yàn)锳PI可以實(shí)現(xiàn)多功能復(fù)用,簡(jiǎn)化開發(fā);同時(shí)還可以實(shí)現(xiàn)轉(zhuǎn)換,例如小米和華為的API不同,可以通過API做一個(gè)中間層實(shí)現(xiàn)轉(zhuǎn)換。
小結(jié)
隨著物聯(lián)網(wǎng)時(shí)代不斷發(fā)展,智能化、云存儲(chǔ)的不斷深入,開發(fā)者如何開發(fā)出一款更適合企業(yè)應(yīng)用,用戶體驗(yàn)更好的APP的重要性逐漸凸顯,正如鄒總所分析,APP代表企業(yè)移動(dòng)端所有的經(jīng)營和業(yè)務(wù)。而利用API開發(fā)你的APP顯然省時(shí)省力,也更能滿足時(shí)代所需。
評(píng)論