物聯(lián)網(wǎng)開發(fā)面臨的挑戰(zhàn)有哪些
物聯(lián)網(wǎng)的技術(shù)應(yīng)用和互聯(lián)網(wǎng)應(yīng)用有著本質(zhì)的區(qū)別,就好比嵌入式系統(tǒng)和通用的計(jì)算機(jī)系統(tǒng)一樣。而物聯(lián)網(wǎng)應(yīng)用開發(fā)就是典型的嵌入式開發(fā)。從硬件配置到運(yùn)行環(huán)境等等,都千差萬別。本文創(chuàng)客學(xué)院物聯(lián)網(wǎng)培訓(xùn)講師和讀者介紹一下物聯(lián)網(wǎng)開發(fā)面臨的挑戰(zhàn)有哪些?
物聯(lián)網(wǎng)開發(fā)面臨的挑戰(zhàn)有哪些?
首先和讀者聊聊物聯(lián)網(wǎng)開發(fā)平臺(tái),談到開發(fā)平臺(tái),很多人第一反應(yīng)就是編程語言,從匯編、C、C++、Pascal、VB、VC等編譯型語言,到Java、JS、Python、Lua等腳本語言,說得上名字的、說不上名字的,可以羅列出成百上千種,著名的TIOBE,每年都要為各種編程語言排座次。其實(shí)要談物聯(lián)網(wǎng)開發(fā)平臺(tái)的發(fā)展,還得從早期嵌入式系統(tǒng)說起。曾幾何時(shí),嵌入式MCU很多只有幾十字節(jié)的內(nèi)存,幾百自己就算多的了,那時(shí)候,匯編語言是嵌入式編程不二的選擇。那時(shí)候,也沒有編程平臺(tái)的說法的,也沒有Shell之類的調(diào)試工具,更沒有標(biāo)準(zhǔn)IO系統(tǒng),總之,程序員就像在一堆沙土上蓋房子,沒有地基,也沒有房梁,更沒有混凝土,就是用泥漿磚頭石塊慢慢糊。及后來,出現(xiàn)了單片機(jī)前后臺(tái)C語言(俗稱裸機(jī)C)開發(fā)工具,典型的是keil,同時(shí),也出現(xiàn)了RTOS,例如vrtx、pSOS、VxWorks等,但裸機(jī)C語言開發(fā)長(zhǎng)期占主導(dǎo)地位。早期的C語言開發(fā)平臺(tái),從平臺(tái)角度,其實(shí)沒比匯編年代進(jìn)步多少,同樣的沒有Shell、沒有標(biāo)準(zhǔn)IO系統(tǒng),沒有異常處理系統(tǒng),除了編碼語言外,差不了太多。雖然代碼的可移植性比匯編強(qiáng),但仍然是跟硬件平臺(tái)緊耦合的,它要求軟件工程師了解硬件的每一個(gè)細(xì)節(jié),了解CPU每一個(gè)寄存器的含義,硬件平臺(tái)稍有變動(dòng),軟件就懵逼了。
在裸C時(shí)代,首先出手改進(jìn)開發(fā)平臺(tái)的是MCU廠商,ST、ATMEL、Freescale、NXP等知名MCU廠家,都推出了越來越完善的固件,使用這些固件,盡可能地抹平不同型號(hào)CPU之間的差異,使用戶的應(yīng)用程序更加通用。同時(shí),他們還推出了越來越完善的IDE,利用他們的IDE,可以自動(dòng)化地生成一部分跟CPU相關(guān)的代碼,減輕了工程師的工作。但是,所有這些工作,都僅限于同一廠家的不同型號(hào)MCU之間,甚至只在同一廠家的同一系列MCU之間,才能體現(xiàn)出其價(jià)值。為什么MCU廠家要做這些工作呢?因?yàn)樗麄円u東西,他們的客戶,大多數(shù)還使用裸機(jī)C開發(fā),而不像系統(tǒng)級(jí)CPU那樣有完善的開發(fā)平臺(tái)支持。他們的客戶,迫切需要一個(gè)開發(fā)平臺(tái),來規(guī)避晦澀難懂的硬件驅(qū)動(dòng)開發(fā),使應(yīng)用和驅(qū)動(dòng)相分離。一個(gè)非常典型的現(xiàn)象是freescale,它主要為MCU產(chǎn)品線提供驅(qū)動(dòng)固件,而對(duì)于PPC產(chǎn)品線,原廠提供的驅(qū)動(dòng)就是垃圾,誰用誰知道。
創(chuàng)客學(xué)院物聯(lián)網(wǎng)培訓(xùn)講師: 就前景來看,物聯(lián)網(wǎng)是未來的一種發(fā)展趨勢(shì)。將來應(yīng)用的面擴(kuò)大之后 ,必然需要專門的人才,因此就業(yè)前景應(yīng)該還是不錯(cuò)的。創(chuàng)客學(xué)院物聯(lián)網(wǎng)視頻教程從零基礎(chǔ)入門到精通有著完整的學(xué)習(xí)路線,站內(nèi)物聯(lián)網(wǎng)開發(fā)講師全天候答疑和預(yù)留批改作業(yè)。
- 贊