基于Kotlin的脚本引擎Wrapper框架 [ScriptEngine] [ScriptEngineManager]
类似于jdk中方便Java与各种脚本引擎交互的ScriptEngine(jdk提供的接口并不能在安卓上使用)
ScriptWrapper复现了JDK中的ScriptEngine,将各种引擎与App代码分离,而App与Wrapper对接,用起来既简洁又高效,使用Kotlin编写,可以完美运行在安卓平台上
| 代码耦合 | 灵活度 | 可读性 | 学习成本 | |
|---|---|---|---|---|
| 直接接入脚本引擎 | 高 | 高 | 低 | 高 |
| ScriptWrapper | 低 | 高 | 高 | 低 |
通过编写一个通用的中间层(Wrapper),将各种引擎与App代码分离,而App与Wrapper对接
| 层次结构 |
|---|
| App代码层 |
| 中间层(Wrapper) |
| 脚本引擎层 |
| Package | Info |
|---|---|
| bridge | 脚本语言与Java的桥梁 |
| eval | 代码执行脚本语言 |
| lang | 基础类 |
| internal | 通用的内置方法 |
Repo:ScriptWrapperCollection (提供了现有的几个已经适配的引擎,照猫画虎就可以轻松地适配其他引擎)