JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

开发技术框架选型 | JustPaste.app
27 days ago5 views
💻Technology

开发技术框架选型

一、项目背景

本次项目的核心需求,是开发一款能够同时支持:

  • HarmonyOS NEXT(鸿蒙)

  • 微信小程序

  • Android

  • iOS

的跨端应用。

由于项目目标平台较多,因此前期重点工作主要集中在:

  1. 技术框架选型

  2. 开发环境搭建

  3. 鸿蒙生态兼容验证

  4. 富文本编辑器方案调研

  5. 跨平台开发效率评估

在近几天的实际开发与测试过程中,主要尝试了以下三种技术路线:

  • Flutter 鸿蒙版(OpenHarmony Flutter)

  • uni-app x

  • Taro

最终综合开发效率、生态稳定性、鸿蒙支持程度以及后期维护成本后,初步倾向选择 Taro 作为当前阶段的主开发方案。

二、三种技术方案的实际测试与评价

1. Flutter 鸿蒙版(OpenHarmony Flutter)

1.1 选择 Flutter 的原因

Flutter 本身是一套成熟的跨平台开发方案:

  • UI 一致性高

  • 性能优秀

  • 社区生态成熟

  • Dart 语言开发效率较高

理论上非常适合作为跨平台 App 技术方案。

因此最开始优先尝试了 Flutter 鸿蒙版。

1.2 实际开发过程中遇到的问题

在实际环境配置过程中,发现 Flutter 鸿蒙版目前仍处于快速迭代阶段,整体稳定性与官方 Android/iOS 生态存在明显差距。

主要问题包括:

(1)环境变量识别不统一

Flutter CLI、DevEco Studio、Hvigor 构建工具之间存在环境识别差异。

经常出现:

  • 终端可以正常 build

  • IDE 点击运行失败

  • SDK component missing

  • No Hmos SDK found

等问题。

本质上是:

不同工具读取的环境变量上下文并不一致。

(2)SDK 版本兼容问题严重

鸿蒙 SDK 下载的是较新版本(如 API 23),但 Flutter 鸿蒙工具链只能识别较旧版本(如 API 12 或 API 15)。

导致:

  • SDK 实际存在

  • hf doctor 仍判定 SDK 无效

甚至需要手动修改 sdk-pkg.json 文件进行“伪装”。

(3)PATH 路径冲突问题

由于电脑中同时存在:

  • 标准 Flutter

  • 鸿蒙 Flutter

IDE 有时会错误调用标准 Flutter 的 dart 引擎。

结果导致:

  • 无法识别鸿蒙工程

  • 无法处理 .hap

  • 模拟器无法连接

该问题排查耗时较长。

(4)开发体验不稳定

当前阶段:

  • IDE 运行按钮不稳定

  • 热重载依赖终端

  • 原生构建流程较复杂

最终只能采用:

hf run

配合:

r

进行终端热重载开发。

1.3 Flutter 鸿蒙版的优点

虽然配置复杂,但 Flutter 鸿蒙版仍然有明显优势:

优点

  • UI 表现力强

  • 动画能力优秀

  • Flutter 本身开发体验成熟

  • Dart 语法较规范

  • 适合复杂 App

1.4 Flutter 鸿蒙版当前阶段的问题总结

目前最大的问题并不是代码开发,而是:

“环境配置成本远高于正常开发成本”。

大量时间消耗在:

  • SDK 对齐

  • 环境变量修复

  • 工具链兼容

  • DevEco 配置

对于项目快速推进不太友好。

因此现阶段不适合作为主技术方案。

2. uni-app x 技术方案

2.1 尝试 uni-app x 的原因

uni-app x 主打:

  • 原生性能

  • 多端统一

  • 支持鸿蒙

  • DCloud 官方生态

理论上也非常适合作为跨平台方案。

因此后续又测试了 uni-app x。

2.2 实际开发过程中遇到的问题

(1)语法体系与传统前端差异较大

uni-app x 使用的是:

  • UTS(Uni TypeScript)

而不是普通 JavaScript 或 TypeScript。

其特点是:

  • 强类型

  • 静态编译

  • 编译限制严格

因此很多 Web 开发习惯无法直接使用。

(2)AI 生成代码错误率较高

这是开发过程中最明显的问题之一。

目前网络上的:

  • uni-app

  • Vue

  • JavaScript

资料很多。

但:

uni-app x 的公开资料仍然较少。

导致 AI 在生成代码时,经常:

  • 混用旧版 uni-app API

  • 使用错误类型

  • 使用不存在的方法

  • 引用旧语法

例如:

  • createSelectorQuery

  • uni.request

  • WebviewElement

等旧版写法。

实际在 uni-app x 中会直接编译失败。

(3)富文本编辑器集成复杂

项目中需要富文本编辑能力。

但 uni-app x App 端并不是浏览器环境。

因此:

