应用背后的故事:Chrome 天气扩展
发布于 作者: Eric L. Barnes
Tim Leland 创建了一个新的 Chrome 扩展,不仅可以获取当前天气,还可以获取当天的天气预报和 5 天预测。该扩展会自动计算您的位置,查看当前温度只需简单地看一下菜单栏。温度始终可见,点击按钮即可加载如上所示的模态窗口。简单直观。
该扩展本身使用 Laravel 后端,我想了解更多关于它的工作原理。以下是关于该应用以及它如何利用 Laravel 的问答环节。
是什么促使您决定为 Chrome 创建一个天气扩展?
天气 扩展是我自己感到沮丧而创建的。我厌倦了访问 weather.com 等网站,然后必须浏览广告等等。我想要一种快速了解当前、每小时和 5 天天气预报的方法。我同时也是 DarkSky 的忠实粉丝,这是 iOS 上最棒的天气应用之一,我想要使用他们的 神奇的 API.
这是您的第一个 Chrome 扩展吗?
我的第一个 Chrome 扩展是 稍后阅读,它是一种简单的方式来保存链接以供稍后阅读,类似于 Pocket 等应用。它从未变得非常流行,但它解决了给我自己发邮件链接的问题。
您能告诉我们它的工作原理吗?
天气使用 Forecast.io API 获取天气数据。他们的文档很简单,并且拥有非常准确的天气数据。我的扩展的 V1 版本非常基础。它由 html、css 和 javascript 组成。一旦扩展开始获得关注,我就决定用 Laravel 重写它,这样我就可以做一些事情,比如缓存、用户设置、快速更新和付费功能的计费。我的目标是保持 扩展代码 简洁,并将所有逻辑都放在服务器上。这种构建方式允许我轻松地将我的扩展移植到其他平台。
Laravel 在其中扮演什么角色?
Laravel 处理所有后端逻辑,例如调用 forecast.io API、缓存、用户设置和 blade 视图。当用户查看天气时,他们实际上是在扩展弹出窗口中加载一个 iframe。我还使用 Cashier 和 Stripe 进行计费。Cashier 非常棒,使用 Stripe 很容易。
我真的很喜欢 Laravel 提供的开发体验。它允许我专注于我正在构建的内容,而不是所有其他平凡的事情。我使用 DigitalOcean 进行托管,使用 Forge 进行服务器管理。我强烈推荐 Forge 来配置服务器。我必须在我的服务器上添加 SSL 证书,而 Forge 使此类任务变得非常简单。
拥有近 8000 名用户,看来它很成功。您是如何获得这么多用户的?
我还有其他一些副项目,我认为这些项目的想法要好得多,但它们从未获得关注。说真的,谁还需要另一种查看天气的方法?扩展在 Chrome 网上应用店发布后大约一周,Lifehacker 发表了一篇文章,介绍了我的扩展。天气从大约 150 名用户增加到 8000 多名用户。我尽力尽快响应错误和功能请求。世界各地的人们都在使用这个扩展,这太棒了。我发现编写应用通常比获得用户并让他们满意更容易。
您将来还计划创建更多扩展吗?
目前,我的计划是继续开发天气。我确实计划为天气创建 Firefox 以及可能的 Mac/Windows 版本。由于大部分逻辑都在服务器上,所以这应该不会太难。