用懂跨端一网打尽
2024-01-19 14:42:30
这次接到了个新需求,说是产品经理对系统有部分改动,他要能在小程序上实现一些新功能,只能硬着头皮去搞。
我接到的任务是接入地图等第三方组件以及一些 UI 组件,但还没有指定具体要使用什么技术方案。因此在动工之前先对市面上比较主流的一些跨端方案做了一些调研,看看哪种最合适。
首先需要先确定开发跨端应用的目标,再根据目标选择适合的方案。当前主流的跨端方案主要分为两类:一是将代码编译成系统原生代码,另一类是采用 webview 展示。
第一类需要额外开发工作,其中之一便是多端适配。在一般的工作流里,前段代码会被编译成平台特定的原生代码,比如 iOS 的 Objective-C、Swift 和 Android 的 Java、Kotlin 等,开发人员需要按平台需求对前段代码做多端适配,开发工作量巨大。
第二类采用 webview 展示的方式通常会造成性能和资源消耗问题,虽然能满足简单产品需求,但在复杂产品中会影响用户体验,此外还有网络依赖问题。此外这种方案还可能存在跨平台 UI 不一致、HTML 表现有差异等问题。
对于只用来展示内容的页面,选择 webview 方案比较合理。而对 Native 应用则可以选择第一类方案。总的来说,需要根据产品需求和项目预算来选择合适的方案。如果既想开发 Native 应用又想尽可能节省开支,则可以选择使用混合开发。
跨端方案对比
我列出了目前最主流的六大跨端方案进行对比:
-
WePY
功能全、表现优异,但需要用 webview 做基础。
-
MPVue
既能生成小程序,又能生成 App,对前端开发人员非常友好。
-
Taro
UI 实现比较灵活,组件库不够丰富。
-
Uni-App
UI 组件库比较丰富,提供众多模板,但性能和启动速度有待优化。
-
Chameleon
为新一代跨平台方案,声称性能、大小和启动速度均有显著提升。
-
Kbone
组件库需要花钱购买,功能比较简单。
综合对比
方案 | 性能表现 | UI 组件 | 兼容性 | 框架优势 |
---|---|---|---|---|
WePY | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | 代码复用性较高 |
MPVue | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | 支持小程序,开发者上手难度低 |
Taro | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ | 代码复用性较高,UI 实现灵活 |
Uni-App | ⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | 组件库丰富,提供众多模板 |
Chameleon | ⭐⭐⭐⭐⭐ | ⭐ | ⭐⭐ | 性能、大小和启动速度优异 |
Kbone | ⭐ | ⭐⭐⭐ | ⭐⭐⭐ | 组件库丰富 |
总结
根据自己的经验,推荐优先考虑 Taro、Uni-App 和 WePY。如果对性能要求较高可以选择 Chameleon,预算充足可以选择 Kbone。MPVue 则介于中间。
以上仅为我个人的观点,具体选择仍需根据自己的项目需求和预算来决定。