caraml
caraml 是一种原生移动 UI 标记语言,用于在 Android 和 iOS 上从 node.js 实例运行原生微应用。它基于 LiquidCore 构建,这是一个在移动设备上提供基于 node 的虚拟机的库。
caraml 仍在开发中。
caraml-core
caraml-core 是 caraml 的基本 UI 管理器。
这个库提供了一个 CaramlView
的子类,它继承自 View
(《UIView》在 iOS 上),它将使 UI 表面暴露给 JavaScript。一旦视图加载完成,它将从服务器或本地资源获取 JavaScript 代码,并将表面提供给该 JavaScript 上下文。
要集成,客户端可以在界面构建器中添加视图或通过编程方式添加视图。要添加视图
步骤 1:安装 LiquidCore
步骤 2:安装 caraml-core
$ npm install @liquidcore/caraml-core
$ npm install
第二次 npm install
将触发项目中一个后安装脚本,自动将 caraml-core
设置到您的构建中。
CaramlView
步骤 3:集成 Android 布局文件
您可以像这样将视图插入任何布局中
<org.liquidplayer.caraml.CaramlView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/caramlview"
/>
iOS 界面构建器
在 `ViewController
` 中的故事板中拖放一个 UIView
。在右侧的标识检查器中将其自定义类设置为 LCCaramlView
。
Android (Kotlin) 程序化
import org.liquidplayer.caraml.CaramlView;
...
val caramlView = CaramlView(androidContext)
iOS (Swift)
import caraml_core
...
let caramlView = LCCaramlView(frame: CGRect.zero)
以上步骤仅是使其运行所必需的。默认情况下 CaramlView
使用带有入口点 index.js
的捆绑包(有关更多信息,请参阅 自动捆绑)。要使用其他服务器或本地资源,可以在程序化和界面构建器中指定 URL。
本地表面API
JavaScript API
caraml核心
caraml-core
模块提供了一个表示由CaramlView
(Android)或LCCaramlView
创建的JavaScript上下文的对象。可以通过以下方式访问:
const core = require('@liquidcore/caraml-core')
在JavaScript中,core
对象看起来是一个空对象,但它绑定到视图的本地表示。可以将此对象传递给本地表面实现,这使您能够将表面附加和断开连接到视图。