【1024有奖互动】鸿蒙开发者博物馆 · 第一行代码展,10 月 30 日闭馆。

15 天,40 位开发者把各自的第一行代码放进了展厅。有人写崩了三次,有人一行都没敢改,有人从这一行一路做到了上架。

感谢每一位参展的人。以下是评审结果。

一、评选说明

  • 展期:2026 年 10 月 16 日 — 10 月 30 日
  • 参展:40 位开发者(活动主贴评论区共 46 条互动,含楼中楼回复)
  • 标准:共鸣度 40 + 技术含量 35 + 有趣程度 25,同时核验「【展区】+ 不少于 50 字 + 截图」的参展格式
  • 名额:镇馆之宝 6 名、幸运观众 1 名

四个展区全部有作品入选:翻车区 2 条、变形区 2 条、高光区 1 条、萌芽区 1 条。

补充说明:本次共有 40 位开发者参展。原定镇馆之宝 5 个名额,评审时发现优质内容密度超出预期,经主办方确认,增补 1 个名额。

二、镇馆之宝(6 名)

01 | 棒叔叔 | 21 楼 |【翻车区】

"标题被截断了。不是报错,不是红波浪线,不是白屏,就是安安静静地变成了省略号。"

首页标题被截断,他先花两小时怀疑字符串资源没加载,又去怀疑字体不支持字形,最后把 Row 的 layoutWeight(1) 删掉,标题瞬间完整——问题从来不在 Text,而是两侧各 34vp 的图标把"剩余宽度"分走了,31fp 就差那么一点点。

改法是降到 25fp 并显式写上 maxLines(1) 与 textOverflow,还在代码里留了注释,写给三个月后的自己。

这是全场把"排查链"写得最完整的一条:每一步都有动作、有排除依据,最后落到真实机制上。那句"编译通过说明不了任何事",几乎每个写声明式 UI 的人都中过招。


02 | 爱上纯净的蓝天 | 17 楼 |【变形区】

"值改了,但没人通知 UI。"

一个"点一次加一"的小需求,hits 在 console 里确实变成 1、2、3,界面就是不认。他从 @State 只盯直接持有对象讲起,讲到 V1 的 @Observed / @ObjectLink,再讲到 V2 的 @ObservedV2 + @Trace + @Local,三代写法连代码带取舍一起给了。

难得的是,他解释了"整个对象换一个新的"这种土办法为什么能跑却不该长用——漏抄一个字段就会悄悄丢数据。这是只有真踩过才写得出的判断。


03 | Sh1ro0 | 9 楼 |【翻车区】

"扫一眼绿条 BUILD SUCCESSFUL 就过去了,黄色的小字根本没进脑子。"

全场唯一一条写"上架被驳回"的。几十处 uiMaterial.ImmersiveMaterial 在自己 API 26 的测试机上跑得好好的,提审却被判最低版本不兼容——其实每一处调用都有一条 warning,只是被绿条盖过去了。真机一测,API 23/24 装上就闪退。

修完还有二次翻车:低版本里打开半模态,弹窗是透明的,因为背景本来就靠那个材质撑着。最后抽了 ApiCompat 工具类、统一包装 showToast、给 bindSheet 写双分支背景,是可直接抄走的工程化收口。


04 | Earth explosion | 19 楼 |【萌芽区】

"它跑通了。模拟器上出现了 Hello World,大大的,加粗的,50 号字体。但我没改任何东西。一行都没动。"

六年后端,Java、Python、Go 都写过,装 DevEco 时盯着进度条看了十分钟——因为这是职业生涯里第一次,面对一个完全陌生的开发范式从零开始。

模板能跑,他却不敢改,因为不确定 Row() 和 Column() 到底谁套谁。把新人的怯写得很准,也不装。结尾主动向评论区求指路,是全场互动引导最强的一条——它给了别人"留一句话"的理由。


05 | 2601_97112935 | 18 楼 |【高光区】

"最开始敲下这一行 ArkTS 的时候,我只是一名对鸿蒙开发充满好奇的高中生。"

从 Text("智核工具箱") 起手,一个空白首页,到计算器、单位换算、文本处理逐个补齐,鸿蒙版稳定之后又迁安卓、学签名打包、研究各家商店的上架规则。

没有堆术语,但每一步都具体。"没有团队,所有设计、编码、调试、上架准备全部靠课余时间"——这条的示范价值,大于它的技术价值。


06 | ios_小乔 | 4 楼 |【变形区】

"这里根本没有'把视图加进去'这一步——视图是被描述出来的,不是被拼装出来的。"

做了很多年 iOS,敲第一行 ArkUI 时一直在等一个能 addSubview 的地方,盯着 build() 看了半天。

真正翻车是照着 JS 习惯写对象字面量,满屏红波浪线,any 也不让用。后来想通了:ArkTS 是把类型约束前置到语言层,用"运行时才知道类型"的自由,换"改一处、编译器帮你把引用点全找出来"的确定性。对一个从静态类型一路走过来的人,这笔交换是赚的——跨栈视角,全场独一份。


三、幸运观众(1 名)

贾伟康 | 30 楼

"我出 1024 个虚拟币,竞拍 27 楼的建表语句——别人的第一行在向世界问好,你的第一行在给世界建模,把'角色'写进表结构的人,起点就是架构师思维,respect!"

「第一行代码拍卖会」环节里,出价和理由都给得最完整的一次:不只出价,还把对方那一行代码读懂了、说清了它为什么值这个价。


四、奖励与领奖

奖项

名额

奖励

镇馆之宝

6 名

HarmonyOS 定制礼盒 ×1 + CSDN 定制周边随机单品 ×1

幸运观众

1 名

HarmonyOS 笔记本 ×1 + CSDN 定制周边随机单品 ×1

请以上 7 位开发者在 2026 年 11 月 5 日 24:00 前 填写👉奖品邮寄登记表,逾期未提交视为放弃奖品。


五、公示与异议

公示期:2026 年 11 月 3 日 — 11 月 5 日。

如对名单有异议(包括作品原创性、格式合规性等),可在本贴评论区留言,或私信 @HarmonyOS社区小助手。公示期结束后不再受理。


最后

这座博物馆不打烊。

展厅里那件展品,可能只有三行 @Entry,可能被你写完就删了再没打开过,可能至今还在闪退。但它确实是你进入鸿蒙世界的门票。

第一行代码之后,还有很多行要写。

#我的第一行鸿蒙代码# | 鸿蒙开发者博物馆 · 第一行代码展
2026 年 11 月 3 日

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