在短短两小时内创建交通应用程序挑战了软件开发的常规。*气氛编程方法的出现*正在改变技术格局,使得流程变得更加可及和快速。*人工智能*作为一种革命性的工具,消除了开发人员通常遇到的时间和技术障碍。
想象一下在法兰西岛的P线上的可视监控和警报系统,这正是这种创新方法的本质。实现这样的壮举无需深入的编程知识。
选择理想的IDE
开发过程开始于选择集成开发环境 (IDE)。Cursor 被认为是首选。这款软件以其性能而闻名,利用流行的 软件工程 模型:Claude 4。与属于 OpenAI 的 Windsurf 不同,Cursor 提供了无与伦比的编码能力。
创建第一版代码库
在进一步深入 Cursor 之前,通过 Anthropic 的聊天机器人使用 Claude 4 Opus 生成了接口的第一个版本。这一步奠定了后续操作的稳固代码基础。代码被托管在远程服务器上,便于通过网络浏览器进行实时更新和修改。
用于 Claude 4 的提示非常精准详细。目标是设计一个响应式网页接口,专用于显示 P 线列车的数字时刻表。该时刻表应呈现基本信息,包括出发时间、目的地、列车号及其他实时细节。规格还要求设计简洁,并配备色彩编码功能以指示列车状态。
通过Cursor进行改进
一旦第一版就绪,Cursor 的助手被用于优化接口。该工具的“代理”模式使得 AI 能够独立运作,调整代码和添加文件。这种自主性方便了必要依赖项的安装,特别是通过 Unix 安装命令。
有效利用LLM模型
在应用程序的后端集成了 Île-de-France Mobilités 的 PRIM API。这个 API 是在应用程序正常运行中至关重要的宝贵信息源。暂时禁用 Cursor 的自动模型选择后,可以使用适配且更经济的模型,从而进一步提高开发效率。
某些功能通过 Claude 4 Sonnet Thinking 对后端的复杂任务进行了实现。简单的编码工作则使用了 Claude 4 Sonnet。文档的生成则得益于 Gemini 2.5 Flash,它允许在不消耗积分的情况下进行提问,这对理解各个文件之间的关系非常有帮助。
测试和调试阶段
测试验证了功能的正常运行。在 Cursor 的协助下,针对来自 API 的数据过滤进行了修正。随后对整个代码进行了重构,并生成了单元测试以确保应用程序的稳健性。
实现了一个功能性和视觉上令人愉悦的结果。接口显示 P 线的列车时刻,并通过高效的警报系统通知用户有关延误或取消的信息。警报直接通过短信和电子邮件发送,确保信息快捷有效。
气氛编程的局限和挑战
在仅仅两小时内创建该接口,时间显著缩短。如果没有 Cursor 的帮助,这个项目将需要几天甚至更长。这一显著的时间节省展示了气氛编程的优势。
然而,这一经验也突显了模型的 限制。代码错误可能发生,要求开发人员对底层结构有良好的理解,以便进行适当的修改。尽管面临这些挑战,使用像 Cursor 这样的原生 AI IDE 改变了开发的动态,将开发者的角色从执行者转变为整个过程的指挥者。
常见问题解答
什么是气氛编程方法,它是如何用于创建交通应用的?
气氛编程方法利用人工智能工具快速生成代码,从而在几个小时内创建应用程序,而不是几天。在我们的案例中,我们使用了 Cursor 和 Claude 4 开发了一个监控和警报系统,用于巴黎市的一条交通线。
在交通应用开发中具体使用了哪些工具?
我们使用 Cursor 作为 IDE,并使用 Claude 4 生成代码的第一版。在后端部分,我们集成了 Île-de-France Mobilités 的 PRIM API,以实时获取交通数据。
创建应用程序花费了多长时间,主要目标是什么?
创建应用程序大约花费了两个小时。主要目标是开发一个简单易用的监控系统和个性化警报,以改善用户体验,相较于现有的交通应用程序。
应用程序的界面如何适应不同设备?
界面被设计为响应式,在桌面和平板电脑上显示两列,而在移动设备上则显示一列。这确保在所有设备上都能实现最佳使用体验。
应用程序向用户提供哪些类型的警报?
该应用程序会发送有关列车取消或特定时间段内延误的警报。通知可以通过 Free mobile 的 API 发送短信,也可以使用 PHPMailer 发送电子邮件。
在使用 AI 开发应用程序时遇到了哪些挑战?
尽管节省了显著的时间,但我们遇到了一些问题,比如 AI 生成的代码中的错误。理解代码结构以修正这些错误和进行相关修改是必需的。
创建后的应用程序测试和调试的流程是怎样的?
在代码创建后,我们使用 Cursor 的代理进行测试和调试应用程序。我们还生成了单元测试以验证代码的整体功能。
仅使用像 Cursor 这样的 AI 工具是否能创建更复杂的应用程序?
虽然像 Cursor 这样的 AI 工具大大减少了开发时间,但对更复杂的应用程序仍然需要对代码有基本的理解。开发人员需在解读和修改生成的代码过程中发挥主动作用。