跨端跨平台技术架构选型
什么是跨端跨平台?
简单来说就是编写一套代码,通过不同的编译命令可以输出不同端的代码;能兼容多端;将编译后的系统在不同端运行起来。那么具体需要跨哪些端呢?PC/移动/小程序/H5等...
市面技术栈
uni-app
是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
taro
Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书 小程序 / H5 / RN 等应用。
现如今市面上端的形态多种多样,Web、React Native、微信小程序等各种端大行其道。当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去
React Native
使用 React 来创建 Android 和 iOS 的原生应用
React Native 将原生开发的最佳部分与 React 相结合, 致力于成为构建用户界面的顶尖 JavaScript 框架。
酌量添加,多少随意。 随时都可以把 React Native 无缝集成到你已有的 Android 或 iOS 项目,当然也可以完全从头焕然一新地重写。
Flutter 是 Google 开源的应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台应用。
Flutter 为软件开发行业带来了革新:只要一套代码库,即可构建、测试和发布适用于移动、Web、桌面和嵌入式平台的精美应用。
生态
数据分析汇集时间截止到2023年5月23日
| 框架 | star | 跨端跨平台能力 |
|---|---|---|
| uniapp | 38.1k | Web、Android、iOS、小程序、H5 |
| taro | 33k | Web、Android、iOS、小程序、H5 |
| React Native | 110k | Android、iOS |
| Flutter | 154k | Web、Android、iOS、Windows、macOS、Linux,嵌入式 |
搜索指数分析对比
个人建议,有不同意见的同学欢迎留言
- 小程序、H5选uniapp/taro,具体跟自己使用的技术栈靠,技术栈使用vue的建议使用uniapp。技术栈使用react的建议使用taro;
- 偏纯原生点的项目建议使用React Native/Flutter(需要掌握dart语言);
- 需要使用嵌入式这种直接使用Flutter
选型要点:
- 适合自己业务发展的
- 团队开发效率高的
- 便于团队维护的
- 社区活跃度高的
- 技术框架成熟的