uniapp 原生开发记录

uniapp 原生开发记录

nvue概述

  • nvue 规范不太一样,对原生性能有要求,才使用,css很多限制
  • nvue场景:动画性能、长列表渲染、过多的视图渲染

nuve和renderjs

nuve解决问题:高强度的视图渲染,减少卡顿

renderjs,解决逻辑层和视图层通信的成本,在数据驱动的视图渲染下。

uts插件与uni原生语言插件的区别

uts 插件编译到 app 平台时,在功能上相当于 uni-app 之前的 app 原生插件。都是给app扩展原生能力。

开发 uts 插件不需要熟悉 Kotlin 和 Swift 的语法,因为使用的是 uts语法。但需要熟悉 Android 和 iOS 的系统 API,至少需要知道什么原生能力在哪个API里。

在 HBuilderX 3.6 以前,uni-app 在 App 侧只有一种原生插件,即用 java 或 Objective-C 开发的插件。

在 uts 推出后,原来的 “App原生插件”,更名为 “App原生语言插件”。

不同的名字,代表它们需要开发者编写语言不同。但殊途同归,最后都编译为原生的二进制代码。

原生语言插件 uts插件
开发语言 java/oc uts
开发环境 Android Studio/XCode HBuilderX
打包方式 外挂aar 等产出物 编译时生成原生代码
js层调用方式 uni.requireNativePlugin() 普通的js函数/对象,可以直接 import,支持摇树优化
支持项目类型 uni-app uni-app和uni-app x

相对原生语言插件,uts插件的优势:

  1. 统一了编程语言(uts),一种语言开发所有平台,真正大前端。
  2. 统一了开发工具(HBuilderX),免除搭建复杂的原生开发环境。
  3. 插件封装中要理解的概念更少。 传统原生语言插件需要在js和原生层处理通信,使用各种特殊转换,使用特殊语法导入,注意事项很多。uts统一为纯前端概念,简单清晰。
  4. uts 下前端和原生可以统一在 HBuilderX 中联调。而传统原生语言插件需要在多个开发工具间切换,联调复杂。
  5. 插件市场的uts插件支持下载后自己固定版本。而付费的原生语言插件只能使用最新版。
  6. 插件市场的uts付费插件支持源码版销售和源码版权保护机制。而付费的原生语言插件不支持源码版销售。
  7. uts插件可同时支持uni-app和uni-app x。