当前位置: 首页 > news >正文

参与开源鸿蒙跨平台开发训练营的心得

现在我正坐在 CSDN 编辑页里写这篇《参与开源鸿蒙跨平台开发的心得》,从最开始的 “连 Flutter 是什么都懵”,到现在能写出适配开源鸿蒙的 App、发 9 篇 CSDN 博文,全程都是 “边踩坑边记录”—— 新手真的不用怕!

一、先晒我的 “实战成果”

现在打开我的 CSDN 主页,已经有 9 篇开源鸿蒙相关文章了:从《【2025最新】Flutter开发OpenHarmony应用全指南》到《关于我用 flutter 开发开源鸿蒙自律软件碰到的问题》系列,单篇最高 1000 + 阅读 ——新手记录 “踩坑过程”,比 “写大佬级教程” 更受欢迎!

而我折腾这 3 个月的核心成果,是这个能在开源鸿蒙设备上跑的自律 App:

记录页面(对应你的粉色模块截图):分类存日记 / 草稿,底部加号一键新增;

计时页面(对应你的紫色计时器截图):支持番茄钟 / 学霸模式,暂停 / 开始操作流畅;

自律页面(对应你的任务列表截图):日历 + 待办双视角,任务周期 / 标签都能管理。

二、小白入门 Flutter:我用 “笨办法” 1 个月搞定基础

一开始我对着 Flutter 文档发呆,后来按 “先跑通→再改代码→最后拆逻辑” 的步骤,直接把 “计数器 Demo” 改成了我的自律 App 页面:

学习阶段我的具体操作(小白直接抄)对应成果(附截图关联)
第 1 周(跑通)跟着教程搭环境,复制 Demo 代码跑通 “计数器”,并装到开源鸿蒙设备让 Flutter 在鸿蒙手机上启动(第一步就成功!)
第 2-3 周(改代码)把 “计数器” 改成 “计时页面”:把数字改成 “00:00”,按钮改成 “开始计时”做出第一个交互页面(就是你看到的紫色计时器截图)
第 4 周(拆逻辑)把 “计时功能” 单独写个函数,把 “页面样式” 拆成组件能改别人的代码,自己写任务列表不报错(对应自律页面截图)

我卡了 2 天的 2 个 Flutter 坑

这些坑你写 App 时 100% 会碰到,直接照做:

  1. 坑:计时页面红屏(TabController 缺失)

    • 现象:加了 “自由计时 / 番茄钟” 标签后,页面直接变红(对应你的红屏报错截图);
    • 修复:给页面套 1 行DefaultTabController(length:2, child: 你的页面),红屏秒没。
  2. 坑:自律页面黑屏(List 类型不匹配)

    • 现象:渲染任务列表时突然黑屏(对应你的黑屏报错截图);
    • 修复:给列表加cast<Widget>(),告诉 Flutter “这是组件列表”。

当然了,还有webview的坑,当时直接给我项目干报废了,记忆尤新

三、适配开源鸿蒙:选对版本 = 少熬 3 个夜

普通 Flutter 在鸿蒙设备上要么卡要么崩,我踩了 2 次坑才找到适配开源鸿蒙的 “正确姿势”

版本对比普通 Flutter鸿蒙适配 Flutter(3.27.5-ohos-1.0.1)
鸿蒙设备运行红屏 / 闪退稳定跑通(比如我的 3 个页面截图)
原生能力调用不支持能通过 ArkTS 调通知 / 后台保活
学习成本要改兼容代码直接用官方分支,不用自己填坑

适配 3 步走(5 分钟搞定)

  1. 鸿蒙适配版 Flutter:官网找3.27.5-ohos-1.0.1分支;
  2. 装 DevEco Studio:配置开源鸿蒙 6.0 SDK;
  3. 连鸿蒙设备:用flutter run直接把 App 装到手机上(我是在模拟器上运行的,有设备优先使用设备)。

四、给想入开源鸿蒙的小白:3 条 “少走弯路” 建议

  1. 先跑通最小 Demo:别一开始就写复杂 App,先让 Flutter 在鸿蒙设备上跑个 “Hello World”(像我第 1 周那样);
  2. 踩坑就记下来:哪怕是 “红屏” 这种小问题,写成博文不仅帮自己复盘,还能被同路人看到(像我的 CSDN 列表那样);
  3. 不用等 “学完再做”:我写第一个页面时连 “状态管理” 都不懂,边做边查反而学得快。

现在开源鸿蒙的 Flutter 生态越来越完善,新手入场真的没那么难 —— 我 1个月前啥也不会都能上手,你肯定也可以!

欢迎大家加入[开源鸿蒙跨平台开发者社区](https://openharmonycrossplatform.csdn.net),一起共建开源鸿蒙跨平台生态。

http://www.cnnetsun.cn/news/2774.html

相关文章:

  • UniScene AutoDL 环境部署完全指南 (二):虚拟环境的建立与注意事项
  • 原生多模态统一架构比不过单模态专家模型?华为团队出品的EMMA “Say No”
  • 北航美团等最新EditThinker:给AI修图装上“大脑”,Flux、OmniGen2瞬间智商暴涨!
  • 西门子200smart PLC控制三台电机24小时自动轮换运行程序案例:智能监控与故障切换系统
  • 收支记账不用逐条录!批量添加收支 + 生成项目图表,完整指南功能在手
  • 怕提错行数、丢内容?文本精准提取指南功能,一键获取 TXT 第 2-5 行零失误
  • 10、网络问题排查:数据包捕获与DNS故障解决
  • 11、DNS服务器故障排查指南
  • 12、邮件发送问题排查全攻略
  • 13、电子邮件收发问题排查指南
  • 14、网站是否宕机?排查 Web 服务器问题
  • 15、网站服务器问题排查全攻略
  • 16、常见Web服务器与数据库问题排查指南
  • 17、数据库与硬件问题排查指南
  • 18、常见硬件问题诊断与解决
  • 昇腾算力下的性能革新:vLLM-Ascend深度测评与全面调优实践
  • 27、Linux 文件同步与共享全攻略
  • 28、Linux 用户环境与启动文件配置指南
  • 29、深入了解 Linux 桌面系统:组件、X 窗口系统及实用工具
  • 30、Linux系统的桌面环境、打印系统与开发工具
  • 32、编程语言与软件编译全解析
  • 33、Linux 软件构建与应用全解析
  • 34、Linux系统技术解析与应用
  • 从零开始跑通Wan2.2-T2V-5B:环境配置踩坑实录
  • Wan2.2-T2V-5B在体育赛事集锦生成中的自动化尝试
  • Wan2.2-T2V-5B在茶艺表演视频生成中的文化尊重
  • 15、游戏开发中的 Novashell 系统:功能与应用详解
  • 16、跨平台游戏开发:从 Novashell 到 Director 的探索
  • 17、深入探索Director开发:核心组件与脚本编程
  • 18、游戏开发:从2D精灵动画到3D实时游戏的全面指南