共计 5225 个字符,预计需要花费 14 分钟才能阅读完成。
自从 Copilot 发布以来,市场上出现了许多 AI 集成开发环境,比如 Cursor 和 Windsurf 等。紧接着,v0.dev 和 bolt.new 等无需编写代码的工具也纷纷问世。
大家在这些 AI 工具上的使用情况如何呢?
A. 完全不使用
B. 偶尔用它们来修正语法错误和漏洞
C. 利用 AI 实现一些小功能
D. 完全依赖 AI 开发了一个完整的项目
如果你达到了 D 的水平,请分享一下你的具体应用经历。
前不久,一位行业大咖在出海鼓励师兄飞的群中提到了一个词:“Snow Day Calculator”。我对此产生了兴趣,便在 Google 上搜索,发现了许多类似工具的网站,立刻决定模仿制作一个,现在把这个过程分享给大家。实际上,创建这样的站点并不复杂,群里已经有几位高手迅速复制了这个想法。作为一名 SEO 新手,我希望分享一下如何从零开始构建一个成品网站,以及在过程中使用的 AI 工具。
工欲善其事,必先利其器。我首先寻找了一个排名靠前的同类网站,然后向万能的 ChatGPT 求助:
https://www.snowdaycalculator.com/calculator.php,请告诉我这个网站是如何实现的以及它使用了哪些技术。
ChatGPT 的回答如下:
Snow Day Calculator 网站通过用户输入邮政编码和学校类型来预测降雪天数。以下是对其实现技术的分析:
- 前端技术:
- HTML/CSS/JavaScript:该网站提供了简洁的用户界面,用户可以输入邮政编码并选择学校类型,这些交互通常是通过 HTML 表单和 JavaScript 实现的。
- 响应式设计:为了适应不同设备,网站可能使用 CSS 和框架(如 Bootstrap)来优化布局和用户体验。
- 后端逻辑:
- 气象数据整合:网站的核心功能是根据气象数据预测雪天,这可能是通过调用气象 API(如 NOAA 或其他气象服务)获取实时天气信息。
- 算法和模型:预测依赖于降雪时间、强度等信息,可能采用机器学习模型或基于规则的算法来计算雪天概率。
- 服务器语言:后端可能使用常见的编程语言(如 Python、PHP 或 Node.js)来处理用户输入并与气象 API 进行通信。
- 数据库:
- 用户信息:如果需要保存用户的偏好或历史数据,可能使用 MySQL、PostgreSQL 或其他数据库。
- 气象历史数据:为了提高预测精度,可能存储了过去的气象数据。
- API 集成:
- 气象数据 API:用于获取实时天气信息(如降雪强度、时间)。
- 地理位置 API:根据用户输入的邮政编码来确定具体位置。
- 部署与性能优化:
- 托管平台:可能托管在 AWS、Google Cloud 或其他云平台上。
- 性能优化:通过使用缓存、CDN 等技术来降低延迟,提高用户体验。
- 版权与法律:
- 该网站的版权归 David Sukhin 所有,自 2007 年起运营,表明其技术栈经历了多次迭代和更新。
综上所述,该网站结合了天气数据 API、用户交互表单、后端算法和预测模型,实现了自动雪天预测的功能。
我继续提问:
它可能调用了哪些 API 呢?
ChatGPT 的回答如下:
要实现类似于 Snow Day Calculator 的网站,它可能调用了以下几类常见的 API 以获取数据和实现功能:
1. 气象数据 API
这些 API 提供实时和历史天气数据,包括降雪量、风速、气温等:
- NOAA API(美国国家海洋和大气管理局):提供详细的天气和气候数据。
- 官网:https://www.noaa.gov
- OpenWeatherMap API:
- 提供天气预报、降雪量等信息,并支持多种开发语言。
- 官网:https://openweathermap.org/api
- WeatherStack API:
- 支持实时和历史气象数据查询。
- 官网:https://weatherstack.com
- AccuWeather API:
- 提供专业级的天气数据。
- 官网:https://developer.accuweather.com
- Dark Sky API(现已被 Apple 收购,部分服务已转移至 Apple Weather Kit)。
2. 地理位置 API
为了根据用户输入的邮政编码确定地理位置,可能使用以下 API:
- Google Maps Geocoding API:
- 根据邮政编码返回地理位置信息,如经纬度。
- 官网:https://developers.google.com/maps/documentation/geocoding/start
- Mapbox API:
- 类似 Google Maps,提供地理编码服务。
- 官网:https://www.mapbox.com
- USPS ZIP Code Lookup API:
- 专为美国邮政编码解析设计的工具。
- 官网:https://www.usps.com/business/web-tools-apis
3. AI 与预测模型 API
用于实现雪天概率的算法或预测模型:
- TensorFlow.js 或 PyTorch(如果网站使用自建 AI 模型):
- 可能结合气象历史数据,训练自定义的机器学习模型。
- BigML 或 Google AI Platform:
- 可直接使用云端机器学习模型来进行预测分析。
4. 时间与日历 API
用于判断雪天是否会影响正常的工作或学习:
- Google Calendar API:
- 提供校历或常规日历信息。
- 官网:https://developers.google.com/calendar
5. 通知或提醒服务
如果网站需要发送雪天通知或提醒,可能会用到:
- Twilio API:
- 用于短信通知。
- 官网:https://www.twilio.com
- Firebase Cloud Messaging:
- 提供跨平台推送服务。
- 官网:https://firebase.google.com/products/cloud-messaging
可能的技术组合流程
- 用户输入邮政编码 → 通过地理位置 API 获取相应的经纬度信息。
- 调用气象 API → 获取该区域的降雪强度、降雪时间等相关数据。
- 利用 AI/ 预测模型 → 结合天气数据与历史记录来分析降雪的概率。
- 将结果返回前端 → 向用户展示降雪的可能性,并可发送相关通知。
这种实现方法既灵活又高效,具体选择的 API 可能会受到预算(例如免费 API 的使用限制)和精度需求的影响。
大致的构思是:模仿一个类似的网站,接入 API,并将其部署到云端。
我找到了这样一个同类网站:https://snowdaycalc.net/,这个网站的界面设计简单清爽,首页内容也相当丰富。

