物聯(lian)網(wang)對移(yi)動(dong)(dong)應用程序(xu)的(de)開(kai)發(fa)格局影(ying)響非常多。那么,物聯(lian)網(wang)影(ying)響移(yi)動(dong)(dong)應用程序(xu)開(kai)發(fa)的(de)方式有哪些(xie)?物聯(lian)網(wang)開(kai)發(fa)移(yi)動(dong)(dong)應用程序(xu)有什么不一樣呢?
物聯(lian)網與移(yi)動應(ying)用程序(xu)開(kai)發(fa)齊頭(tou)并進,改(gai)變(bian)了(le)人類與機(ji)器(qi)的(de)互動方式,甚至(zhi)改(gai)變(bian)了(le)機(ji)器(qi)之間(jian)的(de)互動方式——而移(yi)動應(ying)用程序(xu)通常是(shi)使之成(cheng)為可(ke)能的(de)關鍵。
物聯網(wang)市場(chang)的(de)(de)快速增長(chang)沒有(you)(you)絲毫放緩的(de)(de)跡(ji)象。用戶(hu)要求使用智能設(she)備(bei),而公(gong)司(si)正在做出有(you)(you)效響應。與此同(tong)時,許多公(gong)司(si)正在意(yi)識到將現有(you)(you)設(she)備(bei)連網(wang)可能帶來的(de)(de)潛在生(sheng)產力提高。
所有這(zhe)些(xie)增(zeng)長已(yi)經(jing)改變了移動(dong)應用的(de)開(kai)發格(ge)局,并帶來了新的(de)機會,同時也增(zeng)加了組合的(de)復雜性。
那(nei)么,為物聯網開發移動應用又有(you)何不同?
1、連接物聯(lian)網(wang)設備——物聯(lian)網(wang)中的藍牙
在當今高度互(hu)聯(lian)的(de)(de)世界里,人們似乎(hu)很(hen)難相(xiang)信(xin),當移動應(ying)用(yong)程序(xu)首次出現時,移動應(ying)用(yong)開發人員不必太擔心(xin)連接(jie)(jie)(jie)性。例如,幾(ji)年(nian)前您用(yong)來記錄鍛(duan)煉的(de)(de)應(ying)用(yong)程序(xu)實際(ji)上并不需(xu)要(yao)連接(jie)(jie)(jie)互(hu)聯(lian)網,而(er)一切都(dou)取決(jue)于用(yong)戶輸入(ru)和(he)設備本(ben)身發生的(de)(de)交互(hu)。同樣(yang),手機(ji)游戲(xi)(xi)也不需(xu)連接(jie)(jie)(jie)到互(hu)聯(lian)網,除(chu)非是(shi)一個多人游戲(xi)(xi),您需(xu)要(yao)與其他(ta)玩(wan)家連接(jie)(jie)(jie)。
然(ran)而,最終,用(yong)戶要求應用(yong)程序(xu)具有(you)更(geng)先進的功能,比如允許您與配偶合(he)作(zuo)進行預算編制。該應用(yong)程序(xu)必須連接(jie)到互(hu)聯(lian)網(wang),這(zhe)樣用(yong)戶才可以(yi)彼此交互(hu),并且該應用(yong)程序(xu)可以(yi)在不同位置(zhi)之間傳遞信(xin)息。
這種對(dui)網(wang)絡連接的新需(xu)求增加了(le)移動(dong)應(ying)用程(cheng)序(xu)(xu)開(kai)發過程(cheng)的復(fu)雜性,因(yin)為它引入(ru)了(le)應(ying)用程(cheng)序(xu)(xu)可能失敗的更(geng)多潛在領(ling)域。在開(kai)發過程(cheng)中您需(xu)要問更(geng)多問題,例如(ru):用戶(hu)在沒有網(wang)絡訪問的情況下可以執行操作嗎?如(ru)果(guo)不能,他們可以連接網(wang)絡嗎?網(wang)絡慢嗎?這會不會因(yin)為網(wang)速慢而(er)(er)影響用戶(hu)體(ti)驗?如(ru)果(guo)此(ci)操作因(yin)連接不良而(er)(er)失敗,應(ying)用程(cheng)序(xu)(xu)應(ying)該怎么(me)辦?
現(xian)在,藍牙通常是移(yi)動(dong)應(ying)用(yong)(yong)程序連接(jie)物(wu)聯(lian)網(wang)設備的(de)最佳方式。(盡管某些設備一旦通過(guo)藍牙進行(xing)初始配置后,便(bian)會通過(guo)網(wang)絡與移(yi)動(dong)應(ying)用(yong)(yong)程序進行(xing)通信(xin)。)不管怎(zen)樣,藍牙幾乎始終(zhong)是物(wu)聯(lian)網(wang)應(ying)用(yong)(yong)程序中(zhong)的(de)最常見因(yin)素。
就(jiu)像網絡連接一(yi)樣(yang),藍(lan)牙(ya)也給移動開發帶來(lai)(lai)(lai)了更多復(fu)雜性。藍(lan)牙(ya)的核心規范大(da)約有3000頁(ye)長,雖然有軟件庫,但它(ta)們通(tong)常不(bu)(bu)完(wan)整或有缺(que)陷。此(ci)外(wai),藍(lan)牙(ya)在(zai)安(an)全性方面(mian)也帶來(lai)(lai)(lai)了挑戰(zhan)。一(yi)般來(lai)(lai)(lai)說,最好不(bu)(bu)要(yao)(yao)通(tong)過藍(lan)牙(ya)發送(song)敏(min)感(gan)數據,但如果必須(xu)這(zhe)樣(yang)做(zuo),則與藍(lan)牙(ya)設備配(pei)對的用戶(hu)流量就(jiu)是(shi)一(yi)個(ge)重要(yao)(yao)的考慮(lv)因素。有多個(ge)問(wen)題需要(yao)(yao)回答,比如用戶(hu)需要(yao)(yao)輸入密碼嗎(ma)?何時輸入?如果配(pei)對失敗會(hui)怎樣(yang)?
作為產品團隊,這(zhe)(zhe)是(shi)一個必須應對的挑(tiao)戰。隨著物(wu)聯(lian)網(wang)變得越(yue)(yue)來越(yue)(yue)普遍,越(yue)(yue)來越(yue)(yue)多的設備上線,這(zhe)(zhe)是(shi)每個開(kai)發(fa)人員都必須熟悉的事情。
以下是我們(men)發現的一些最佳(jia)實(shi)踐,可以解決藍牙問題(ti):
▲為(wei)用戶提供連(lian)接藍牙的明確說(shuo)明
▲提供藍牙配對失敗時如何(he)嘗試的指(zhi)導
▲在(zai)適(shi)當(dang)情況下使用加密和身份驗證
▲盡可能在初始(shi)連接(jie)后(hou)更改(gai)出廠默認密(mi)碼
▲不活動時斷開(kai)藍牙連接,以降(jiang)低(di)電池消耗
2、物聯(lian)網體驗設計(ji)
物聯網改變(bian)移(yi)(yi)動(dong)開發的(de)(de)另一(yi)種方式是在設(she)(she)計方面(mian)。對于物聯網,移(yi)(yi)動(dong)設(she)(she)計師和(he)(he)開發人(ren)員必(bi)須考(kao)慮用(yong)戶和(he)(he)應(ying)用(yong)程(cheng)序(xu)之間的(de)(de)典型交(jiao)互。他(ta)們(men)必(bi)須考(kao)慮移(yi)(yi)動(dong)應(ying)用(yong)程(cheng)序(xu)、硬件設(she)(she)備以(yi)(yi)及周(zhou)圍環境(jing)或上下文信(xin)息。隨著產品生命(ming)周(zhou)期的(de)(de)推進,團隊將如何做出數據驅(qu)動(dong)的(de)(de)決策?可能需要跨移(yi)(yi)動(dong)應(ying)用(yong)程(cheng)序(xu)和(he)(he)硬件設(she)(she)備跟(gen)蹤用(yong)戶交(jiao)互,以(yi)(yi)形成(cheng)完整的(de)(de)視圖。
我自(zi)己對物(wu)聯網的(de)(de)愿景,也是許多其他(ta)(ta)人(ren)的(de)(de)共同愿景,可(ke)以追(zhui)溯到普適(shi)計(ji)算(suan)的(de)(de)理念——我們可(ke)以使用(yong)(yong)(yong)技術來加(jia)深與(yu)世界和周(zhou)圍人(ren)的(de)(de)互(hu)動(dong)。這意味著移動(dong)應(ying)(ying)用(yong)(yong)(yong)程序(xu)開發應(ying)(ying)逐(zhu)漸變得(現(xian)在已(yi)經)與(yu)應(ying)(ying)用(yong)(yong)(yong)程序(xu)無(wu)關(guan)。相反(fan),它應(ying)(ying)該是幫助人(ren)們實現(xian)他(ta)(ta)們的(de)(de)目標,無(wu)論是引導用(yong)(yong)(yong)戶做出對他(ta)(ta)們有益的(de)(de)選擇,還是自(zi)動(dong)化重復(fu)性的(de)(de)任務。
3、釋放巨大的市場機會
如今,要想在商業上取(qu)得成功(gong),您需要的只是一個很(hen)棒的移動應用(yong)。
好吧,這有點(dian)夸張。盡管(guan)如此(ci),在過去(qu)的十年里,無數成功(gong)的公司(si)都(dou)是從(cong)設計精(jing)良、開發完善的移動應(ying)(ying)用(yong)程(cheng)序(xu)開始的,這些應(ying)(ying)用(yong)程(cheng)序(xu)以引人(ren)注目(mu)的方式滿足了(le)人(ren)們的需(xu)求。當您在這些應(ying)(ying)用(yong)中添加物聯網功(gong)能時,新的收入來(lai)源和生產力潛力就會增加。
想想看(kan):一個(ge)簡單(dan)的移(yi)動應用程序只要連接到服務(wu)器,就會有這(zhe)么多(duo)的想法(fa)和可能性,以及越來越多(duo)的用戶關注。如果您開(kai)始(shi)將其他種類的硬件整合(he)到這(zhe)個(ge)組合(he)中,那么就會有更多(duo)的增值機(ji)會。
即使您的(de)(de)(de)應(ying)用(yong)(yong)程序從一(yi)開始就(jiu)不支持物(wu)聯網,您也可(ke)(ke)以(yi)尋找(zhao)方法實現它(ta)。創建物(wu)聯網應(ying)用(yong)(yong)程序并不總(zong)是意味著(zhu)要(yao)投資自己(ji)的(de)(de)(de)定制硬件(jian),您還可(ke)(ke)以(yi)使您的(de)(de)(de)應(ying)用(yong)(yong)程序與市場上已有的(de)(de)(de)硬件(jian)兼容。一(yi)些現有的(de)(de)(de)物(wu)聯網設(she)備符合開放標準和協議,可(ke)(ke)以(yi)傳輸不同類(lei)型的(de)(de)(de)數(shu)據(ju),例如氣象設(she)備的(de)(de)(de)濕度數(shu)據(ju)或(huo)健身手表的(de)(de)(de)心跳數(shu)據(ju)。HeartyPatch就(jiu)是硬件(jian)開源的(de)(de)(de)一(yi)個很好例子,幾乎任(ren)何應(ying)用(yong)(yong)程序都(dou)可(ke)(ke)以(yi)利用(yong)(yong)它(ta)。
4、做出更多數(shu)據驅動的決策
人們(men)(men)(men)每天都要做出很(hen)多決定(ding),有時,我(wo)們(men)(men)(men)的選擇是(shi)錯誤的。這不(bu)(bu)是(shi)因為(wei)我(wo)們(men)(men)(men)不(bu)(bu)聰(cong)明,也不(bu)(bu)是(shi)因為(wei)我(wo)們(men)(men)(men)沒(mei)有足夠的數據,實際(ji)上(shang),我(wo)們(men)(men)(men)經(jing)常擁(yong)有太多數據,而是(shi)缺(que)乏足夠的洞察力。
物(wu)聯(lian)(lian)網(wang)使(shi)企業能夠(gou)收(shou)集到(dao)(dao)前所未有的(de)大量數(shu)據(ju),因此,在構(gou)建數(shu)據(ju)密集型移動物(wu)聯(lian)(lian)網(wang)應用程序時,開發人員與(yu)數(shu)據(ju)科學(xue)家合作是至(zhi)關(guan)重要(yao)的(de)。通(tong)過機器學(xue)習和(he)分析,可以挖掘數(shu)據(ju)試圖告訴我們(men)的(de)故事,并將選(xuan)擇范(fan)圍(wei)縮小(xiao)到(dao)(dao)幾個(ge)很好的(de)選(xuan)項,而不是太(tai)多的(de)未知數(shu)。