自诞生以来,iOS 工程领域发生了显著的变化,从 Interface Builder 时代发展到 AI 增强的开发工作流程。来自各个背景的程序员都报告说,通过 AI 的帮助,他们的工作效率有所提高,我们看到 iOS 应用程序的概念化和构建方式发生了根本性的转变。
然而,人工智能辅助开发的兴起既带来了机遇,也带来了挑战,每个 iOS 开发人员都需要了解。
关键要点
人工智能辅助开发工具正在重塑 iOS 开发工作流程,研究显示文档速度提高了 50%,代码生成速度提高了 35-45%,尽管在处理复杂的架构任务时仍然受到“70% 问题”的限制。
CursorAI 凭借其 Composer 和 Chat 功能脱颖而出,支持同时进行多文件操作和 UI 逆向工程,同时保持项目范围的上下文和 MVVM 等架构模式。
虽然 AI 工具擅长自动执行日常任务和生成样板代码,但成功的 iOS 开发仍然需要人类在调试、性能优化和 App Store 合规性等关键方面具备专业知识。
iOS 开发的演变
iOS 工程已经走过了漫长的道路,就像软件工程的发展一样。过去,iOS 工程师使用 Interface Builder 和 XIB 文件,它们就像用于创建静态视图的 XML 文件一样。
但 2014 年,苹果推出了新的编程语言 Swift,情况发生了变化。起初,UIKit 等 UI 框架进行了更新以兼容 Swift,但它们的根源仍然在于 Objective-C。然后,在 2019 年 6 月,SwiftUI 出现了。这改变了游戏规则。
SwiftUI 就像一个声明式框架,可让您在所有 Apple 平台上构建用户界面。这是 iOS 开发的全新思维方式,从旧的方式转变为更现代的基于组件的方法。
这种演变不仅仅涉及代码。它改变了开发人员对 iOS 应用的看法。他们不必手动布局所有内容,而是可以创建根据设备和用户偏好而变化的自适应界面。借助组件化架构,他们可以重复使用代码并简化维护。
此外,类型推断和自动引用计数使事情变得更简单、更高效。它还使函数式响应式编程在 iOS 开发中的实现变得轻松。每向前迈出一步,iOS 开发就更接近我们今天所知的现代、高效的流程。
人工智能革命的发展
2024 年,苹果发布了首款 AI 代码生成工具Swift Assist。这个拥有 70B+ 参数的模型,专门针对 Swift 代码、SDK 和文档进行训练,标志着苹果正式进军 AI 辅助开发领域。Swift Assist 目前仍在开发中,尚未向公众发布。
麦肯锡的研究表明,人工智能擅长某些任务,但并非全部。它可以将代码文档编写速度提高 50%,使代码生成速度提高 35-45%。但它在非常复杂的任务上并不擅长。工程负责人 Addy Osmani 将此称为“70% 问题”,因为人工智能工具擅长相对简单的任务,但它们需要人类介入复杂的任务。
人工智能编码助手在自动创建样板代码和实现标准功能方面大有裨益。它们还为基本优化和安全考虑提供帮助。
然而,在设计系统架构、优化性能或理解不同系统组件之间的相互作用等复杂任务时,它们的能力有限。此外,它们无法处理异常情况或辨别系统的整体集成。
现代人工智能工具格局
当前的 AI 开发工具生态系统提供了各种方法来增强开发过程。Apple 的 Swift Assist 代表了平台所有者的愿景,它与开发环境深度集成,并针对 Swift 和 Apple 框架进行了特定优化。
GitHub Copilot 提供广泛的语言支持并与版本控制工作流深度集成。ChatGPT 和 Claude 提供通用的 LLM,允许人们将代码复制并粘贴到他们的门户中,并提示进一步增强他们的代码并进行修改。
在这些工具中,CursorAI已成为 iOS 工程师特别青睐的选择。它结合了对 Visual Studio Code 的熟悉度以及专门为 iOS 工程师设计的功能。CursorAI 还轻松解决了使用 ChatGPT 和 Claude 进行编码的最大障碍之一——手动将代码复制并粘贴到 Web 浏览器中。
CursorAI 能够理解项目背景、适应现有代码库并支持多种 AI 模型,这使其非常适合专业的 iOS 开发工作流程。
使用 CursorAI 进行 iOS 开发简介
在本文中,我们将深入探讨 CursorAI 如何支持 iOS 开发。了解如何有效地将 CursorAI 集成到您的 iOS 开发工作流程中需要仔细考虑工具配置和开发实践。
以下部分演示如何配置CursorAI以获得最佳性能,并通过示例笔记应用程序探索实际实现。
为了演示 CursorAI 的功能,我们将创建一个名为 NoteTaker 的简单笔记应用程序。使用默认的 SwiftUI 模板在 Xcode 中创建一个新项目后,我们将在 CursorAI 中打开它以开始增强我们的开发工作流程。
这个示例将展示AI辅助如何简化常见的iOS开发任务,同时保持代码质量和架构最佳实践。
基本 Xcode 项目设置
基本 CursorAI 项目设置
了解人工智能角色和背景
CursorAI 最强大的功能之一是它能够理解并适应不同的开发角色和环境。配置 CursorAI 以了解项目的架构和模式至关重要。
这需要建立与您的开发方法相对应的 AI 角色,例如指定 MVVM 架构偏好或面向 SwiftUI 的开发模式。
CursorAI 有两种定义规则的方法:您可以为所有项目建立通用规则,也可以为特定项目建立特定规则。在我们的例子中,让我们为所有项目配置规则。
要为所有项目设置规则,请转到“光标”>“设置”>“光标设置”。然后在“常规”>“AI 规则”下,您将能够使用一组特定规则来指示 IDE。在本教程中,我们将使用Ray Fernando 的博客文章中分享的预设规则。
在为 iOS 开发配置 CursorAI 时,我们应该制定明确的开发实践指南。这有助于确保 AI 建议符合我们项目的标准和架构决策。例如,我们可以指定我们对 SwiftUI 而非 UIKit 的偏好、MVVM 架构以及我们团队遵循的任何特定编码约定。
使用 CursorAI 进行 iOS 开发的实用技巧
现在我们已经完成了基本设置,让我们来探索 CursorAI 可以增强 iOS 开发工作流程的一些实用方法。让我们探索一些功能,例如 Composer 和 Chat,以及 CursorAI 如何以独特的方式提高 iOS 开发人员的生产力。
使用 Composer 处理多个文件
Composer 功能通过提供全面的项目范围代码生成和重构功能,使 CursorAI 有别于传统的基于 AI 的 IDE。与需要在文件之间手动复制粘贴的传统工具不同,Composer 可以理解整个代码库上下文,从而实现无缝的多文件操作。
这种情境感知对于 iOS 开发尤其有价值,因为 iOS 开发的功能通常涵盖多个 SwiftUI 视图、视图模型和数据模型。借助 Composer 功能,您可以轻松操作多个文件,并确保代码库中的所有文件都可以从集中位置进行重构。
Composer 功能特别有用的一种方式是,当我们想要为应用程序中的特定功能创建多个新文件时。例如,让我们考虑一下我们想要为该视图创建一个新的 SwiftUI 视图和一个相应的 ViewModel 的场景。让我们探索使用 Composer 功能实现此功能的过程。
要使用 Composer 功能:
1. 按 CMD+I 进入 Composer 界面
2. 提供详细的提示,描述你期望的实现方式
3. 具体说明架构模式(MVVM、SwiftUI 实践)
4. 包括任何相关的限制或要求
5. 按 Enter 生成实现
例如,在创建新功能时,您的提示可能会说:“使用 MVVM 架构和 SwiftUI 创建一个新的笔记条目视图,包括输入验证和本地存储功能。”
提交提示后,CursorAI 将:
1. 生成建议的代码更改并附上详细的解释
2.提供选择性实施的选项:
接受受影响文件的所有更改
选择要实施的具体变更
请求修改以更好地满足您的要求
3. 在应用更改之前预览对代码库的影响
这种迭代方法可确保 AI 生成的代码符合项目标准,同时让您完全控制实施细节。只需一个清晰简洁的提示,我们就能为我们的笔记应用制作一个基本实用的功能,让我们可以输入和显示笔记。
通过这个例子,我们可以看到如何与整个项目协作来创建名为 MainView 和 MainViewModel 的新文件,并使用 Composer 同时处理多个文件。
使用 CursorAI 的聊天和编辑功能
CursorAI 提供全面的代码分析功能,并支持针对特定代码段进行有针对性的重构。CursorAI 的聊天功能可让您与 LLM 交谈并了解某些文件、附加图像以进行逆向工程和调试。CursorAI 的编辑功能非常适合在单个文件中完成代码。
重构特定代码行
以下示例演示了如何使用 CursorAI 的编辑功能重构 MainView 文件中的特定代码段。假设我们希望将保存的笔记显示在基于 SwiftUI 的 ScrollView 中的渐变方块中。
选择 MainView 结构中的所有代码行,然后按 CMD+K,在对话框中给出有关如何重构这些代码行的清晰简洁的说明。我们希望将所有注释显示在具有渐变背景的方形列表中,我们还希望确保 TextEditor 和主标题文本保持在屏幕顶部。
您还可以附加特定主题的文档或教程,在我们的例子中,提示中附带了有关 SwiftUI 中的 CollectionViews 的教程。要充分利用此功能,请非常具体、简洁并定义限制。
一旦您输入提示并接受代码建议,CursorAI 将实施这些更改。如果我们检查更新后的 UI 的状态,我们可以看到我们要求的确切更改已实施,同时确保代码质量得到维护。
使用 CursorAI 的聊天功能对用户界面进行逆向工程
与使用 ChatGPT 和 Claude 进行编码类似,CursorAI 允许您通过在基于聊天的界面中提示来深入分析代码、调试和重构代码。
为了展示此功能,让我们使用 CursorAI 的最佳功能之一:从图像附件逆向工程 UI。作为示例,让我们尝试重构 MainView 中的按钮。让我们使用自定义设计增强 MainView 的默认按钮实现:
1. 在 MainView.swift 中,找到并选择按钮实现代码
2.按CMD+L打开CursorAI的聊天界面
3. 附上所需按钮设计的参考图
4. 提供具体的样式要求(动画、过渡等)
此工作流程演示了 CursorAI 如何将基本的 SwiftUI 组件转换为精致的、可用于生产的 UI 元素,同时保持 SwiftUI 最佳实践和性能考虑。通过附加的图像,让我们向 CursorAI 提供清晰的说明,说明我们的按钮在交互时应如何显示和动画,同时指导如何从模拟按钮设计中获得灵感。
CursorAI 建议对模型进行逆向工程
CursorAI 建议更改后,请检查并接受并应用这些更改。如果您再次运行该应用程序,我们可以清楚地看到只有我们的按钮发生了变化,同时保持 MainView 文件中代码的其他方面完好无损。
使用 CursorAI 等工具的潜在陷阱和实际经验
将基于 AI 的 IDE 和 AI 工具集成到 iOS 开发工作流程中是一个令人兴奋的前沿。虽然 CursorAI 等工具擅长通过便捷的用户界面提出解决方案,但它们无法取代有条不紊的调试实践和架构决策。
关键在于将人工智能用作协作工具,而不是依赖它进行自动修复。例如,在调试涉及状态管理或内存泄漏的复杂问题时,人工智能可以帮助识别模式并提出潜在的解决方案,但开发人员仍然必须理解潜在问题并在其特定环境中验证建议的修复方案。
虽然开发人员可以利用 CursorAI 等工具提供的功能快速构建基本的应用程序,但真正可扩展、能够承受极端情况并被 Apple App Store 接受的应用程序需要开发人员深入思考并全面理解技术概念。
结论
将 CursorAI 等 AI 工具集成到 iOS 开发工作流程中,彻底改变了应用程序构建方式。然而,成功的关键在于了解如何有效利用这些工具,同时保持最佳实践。
关键在于找到正确的平衡点:使用 AI 加速开发,同时确保良好的软件设计原则不受影响。随着 AI 工具的发展,这种平衡对于 iOS 开发者来说变得至关重要。
网友评论文明上网理性发言已有0人参与
发表评论: