Skip to content

什么是uni-app

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

uni-app的特点

1. 跨平台

uni-app 实现了真正意义上的一次开发,多端部署。使用 uni-app 开发,只需编写一套代码,即可同时运行在多个平台上,大幅提升开发效率。

支持的平台包括:

  • iOS
  • Android
  • Web(H5)
  • 微信小程序
  • 支付宝小程序
  • 百度小程序
  • 字节跳动小程序(今日头条、抖音、飞书等)
  • QQ小程序
  • 快手小程序
  • 钉钉小程序
  • 淘宝小程序
  • 快应用
  • 360小程序
  • 京东小程序

2. 基于Vue

uni-app 完全基于 Vue.js,如果你熟悉 Vue.js,那么你将很容易上手 uni-app。

  • 使用 Vue 的语法开发页面
  • 支持 Vue 组件、Vuex 状态管理
  • 支持 Vue 的生命周期
  • 支持 Vue 的模板语法和 JSX

3. 高性能

uni-app 在性能方面做了大量优化:

  • 组件和API设计更加简洁高效
  • 优化的运行时性能
  • 支持 App 端的原生渲染(nvue)
  • 支持编译为原生小程序(非Webview渲染)

4. 丰富的生态

uni-app 拥有丰富的生态系统:

  • 插件市场拥有大量的组件和模板
  • 支持 NPM 包管理
  • 支持 TypeScript
  • 支持使用原生插件扩展能力
  • 支持各种 UI 库

uni-app与其他框架的对比

与React Native对比

  • 语法差异:uni-app 基于 Vue,React Native 基于 React
  • 性能:两者都支持原生渲染
  • 平台支持:uni-app 支持更多平台,特别是各种小程序平台
  • 生态:React Native 在国际上生态更丰富,uni-app 在国内生态更丰富

与Flutter对比

  • 语言:uni-app 使用 JavaScript/TypeScript,Flutter 使用 Dart
  • 渲染方式:Flutter 使用自己的渲染引擎,uni-app 在App端可以使用原生渲染
  • 学习曲线:uni-app 对于熟悉 Vue 的开发者来说更容易上手
  • 平台支持:uni-app 支持更多平台,特别是各种小程序平台

与Taro对比

  • 框架基础:uni-app 基于 Vue,Taro 支持 React/Vue/Nerv 等多种框架
  • 编译原理:两者都是编译型框架,但实现方式不同
  • 平台支持:两者都支持主流小程序平台和H5,但uni-app额外支持App端

uni-app的应用场景

uni-app 适用于以下场景:

  1. 跨平台应用开发:需要同时覆盖iOS、Android、Web以及各种小程序平台的应用
  2. 小程序开发:专注于开发各种小程序应用
  3. 电商应用:需要覆盖多端的电商平台
  4. 内容类应用:新闻、社区、资讯类应用
  5. 工具类应用:各种实用工具App和小程序
  6. 企业应用:企业内部使用的管理系统、OA系统等

uni-app的发展历程

  • 2018年初:uni-app 正式发布
  • 2018年下半年:支持微信小程序和H5
  • 2019年:陆续支持支付宝、百度、头条等小程序平台
  • 2020年:支持 Vue 3.0,推出 uni-app x 编译器
  • 2021年:生态进一步完善,插件市场组件数量突破3000+
  • 2022年:uni-app 3.0发布,全面拥抱 Vue 3.0
  • 2023年:uni-app x 正式发布,性能大幅提升

开始使用uni-app

准备好开始使用uni-app了吗?请继续阅读快速上手章节,了解如何创建你的第一个uni-app项目。

一次开发,多端部署 - 让跨平台开发更简单