模块概述
物联网开发框架Niagara - Part1概述中介绍了,Niagara是模块化的,我们在其基础上开发的项目,最终也打包成模块。
Niagara的已编译的模块在安装目录下的modules中,通常一个模块包含1-5个部分,文件名格式:模块名称-部分名,
比如:
alerm-rt 表示模块alerm的运行时定义,类似于MVC架构的C和M;
alerm-wb 表示模块alerm的applet定义,可以在workbench的applet面板中拖拽添加;
alerm-ux 表示模块alerm的Web界面,采用HTML5、JavaScript、CSS构建的HTML页面;
alerm-se 表示模块alerm的Java标准类扩展;
alerm-doc 表示模块alerm的文档;
模块文件需要了解5点:
- 是一个JAR包
- 包含一个模型定义文件 meta-inf/module.xml
- 独立的、可以部署的
- 包含运行时依赖的说明文件
- 包含单独的运行时配置文件
模块开发的流程:
- 通过Workbench创建自己的station,该station用于测试自己的Module;
- 通过Workbench可以创建模块的基本项目结构;
- 设置模块保存目录
- 根据需要选择开发模块rt/ux/wb/se
- 根据需要选择依赖的模块,比如你的模块需要报警支持,就要添加alarm-rt;
- 在IDE中打开项目,这里注意Niagara默认是使用gradle作为构建工具的,你的IDE要支持gradle;
- Group Modules: check 'using explicit module groups'
- check 'use default gradle wrapper
- 编写自己的模块代码,执行gradle的slotomatic - clean - build 任务,编译自己的模块;
- slotomatic会自动根据Niagara注解,生成对应java代码
- clean会删除老得编译文件,确保重新生成;
- build会重新编译模块,包括更新include文件
- 在自己的station上测试模块;
- 发现问题调试解决;
- 重复5、6直到自己的模块功能正常,发布模块到测试环境,然后重复5、6,最后发布到生产环境;
项目目录介绍
gradle常用的配置请参阅gradle文档,这里只介绍Niagara模块的配置文件
编译后的jar包:
jar包中的内容:
本章内容思维导图:
相关: