跨端跨平台技术架构选型

1,428 阅读2分钟

跨端跨平台技术架构选型

什么是跨端跨平台?

简单来说就是编写一套代码,通过不同的编译命令可以输出不同端的代码;能兼容多端;将编译后的系统在不同端运行起来。那么具体需要跨哪些端呢?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

Flutter 是 Google 开源的应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台应用。
Flutter 为软件开发行业带来了革新:只要一套代码库,即可构建、测试和发布适用于移动、Web、桌面和嵌入式平台的精美应用。

生态

数据分析汇集时间截止到2023年5月23日

框架star跨端跨平台能力
uniapp38.1kWeb、Android、iOS、小程序、H5
taro33kWeb、Android、iOS、小程序、H5
React Native110kAndroid、iOS
Flutter154kWeb、Android、iOS、Windows、macOS、Linux,嵌入式

搜索指数分析对比

image.png ## 技术选型

个人建议,有不同意见的同学欢迎留言

  1. 小程序、H5选uniapp/taro,具体跟自己使用的技术栈靠,技术栈使用vue的建议使用uniapp。技术栈使用react的建议使用taro;
  2. 偏纯原生点的项目建议使用React Native/Flutter(需要掌握dart语言);
  3. 需要使用嵌入式这种直接使用Flutter

选型要点:

  1. 适合自己业务发展的
  2. 团队开发效率高的
  3. 便于团队维护的
  4. 社区活跃度高的
  5. 技术框架成熟的