混合开发之uni-app

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了混合开发之uni-app相关的知识,希望对你有一定的参考价值。

参考技术A

uni-app App端内置weex渲染引擎,提供原生渲染能力

然而, Weex并不是一个前端框架 。实际上,前端框架仅仅是 Weex 的语法层或称之为 DSL (Domain-specific Language),它们与原生渲染引擎是分离的。换句话说,Weex 并不依赖于特定的前端框架,随着前端技术的发展,Weex 也可以集成更多广泛使用的前端框架。

以往的 weex ,有个很大的问题是它只是一个高性能的渲染器,没有足够的API能力,使得开发时非常依赖原生工程师协作,开发者本来想节约成本,结果需要前端、iosandroid 3拨人开发,适得其反。而 nvue 解决了这个大问题,让前端工程师可以直接开发完整 App,并提供原生插件的市场交易和云打包。这些组合方案,开发者切实的提高效率、降低成本。

如果你是web前端,不熟悉 weex,那么建议你仍然以使用 vue 为主,在App端某些 vue 表现不佳的场景下使用 nvue 作为强化补充:

uni-app App 端内置 HTML5+ 引擎,让 js 可以直接调用丰富的原生能力。

小程序及 H5 等平台是没有 html5+ 扩展规范的,因此在 uni-app 调用 HTML5+ 的扩展规范时,需要注意使用条件编译。否则运行到h5、小程序等平台会出现 plus is not defined错误。

在普通的 H5+ 项目中,需要使用 document.addEventListener 监听原生扩展的事件。

uni-app 中,没有 document。可以使用 plus.globalEvent.addEventListener 来实现(注意manifest中需开启新编译器,即自定义组件模式"usingComponents":true)。

同理,在 uni-app 中使用 Native.js 时,一些 Native.js 中对于原生事件的监听同样需要按照上面的方法去实现。

注意:旧编译器(非自定义组件模式)不支持 plus.globalEvent 这个对象。

以上是关于混合开发之uni-app的主要内容,如果未能解决你的问题,请参考以下文章

2018 学习 之 混合开发

Flutter基础系列之混合开发

混合开发之phonegap开发相关知识解析

混合式移动应用开发浅析之Ionic/Cordova vs React Native

混合开发之DSBridge(同时支持Android和iOS)

Android混合开发之WebViewJavascriptBridge实现JS与java安全交互