依赖 DOM 的 Web 编辑器无法直接运行。

最终只能采用:

web-view + HTML 页面

方式进行桥接。

核心方案是:

  • web-view 内运行 Textrix 编辑器

  • uni.webview.js 做通信桥梁

  • 原生页面与 Web 页面进行消息同步

该方案虽然可行,但整体复杂度较高。

2.3 uni-app x 的优点

优点

  • 原生性能较好

  • 多端支持能力强

  • 官方支持鸿蒙

  • 编译效率较高

  • 适合轻量型业务应用

2.4 uni-app x 当前阶段的问题总结

当前阶段最大的困难是:

“生态资料不足”。

尤其:

  • AI 辅助能力较弱

  • 可参考案例较少

  • 编译器规则严格

  • 第三方库兼容有限

开发过程中需要频繁查阅官方文档。

整体开发门槛偏高。

3. Taro 技术方案(当前预选方案)

3.1 为什么最终倾向选择 Taro

在经过 Flutter 鸿蒙版与 uni-app x 的实际测试后,最终开始重点调研 Taro。

原因主要包括:

(1)React + TypeScript 开发生态成熟

Taro 基于:

  • React

  • TypeScript

  • Node.js

整体开发模式更加接近现代 Web 前端。

开发体验更加统一。

(2)AI 辅助开发效果明显更好

由于:

  • React

  • TS

  • Web 技术

互联网资料非常丰富。

因此 AI 生成代码准确率明显更高。

整体开发效率提升明显。

(3)鸿蒙适配方案更加清晰

京东官方提供:

@tarojs/plugin-platform-harmony-hybrid

插件。

Taro 可通过:

npm run dev:harmony-hybrid

启动本地 Dev Server。

然后通过:

  • DevEco Studio

  • ArkUI Web 容器

加载本地页面。

整体开发流程更加清晰。

(4)热更新开发体验较好

采用局域网热更新方案后:

  • 修改代码即可实时刷新

  • 无需频繁重新打包

  • 开发调试效率明显提高

这一点相比 Flutter 鸿蒙版体验更稳定。

3.2 Taro 的优点

优点

  • React 生态成熟

  • TypeScript 支持完善

  • AI 辅助开发效果好

  • 小程序支持成熟

  • Web 开发模式统一

  • 鸿蒙适配方案较清晰

  • 社区活跃度较高

3.3 Taro 当前的不足

目前 Taro 更偏:

  • Hybrid

  • WebView 容器方案

因此:

原生能力深度不如 Flutter。

对于:

  • 高性能动画

  • 复杂原生交互

  • 大型重度 App

仍然存在一定限制。

但对于当前项目阶段来说,已经能够满足需求。

三、这几天重点完成的工作

近期主要完成了以下工作:

1. 鸿蒙开发环境调研与搭建

包括:

  • DevEco Studio

  • HarmonyOS SDK

  • Flutter 鸿蒙工具链

  • Hvigor 构建环境

  • HDC 真机调试

并解决了:

  • SDK 识别失败

  • 环境变量冲突

  • PATH 优先级问题

  • 模拟器连接失败

等问题。

2. Flutter 鸿蒙版完整测试

完成了:

  • hf doctor

  • hf build hap

  • hf run

  • 热重载调试

并验证了:

Flutter 鸿蒙版当前阶段的实际开发可行性。

3. uni-app x 富文本编辑器方案验证

重点完成了:

  • web-view 通信方案

  • Textrix 编辑器接入

  • uni.webview.js 消息桥接

  • App 与 Web 双向通信

验证了:

uni-app x 中富文本编辑器的可实现方案。

4. Taro 鸿蒙混合开发方案调研

完成了:

  • Taro CLI 环境配置

  • harmony-hybrid 插件测试

  • Dev Server 热更新测试

  • ArkUI Web 加载验证

并基本打通:

“Taro + 鸿蒙 + 小程序”的开发闭环。

四、当前阶段的建议方案

结合目前测试结果:

当前更推荐:

Taro + React + TypeScript

作为项目第一阶段的主开发方案。

原因主要是:

  • 开发效率更高

  • AI 辅助效果更好

  • 小程序生态成熟

  • 鸿蒙适配方案清晰

  • 环境稳定性优于 Flutter 鸿蒙版

  • 学习与维护成本较低

五、总结

本次技术选型过程中,重点并不只是“哪个框架最好”,而是:

“哪个框架更适合当前项目阶段”。

经过实际环境搭建、跨端测试以及鸿蒙适配验证后,可以得出的结论是:

  • Flutter 鸿蒙版性能强,但当前配置复杂度较高

  • uni-app x 原生能力不错,但生态仍在完善阶段

  • Taro 在开发效率、稳定性以及跨端支持方面更均衡

因此,现阶段更适合采用 Taro 作为主要技术方案推进项目开发。

← Back to timeline