H5Service
, H5Session
和 H5Page
是 Nebula 里的基础元件,请点击这里来了解更多。
Nebula JS Bridge 是连接原生层和 Javascript 的沟通桥梁,它将 Javascript 代码转译成能在系统框架运行的字节码,同时也把原生层的数据结构转成 Javascript 对象使其能在 Javascript 层处理。
市面上有许多 JS Bridge 的实现方式,大多数都是使用截获 prompt
来实现的,但是 Nebula 使用的是 console.log
API 的方法,因为使用 prompt
有以下几点问题
prompt
是一个阻塞的 API,如果在原生层运行时间太久的话会导致页面无响应prompt
的情况下,会有一个模态视窗被创造出来。所以如果 Javascript 代码在 JS Bridge 初始化还没有完成前就调用的话, prompt
所创造出的模态视窗将被显示且可能迷惑用户关于事件是如何从服务到页面的派遣,请参阅基础来了解更多。
Nubula 已经提供许多 JS API 供开发者使用,比如操控 UI,显示对话框和 Toast,以及使用 RCP 服务。请点击这里了解更多详情。
如果现有的 JS API 无法满足你的业务需求,你也可以选择创造一个新的插件。你只需把原生代码打包在插件中,在管理器里注册该插件,便可在 Javascript 层使用新的 JS API 了,请点击这里来了解更多关于插件定制的资讯。