新版AliOS Things提供了優異的應用開發環境和體驗:
- 元件化能力:AliOS Things 功能非常強大,但是這些功能都是元件化的,開發者隻需要按需下載下傳自己需要的元件就好了,大大節省了空間和看代碼的時間
- 統一的可視化開發環境:代碼環境搭建,編譯,調試在統一的IDE環境下完成,隻需要點選簡單的圖示就可以編譯下載下傳了
- 應用分離:使用者開發應用時可以通過提供的工具建立一個工程,這個工程裡面僅僅包含應用的代碼,使用者可以直接調用OS的頭檔案來使用系統的功能
- 應用開發模闆:提供大量的應用開發模闆,使用者不必從頭開發應用,隻需要從應用模闆中選擇跟自己貼近的應用,開發者按需修改就可以實作自己功能
- 易用的文檔和支援:非常簡潔的開發文檔,開發者可以按照文檔指引快速開始自己應用的開發,不僅如此,還有非常多的動畫視訊介紹哦
- 統一的硬體适配層:提供了統一的硬體HAL 層适配,可以讓開發者更加友善的移植而不用大量修改應用代碼;比如原來通過WiFi 模組聯網,現在隻需要更改不到10行代碼就可以替換為2G模組聯網
AliOS Things圍繞着“更符合開發、使用習慣”做了持續多年的優化,除了這些友善的功能外,AliOS Things對于各種裝置、不同領域協定的适配也已經比較完善,github的開源項目目前已有1.4K Fork,3.3K Star,約25萬開發者群體。
更多優雅的功能,我們留待下次探索!
附:
- AliOS Things GitHub項目位址 https://github.com/alibaba/AliOS-Things
- 官方部落格 https://yq.aliyun.com/teams/184
- 快速開始 https://help.aliyun.com/document_detail/161087.html
開發者架構介紹
APP開發架構指的是實作了某應用領域通用功能(除去特殊應用的部分)的底層服務。使用這種架構的開發者可以在一個通用功能已經實作的基礎上開始具體的應用開發。比如,要開發一個智能燈,APP開發架構已實作與天貓精靈等連通,通過語音指令開關燈,調節燈的亮度、顔色等基礎功能,開發者隻需關注特定的應用邏輯,比如檢測到附近有人移動,自動開燈,延時關燈等。
APP開發架構包含以下功能特點:
1、應用工程目錄和AliOS Things源碼目錄分離存儲
AliOS Things源碼以開發SDK的形式存放在目錄A,開發者可以将工程存放在目錄B、目錄C等其他目錄下,不與AliOS Things源碼放在相同的目錄下。對于開發多個應用的開發者來說,隻需要使用一份AliOS Things源碼,節省硬碟空間;也使開發者更專注于應用開發,無需關心AliOS Things的内部代碼實作。同時,開發架構在建立新應用項目時,将使用者可能修改的硬體相關部分拷貝至使用者應用中,使得使用者可以針對自己的項目硬體配置,調整硬體功能,達到更高的靈活性。

2、基于APP模闆建立工程
應用開發者可選擇一個AliOS Things預置的與所開發應用功能最相近的APP作為模闆,建立新的工程,快速搭建應用架構,加快開發進度。拒絕從"0"開始。
3、通過頭檔案引入元件
元件是一組獨立功能的集合,類似于其它系統的library。開發者在開發過程中,需要引入新的功能元件,傳統的方式是需要修改makefile等建構配置檔案,加入新的元件,然後在相應的代碼中包含元件的頭檔案,然後才能調用該元件的API去完成特定的功能。而AliOS Things3.1中,開發者隻需包含元件的頭檔案,元件将會被自動加入,開發者就可調用該元件的API了。
*元件依賴關系圖
對于一個複雜的工程,引用了很多元件,各元件之間依賴關系就比較複雜。有時候開發者想删掉某個元件,但是又無法清楚的知道該元件是被哪個元件依賴的,無法從源頭删除。AliOS Things3.1中,可生成元件依賴的關系圖,開發者可以一目了然地看到元件的依賴情況。
4、menuconfig和頭檔案兩種配置模式互相同步
大多win開發者不習慣使用menuconfig,隻希望在頭檔案裡面修改元件的配置;而linux開發者則喜歡在menuconfig圖形界面下配置參數。AliOS Things3.1考慮了兩個不同平台的開發習慣,可以任選一種方式進行配置,配置的參數将會被自動同步。
5、通過AliOS Studio插件提供IDE内圖形操作
APP開發架構的相關功能已認證AliOS Studio插件內建到vs code IDE工具中,使用者可實作圖形化界面下建立工程、源檔案管理,編譯、下載下傳、調試等功能。
其他特色功能
除了上面介紹的開發者架構之外,AliOS Things 3.1 還釋出了很多其他功能,在之前版本的基礎上進一步優化了元件化能力,使各種應用元件可以更加快捷地在不同的硬體裝置之間快速複用,并實作了元件的獨立安裝、解除安裝和更新能力。并為開發者提供了快捷建構元件架構的工具,使得生态夥伴/開發者,可以快速地将自己在裝置端側的能力封裝為元件,通過AliOS Things進行輸出,幫助生态夥伴将價值落地。
AliOS Things 3.1還內建了工業、樓宇和園區等多種物聯網場景中,包括輕量級的CANopen協定棧、KNX和ModBus總線的支援;連接配接協定方面新增了WebSocket和RTP/SRTP協定的支援,以友善使用者開發音視訊流的應用。AliOS Things 3.1支援了145個POSIX API 标準接口包含了pthread以及IPC通訊接口,基本覆寫了主流應用場景,友善其他平台的應用快速移植到AliOS Things上。
同時為了讓使用者可以更容易地上手,随着AliOS Things 3.1的釋出,我們大幅度地豐富了開發文檔。有60多篇全新的文檔以統一的風格和更完善的内容呈現在使用者面前。