What is uni-app
uni-app is a framework for developing all front-end applications using Vue.js. Developers write a single codebase that can be published to iOS, Android, Web (responsive), and various mini-programs (WeChat/Alipay/Baidu/ByteDance/Feishu/QQ/Kuaishou/DingTalk/Taobao), Quick App, and more platforms.
Features of uni-app
1. Cross-platform
uni-app achieves true develop once, deploy everywhere. Using uni-app for development, you only need to write one set of code to run on multiple platforms simultaneously, greatly improving development efficiency.
Supported platforms include:
- iOS
- Android
- Web (H5)
- WeChat Mini Program
- Alipay Mini Program
- Baidu Mini Program
- ByteDance Mini Program (Toutiao, TikTok, Feishu, etc.)
- QQ Mini Program
- Kuaishou Mini Program
- DingTalk Mini Program
- Taobao Mini Program
- Quick App
- 360 Mini Program
- JD Mini Program
2. Based on Vue
uni-app is completely based on Vue.js. If you are familiar with Vue.js, you will easily get started with uni-app.
- Use Vue syntax to develop pages
- Support Vue components and Vuex state management
- Support Vue lifecycle
- Support Vue template syntax and JSX
3. High Performance
uni-app has been extensively optimized for performance:
- Components and APIs are designed to be more concise and efficient
- Optimized runtime performance
- Support for native rendering on App side (nvue)
- Support for compiling to native mini-programs (non-Webview rendering)
4. Rich Ecosystem
uni-app has a rich ecosystem:
- Plugin marketplace with a large number of components and templates
- Support for NPM package management
- Support for TypeScript
- Support for extending capabilities with native plugins
- Support for various UI libraries
Comparison with Other Frameworks
Compared with React Native
- Syntax difference: uni-app is based on Vue, React Native is based on React
- Performance: Both support native rendering
- Platform support: uni-app supports more platforms, especially various mini-program platforms
- Ecosystem: React Native has a richer ecosystem internationally, uni-app has a richer ecosystem domestically
Compared with Flutter
- Language: uni-app uses JavaScript/TypeScript, Flutter uses Dart
- Rendering: Flutter uses its own rendering engine, uni-app can use native rendering on App side
- Learning curve: uni-app is easier to get started for developers familiar with Vue
- Platform support: uni-app supports more platforms, especially various mini-program platforms
Compared with Taro
- Framework foundation: uni-app is based on Vue, Taro supports multiple frameworks like React/Vue/Nerv
- Compilation principle: Both are compilation frameworks, but with different implementation approaches
- Platform support: Both support mainstream mini-program platforms and H5, but uni-app additionally supports App side
Application Scenarios
uni-app is suitable for the following scenarios:
- Cross-platform application development: Applications that need to cover iOS, Android, Web, and various mini-program platforms simultaneously
- Mini-program development: Focus on developing various mini-program applications
- E-commerce applications: E-commerce platforms that need to cover multiple platforms
- Content applications: News, community, and information applications
- Utility applications: Various practical Apps and mini-programs
- Enterprise applications: Management systems, OA systems, etc. used within enterprises
Development History of uni-app
- Early 2018: uni-app was officially released
- Second half of 2018: Support for WeChat Mini Program and H5
- 2019: Gradually supported Alipay, Baidu, Toutiao and other mini-program platforms
- 2020: Support for Vue 3.0, launched uni-app x compiler
- 2021: Further improvement of ecosystem, plugin marketplace components exceeded 3000+
- 2022: uni-app 3.0 released, fully embracing Vue 3.0
- 2023: uni-app x officially released with significant performance improvements
Getting Started with uni-app
Ready to start using uni-app? Please continue reading the Getting Started chapter to learn how to create your first uni-app project.