@xiaoyixy
2015-11-19T17:34:01.000000Z
字数 780
阅读 1510
Hybrid
一个高效灵活的混合式移动应用的结构如下图,包含其中大部分的组件:
WebView
混合应用程序是主要通过一组用户定义的 API 接入平台功能的 Web 应用程序。这个 Web 应用程序需要一个 WebView 来呈现内容和托管业务逻辑。
视图(View)、模型(model)和控制器(controller)
由于混合式应用程序主要在 JavaScript 中编写,你可以运用各种方法来实现模型,视图和控制器组件,这直接决定于你应用的 JavaScript 库。
JS-Java 链接桥(JS-Java Bridge)
这是允许原生环境和 Web 环境实现交互的一个粘合层。它必须允许执行同步和异步 API 。出于包括性能,易用性和安全性的考虑,这个层是混合式应用程序最重要的层之一。
Java 插件(Java plug-ins)
Java 插件是由用户定义的一组暴露在 JavaScript 环境中的拓展 API。
原生组件(Native components)
这些是可以应用于你的应用程序的原生服务或组件,例如,显示动作条,原生对话框和访问你的位置等。
应用数据(Application data)
虽然 HTML5 的数据存储为我们提供了一些功能来存储数据,但是你可能经常要用自定义的格式来存储 BLOB(binary large object,二进制大对象),这时候应用程序数据,文件系统 API ,以及本地 API 就发挥作用了。
Assets 和 resources
Assets 和 resources 包含应用程序中的静态工件。可使用 resource 将文本本地化。
原生业务逻辑(Native business logic)
混合式移动应用设计中一个很重要的结构因素是实现原生和 Web 组件之间业务逻辑的分离。通常情况下,出于某些原因需要在原生层实现包括访问原生组件、更高的安全性或者只是你想链接的一个特殊组件等的一部分业务逻辑。