用华为云 AI Shell 从零搭建每日习惯追踪器:自然语言开发实战
背景:为什么试试自然语言开发
作为开发者,我们习惯了先画原型、再写代码、最后调试的流程。但如果只把你想要的功能用自然语言描述清楚,AI 就能直接生成可运行的完整应用,开发效率会发生什么变化?这次我在华为云开发者空间的 AI Shell 里做了一次完整实验:从零搭建一个「每日习惯追踪器」网页应用,并发布到华为云作品展览馆。本文记录完整过程与关键技术细节。
需求描述:把功能点说清楚
自然语言开发的核心是把需求描述清楚。我给 AI Shell 的需求是这样的:开发一个每日习惯追踪器网页应用,保存到指定目录。功能要求包括:可以添加和删除自定义习惯;每天可以为每个习惯打卡,并显示连续打卡天数;有本周完成率的进度条统计;数据用 localStorage 持久化,刷新不丢失;界面美观,适合作为作品展示;用单文件 HTML 实现,直接打开就能用。
注意这里有几个技巧:功能要逐条列清楚、明确技术约束(单文件 HTML、localStorage)、明确使用场景(作品展示)。描述越具体,生成结果的可用性越高。
AI Shell 的生成过程
在 AI 开发者空间创建会话后,AI Shell 会自动完成以下工作:规划应用结构、生成单文件 HTML 代码、写入指定目录、进行自测。整个过程不需要我手动创建任何文件,只需要在对话中描述需求,然后在右侧的资源管理器中确认产物。
实际体验中,AI Shell 对中文需求的理解非常准确,生成的代码结构清晰:顶部是习惯列表区,每个习惯卡片包含名称、连续打卡天数、今日打卡按钮;下方是本周完成率的可视化进度条;底部是添加新习惯的输入区。
代码结构解析
生成的应用虽然只有单文件,但结构完整,核心逻辑有三块:
第一是数据层。所有习惯数据以 JSON 形式存储在 localStorage 中,每次打卡或修改都会同步写入,刷新页面后从 localStorage 恢复,数据不丢失。
第二是连续打卡算法。每次打卡时记录日期,连续天数通过比较今天与昨天的打卡记录计算得出,中断则重新计数。这个逻辑虽然简单,但极易出现边界 Bug,AI 生成的版本对「同一天重复打卡」和「跨天中断」都做了正确处理。
第三是可视化层。本周完成率用进度条展示,按「本周已打卡次数除以应打卡次数」计算,让用户一眼看到自己的坚持程度。
发布到作品展览馆
应用生成后,我通过华为云的发布技能把它发布到了作品展览馆。发布流程很顺:在 AI Shell 中直接调用发布技能,按提示完成授权,应用就会出现在作品展览馆中,其他开发者可以直接访问体验。
总结与经验
这次实验有几个明显收获:一是自然语言描述需求时,功能点列表比大段文字更有效;二是明确技术约束(单文件、无依赖)能避免 AI 过度设计;三是 AI 生成的代码自测环节不能省,发布前一定自己打开验证一遍核心功能。
对开发者来说,这类工具的价值不在于替代写代码,而在于把「想法到可运行原型」的时间从几小时压缩到几分钟。当你有一个小工具想法时,值得先用自然语言让它跑起来。
- 点赞
- 收藏
- 关注作者
评论(0)