開發與維運

AliOS Things 3.1 特性詳解

新版AliOS Things提供了優異的應用開發環境和體驗:

  • 組件化能力:AliOS Things 功能非常強大,但是這些功能都是組件化的,開發者只需要按需下載自己需要的組件就好了,大大節省了空間和看代碼的時間
  • 統一的可視化開發環境:代碼環境搭建,編譯,調試在統一的IDE環境下完成,只需要點擊簡單的圖標就可以編譯下載了
  • 應用分離:用戶開發應用時可以通過提供的工具創建一個工程,這個工程裡面僅僅包含應用的代碼,用戶可以直接調用OS的頭文件來使用系統的功能
  • 應用開發模板:提供大量的應用開發模板,用戶不必從頭開發應用,只需要從應用模板中選擇跟自己貼近的應用,開發者按需修改就可以實現自己功能
  • 易用的文檔和支持:非常簡潔的開發文檔,開發者可以按照文檔指引快速開始自己應用的開發,不僅如此,還有非常多的動畫視頻介紹哦
  • 統一的硬件適配層:提供了統一的硬件HAL 層適配,可以讓開發者更加方便的移植而不用大量修改應用代碼;比如原來通過WiFi 模組聯網,現在只需要更改不到10行代碼就可以替換為2G模組聯網

AliOS Things圍繞著“更符合開發、使用習慣”做了持續多年的優化,除了這些方便的功能外,AliOS Things對於各種設備、不同領域協議的適配也已經比較完善,github的開源項目目前已有1.4K Fork,3.3K Star,約25萬開發者群體。

更多優雅的功能,我們留待下次探索!

附:

開發者框架介紹

APP開發框架指的是實現了某應用領域通用功能(除去特殊應用的部分)的底層服務。使用這種框架的開發者可以在一個通用功能已經實現的基礎上開始具體的應用開發。比如,要開發一個智能燈,APP開發框架已實現與天貓精靈等連通,通過語音指令開關燈,調節燈的亮度、顏色等基礎功能,開發者只需關注特定的應用邏輯,比如檢測到附近有人移動,自動開燈,延時關燈等。
APP開發框架包含以下功能特點:
1、應用工程目錄和AliOS Things源碼目錄分離存儲

AliOS Things源碼以開發SDK的形式存放在目錄A,開發者可以將工程存放在目錄B、目錄C等其他目錄下,不與AliOS Things源碼放在相同的目錄下。對於開發多個應用的開發者來說,只需要使用一份AliOS Things源碼,節省硬盤空間;也使開發者更專注於應用開發,無需關心AliOS Things的內部代碼實現。同時,開發框架在建立新應用項目時,將用戶可能修改的硬件相關部分拷貝至用戶應用中,使得用戶可以針對自己的項目硬件配置,調整硬件功能,達到更高的靈活性。
1589941310384-ba608366-a199-4174-9625-086fbacc5819.gif

2、基於APP模板創建工程
應用開發者可選擇一個AliOS Things預置的與所開發應用功能最相近的APP作為模板,創建新的工程,快速搭建應用框架,加快開發進度。拒絕從"0"開始。
1589941310384-ba608366-a199-4174-9625-086fbacc5819.gif

3、通過頭文件引入組件
組件是一組獨立功能的集合,類似於其它系統的library。開發者在開發過程中,需要引入新的功能組件,傳統的方式是需要修改makefile等構建配置文件,加入新的組件,然後在相應的代碼中包含組件的頭文件,然後才能調用該組件的API去完成特定的功能。而AliOS Things3.1中,開發者只需包含組件的頭文件,組件將會被自動加入,開發者就可調用該組件的API了。
頭文件.gif
*組件依賴關係圖
對於一個複雜的工程,引用了很多組件,各組件之間依賴關係就比較複雜。有時候開發者想刪掉某個組件,但是又無法清楚的知道該組件是被哪個組件依賴的,無法從源頭刪除。AliOS Things3.1中,可生成組件依賴的關係圖,開發者可以一目瞭然地看到組件的依賴情況。
組件依賴關係圖.gif
4、menuconfig和頭文件兩種配置模式相互同步
大多win開發者不習慣使用menuconfig,只希望在頭文件裡面修改組件的配置;而linux開發者則喜歡在menuconfig圖形界面下配置參數。AliOS Things3.1考慮了兩個不同平臺的開發習慣,可以任選一種方式進行配置,配置的參數將會被自動同步。
5、通過AliOS Studio插件提供IDE內圖形操作
APP開發框架的相關功能已通過AliOS Studio插件集成到vs code IDE工具中,用戶可實現圖形化界面下創建工程、源文件管理,編譯、下載、調試等功能。
通過AliOS Studio插件提供IDE內圖形操作.gif

Leave a Reply

Your email address will not be published. Required fields are marked *