【开源实录】从App Store审核失败到开源:一个AI辅助开发的SwiftUI项目
这是一个因"失败"而诞生的开源项目,也许不够完美,但对学习SwiftUI和AI应用开发可能有些参考价值。希望能帮助到正在学习iOS开发的朋友们。
01 / 项目由来
最初是想做一个简单的文字卡片工具,希望能帮助用户快速制作精美的文字卡片。在开发过程中,我选择了使用ChatGPT等AI工具来辅助开发,确实大大提升了开发效率。但随之而来的问题也很明显:代码结构不够清晰,某些逻辑实现欠考虑,导致App Store审核一直未能通过。这让我意识到过度依赖AI编程的弊端。
思考再三,我决定将项目开源。希望这个项目能成为一个真实的案例,帮助开发者们了解AI辅助开发的优势与陷阱。
02 / 它是什么?
CardMaker是一款文字卡片制作工具。在社交分享方面,它可以帮助你制作精美的朋友圈文案、排版优雅的读书笔记和独特的观影感悟。在内容创作上,你可以用它来制作长文章精选片段、个人随笔记录和诗词歌赋排版。
特色功能包括多种卡片样式切换、实时预览编辑效果、自定义主题颜色、灵活的字体设置以及便捷的导出分享。
03 / 技术特点
项目采用Swift 5.0开发,基于iOS 17平台。在架构设计上,我们使用了MVVM架构模式,采用SwiftUI构建现代化UI,通过Combine实现响应式编程,并保持清晰的模块化结构。
核心实现包括自定义View封装、主题管理系统、动画效果处理、状态管理方案和深色模式适配。在工程实践方面,我们采用了代码即文档的注释风格,规范的Git版本控制,以及模块化的项目结构。
04 / AI开发经验
在使用AI辅助开发过程中,我发现它在基础UI组件实现、常见功能的代码示例、简单动画效果和工具类方法编写等方面表现出色。但在整体架构设计、复杂业务逻辑、性能优化方案和安全相关代码等方面则需要谨慎使用。
最佳实践是:理解需求后再询问AI,仔细审查AI生成的代码,必要时进行重构优化,始终保持独立思考能力。
05 / 项目亮点
在功能方面,我们提供了4种精美卡片模板、丰富的主题配色、完整的暗黑模式和导出分享功能。对于想要学习的开发者来说,这是一个很好的SwiftUI实战案例,包含了主题切换实现、动画效果示例和状态管理方案。你可以在代码中找到自定义View、主题管理、动画处理和手势交互的具体实现。
06 / 开源地址
项目已在GitHub开源:https://github.com/Byclemon/cardmaker_old
欢迎Star、Fork和提出建议!
07 / 项目反思
通过这个项目,我深刻体会到:AI确实能提高开发效率,但过度依赖会带来代码质量难以保证、系统架构欠缺考虑、性能优化不够理想等隐患。在使用新技术时,需要深入理解基本原理,保持独立思考能力,注重代码质量把控。失败也是一种财富,它让我积累了宝贵的经验,发现了自身的不足,明确了改进的方向。
08 / 写在最后
这个项目虽然没能上架成功,但整个开发过程中的经验教训都很宝贵。如果你正在学习SwiftUI,对AI辅助开发感兴趣,想要一个实践项目或需要参考实现案例,欢迎查看这个项目,也许能给你一些启发。
关于作者:
GitHub:@Byclemon
欢迎交流讨论,一起学习进步