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