說(shuō)到物聯(lián)網(wǎng),全棧開(kāi)發(fā)需要的遠(yuǎn)不止是簡(jiǎn)單的前端、后端和UI/UX開(kāi)發(fā)。我們需要考慮的是,即使是一個(gè)人的日常物聯(lián)網(wǎng)環(huán)境也可以包括幾十個(gè)小型的、相互連接的設(shè)備,這些設(shè)備幾乎不包含任何處理能力。以下是典型堆棧的外觀,以及專(zhuān)業(yè)嵌入式開(kāi)發(fā)人員很難為物聯(lián)網(wǎng)編程的原因。
硬件設(shè)計(jì)與制造
這就是“物聯(lián)網(wǎng)”中的“物”派上用場(chǎng)的地方。這些“東西”可以包括傳感器、能夠連接互聯(lián)網(wǎng)的芯片,甚至包括設(shè)備本身,如電燈開(kāi)關(guān)、空調(diào)等。
通常,大多數(shù)軟件公司在這一階段的投入很少,除非他們按照自己的規(guī)范構(gòu)建硬件。
中間件編程
一旦您購(gòu)買(mǎi)了創(chuàng)建物聯(lián)網(wǎng)生態(tài)系統(tǒng)所需的所有設(shè)備、傳感器和設(shè)備,您將需要能夠使所有這些設(shè)備以滿(mǎn)足您目標(biāo)的方式相互通信的開(kāi)發(fā)人員。這些設(shè)備需要生成數(shù)據(jù)并將其輸出到您的系統(tǒng)。
管理與移動(dòng)應(yīng)用程序開(kāi)發(fā)
所以,現(xiàn)在你已經(jīng)擁有了物聯(lián)網(wǎng)設(shè)備,你已經(jīng)讓它們相互交談,甚至將數(shù)據(jù)傳輸?shù)侥愕南到y(tǒng)。是時(shí)候把所有這些信息——包括實(shí)時(shí)數(shù)據(jù)和以前收集的數(shù)據(jù)——變成有用的東西了。需要?jiǎng)?chuàng)建儀表盤(pán)來(lái)管理這些設(shè)備并微調(diào)其操作。在當(dāng)今時(shí)代,您還需要開(kāi)發(fā)移動(dòng)或平板電腦應(yīng)用程序來(lái)遠(yuǎn)程管理這些設(shè)備,甚至被視為物聯(lián)網(wǎng)生態(tài)系統(tǒng)的一部分。
嵌入式開(kāi)發(fā)
在21世紀(jì)初,嵌入式編程時(shí)代似乎已經(jīng)結(jié)束。物聯(lián)網(wǎng)一手復(fù)活了這股發(fā)展潮流。全棧IoT開(kāi)發(fā)人員對(duì)于創(chuàng)建在這些設(shè)備上運(yùn)行的代碼至關(guān)重要,這些設(shè)備的處理能力很小,這些設(shè)備通常在沒(méi)有操作系統(tǒng)的情況下運(yùn)行,或者最多只有一個(gè)基本的操作系統(tǒng)。
系統(tǒng)集成
在一個(gè)物聯(lián)網(wǎng)環(huán)境中,終端用戶(hù)通常對(duì)背景中發(fā)生的事情知之甚少。
使用物聯(lián)網(wǎng)設(shè)備及其用戶(hù)產(chǎn)生的大量數(shù)據(jù),如果不利用這些數(shù)據(jù)進(jìn)一步了解客戶(hù),那將是完全的浪費(fèi)。高級(jí)分析服務(wù)可以與物聯(lián)網(wǎng)設(shè)備和生態(tài)系統(tǒng)相結(jié)合,幫助您根據(jù)客戶(hù)使用模式?jīng)Q定未來(lái)的業(yè)務(wù)計(jì)劃。
用戶(hù)體驗(yàn)和用戶(hù)界面
為最終用戶(hù)創(chuàng)造直觀的用戶(hù)體驗(yàn)(UX)至關(guān)重要,以使他們與您的物聯(lián)網(wǎng)生態(tài)系統(tǒng)保持互動(dòng)。他們更有可能通過(guò)門(mén)戶(hù)網(wǎng)站或移動(dòng)應(yīng)用程序與物聯(lián)網(wǎng)設(shè)備交互。這些交互點(diǎn)需要設(shè)計(jì)為現(xiàn)代用戶(hù)界面,同時(shí)牢記品牌的美學(xué)。
物聯(lián)網(wǎng)已經(jīng)成為塑造當(dāng)今數(shù)字景觀的一個(gè)主要因素,它成為每個(gè)人日常生活的一個(gè)重要方面。物聯(lián)網(wǎng)設(shè)備和系統(tǒng)的開(kāi)發(fā)本身就是一個(gè)包羅萬(wàn)象的領(lǐng)域——它跨越了多個(gè)開(kāi)發(fā)層,而不僅僅是嵌入式開(kāi)發(fā),需要經(jīng)驗(yàn)豐富的全堆棧開(kāi)發(fā)人員,或者至少需要精通多個(gè)領(lǐng)域的程序員。