新版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
开发者框架介绍
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多篇全新的文档以统一的风格和更完善的内容呈现在用户面前。