我选择的开发工具是 bolt.new,经过对比几个 AI 编程工具,觉得这个在前端界面设计上表现最为出色。
为了确保 AI 生成的效果符合预期,良好的提示语是至关重要的。我选用了一个 gpts:

为了实现我想要的最终效果,我多次调整了命令:


gpts 的最终输出结果:
修改后的提示词(中文):请基于提供的图片使用 Next.js 框架创建一个网站,尽可能实现与图片一比一的视觉还原效果。同时,请确保网站符合 SEO 优化最佳实践,包括但不限于以下内容:1. 语义化 HTML:在组件中使用正确的标签结构(如 、、
由于 bolt.new 对于英文的支持更为友好,因此我让 gpts 生成了中英文双语的版本。中文版本是为了自己参考,以便确认需要调整的地方。英文指令则交给 bolt.new 来执行,同时别忘了上传参考网站的截图:

没多久,bolt 就完成了初步版本,效果相当不错,您可以点击 Code 查看项目结构:

bolt 还提供了一个终端来执行命令。
目前只完成了前端界面的开发,后端功能尚未实现。根据最初 ChatGPT 的建议,我选择了 https://weatherstack.com/ 的免费 API,并输入了相应的命令:
仔细阅读文档:https://weatherstack.com/documentation,并根据文档将后端 API 接入。
bolt 迅速完成了 API 的接入:

可以直接在线测试,输入邮政编码 30339 进行实验:

出现了错误,左侧可以直接点击进行修复,功能相当智能:

很快,bolt 就修复了问题,重新测试后:

结果非常惊艳。觉得差不多完成后,可以点击右上角的 Export 将整个源代码下载到本地,利用 cursor 或者 windsurf 继续开发。
随后,我使用 windsurf 进一步修改并丰富网站内容,最终效果如图所示:

我将源代码上传到了 GitHub:https://github.com/isunshihan/snow-calculator,并部署到 vercel 后可直接运行,附有详细的说明文档。
如果您觉得这很有用,欢迎点击喜欢支持一下!


这篇文章让我对AI编程工具有了更深入的了解,特别是关于Snow Day Calculator的实现细节,真是太棒了!