Skip to content

各模块职能

Luke edited this page Feb 24, 2020 · 2 revisions

一般使用直接依赖litho模块即可。

core模块

提供核心模板解析能力。

能够将模板解析并绑定数据到展示层的树形结构,与渲染层(litho模块)完全解耦,方便后期更换视图引擎。

litho模块

目前默认也是唯一的视图引擎。

基于Facebook的litho实现,具有以下优势:

在实现样式的基础上,尽最大的可能不去使用非硬件加速的绘图API,防止渲染效率出现断崖式下跌。

compiler模块

默认布局编译器,一个命令行程序。

目前的做法是将布局编译成json格式,方便客户端直接利用现有设施进行解析。所以不管你是gson或者fastjson直接无脑解析成TemplateNode就对了,不需要再为模板解析接其他奇奇怪怪的东西。

目前只有两个参数:

  • -i 输入待编译布局
  • -o 输出位置

handshake模块

使用Spring boot搭建的一个小型调试服务器。

调试服务器开启时可向Playground APP提供实时预览功能。该模块不建议单独使用,需要配合intellij插件,由插件调用。

intellij-plugin模块

intellij平台的兼容插件,兼容AS、IDEA等。

目前支持dsl标签和属性的智能补全,在代码行中直接调起调试器和编译器对布局进行调试和编译。

调试器与插件无缝结合,当你编辑其他的包时,调试器也会跟随你返回新的布局文件到Playground APP实时预览的界面上。。

注意,jetbrains现在还没有开放在AS上开放intellij插件的能力,二次开发需要用idea打开此模块。

playground模块

一个sample APP。

APP内包含几个典型的布局源码以及UI效果的展示(需要联网,否则没图)。

还有介绍各种目前能够使用的各种组件。

可以使用playground对布局进行实时预览。

Clone this wiki locally