物聯網發展迅速,很多開發者想順應時代潮流,投身於物聯網開發之中,卻不知道應該為自己的物聯網項目選擇何種編程語言。 我們通過一份調查數據,為開發者在選擇物聯網編程語言和操作系統時提供借鑒。
此前,Eclipse 基金會最近完成了由 713 位開發者回答的 IoT 開發者調查,他們被問到了有關 IoT 編程語言、雲平台、IoT 操作系統、消息協議(MQTT, HTTP)、IoT 硬件架構等問題。 ,所以我們來看看一些幻燈片,特別是關於編程語言和操作系統。 要注意的是,IoT 是適用於傳感器,網關和雲的通用術語,因此這個調查會根據物聯網生態系統的不同部分,合適地劃分語言。
C 和 C++ 仍然是 Constrained Device 的首選語言,而且開發人員通常會使用多種語言,因為總數已超過 100%。
IoT 網關是對性能和資源(內存/存儲)要求更高的硬件,因此像Java 和Python 這樣的高級語言加入C 和C++ 並不感到驚訝,其中Java 是其中最受歡迎的語言,因為有40.8% 的受訪者選擇了Java。
當提到關於幾乎無限資源的雲時,並且在大多數情況下,不需要與硬件進行交互,所以像 Java,Java,Node.js 和 Python 這種更高級的語言將會佔多數。
當談到 constrained IoT devices 的操作系統時,Linux 以 44.1% 的比例領先 bare metal (27.6%) 和 FreeRTOS (15.0 %)。 Windows 在其中位於第四名,應該是 Windows IoT core, Windows Embedded, 和 WinCE 的混合。
Linux 是 IoT 網關中採用比例最高的操作系統,有 66.9% 的受訪者使用它,這遠超排在第二位佔比 20.5% 的 Windows 操作系統。 這次調查沒有關於雲的數據,可能是因為用戶沒有單獨運行自己的雲服務器,而是依賴於提供商。 不過他們特意問到了用於物聯網項目的 Linux 發行版,結果有點出乎意料,Raspbian 以 45.5% 的比例遙遙領先,Ubuntu Core 緊隨其後,使用比例達到了 44.4%。
也許 Raspbian 在原型設計階段或評估過程中被使用,因為大多數開發者(84%)都在使用像 Arduino, BeagleBone 或 Raspberry Pi 這樣廉價的開發版。 20% 的開發者還表示在物聯網解決方案中部署了這種板。
這是調查結果的幾張幻燈片,可在下面的幻燈片中找到有關 Intel/ARM 硬件共享,消息和工業協議,雲解決方案,無線連接等更多詳細信息。