本周项目:Jasper
本周我们采访了 Jasper 的创建者,这是一个用于管理 GitHub 通知的基于 Electron 的工具。
你好!你是谁?
我是 Ryo Maruyama,日本的一名软件开发人员。我正在开发 Jasper 和 ESDoc。
什么是 Jasper?
Jasper 是一个灵活且强大的 GitHub 问题阅读器。它支持 github.com 和 GitHub Enterprise 上的问题和拉取请求。
你为什么制作它?
当人们在工作或 OSS 活动中使用 GitHub 时,他们每天往往会收到许多通知。作为订阅通知的一种方式,GitHub 提供电子邮件和 网络通知。我使用了这些几年,但我遇到了以下问题
- 很容易忽略提到我、我评论过或我正在关注的问题。
- 我把一些问题放在脑海中以后再检查,但我有时会忘记它们。
- 为了不忘记问题,我在浏览器中打开了许多选项卡。
- 很难检查所有与我相关的问题。
- 很难掌握我团队的所有活动。
我花费大量的时间和精力试图防止这些问题,所以我决定制作一个 GitHub 问题阅读器来有效地解决这些问题,并开始开发 Jasper。
谁在使用 Jasper?
Jasper 被一些正在使用 GitHub 的公司的开发人员、设计师和经理使用。当然,一些 OSS 开发人员也在使用它。GitHub 的一些人也在使用它!
Jasper 如何工作?
配置好 Jasper 后,会出现以下屏幕。从左到右,您可以看到“流列表”、“问题列表”和“问题正文”。
这个“流”是 Jasper 的核心功能。例如,如果你想查看“分配给 electron/electron 仓库中 @zeke 的问题”,你可以创建以下流
repo:electron/electron assignee:zeke is:issue
创建流并等待几秒钟后,您可以看到符合条件的问题。
我们可以用流做什么?
我将介绍流可以使用什么样的条件。
用户和团队
流 | 问题 |
---|---|
提及:cat 提及:dog | 提及用户 cat 或 dog 的问题 |
作者:cat 作者:dog | 由用户 cat 或 dog 创建的问题 |
受让人:cat 受让人:dog | 分配给 cat 或 dog 的问题 |
评论者:cat 评论者:dog | cat 或 dog 评论过的问题 |
涉及:cat 涉及:dog | “涉及”cat 或 bob 的问题 |
团队:animal/white-cat 团队:animal/black-dog | animal/white-cat 或 animal/black-dog 中提到的问题 |
涉及
表示 提及
、作者
、受让人
或 评论者
仓库和组织
流 | 问题 |
---|---|
仓库:cat/jump 仓库:dog/run | cat/jump 或 dog/run 中的问题 |
组织:electron 用户:cat 用户:dog | electron 、cat 或 dog 中的问题 |
组织
与 用户
相同
属性
流 | 问题 |
---|---|
仓库:cat/jump 里程碑:v1.0.0 里程碑:v1.0.1 | 附加到 cat/jump 中的 v1.0.0 或 v1.0.1 的问题 |
仓库:cat/jump 标签:bug 标签:blocker | 附加到 cat/jump 中的 bug 和 blocker 的问题 |
electron 或 atomshell | 包含 electron 或 atomshell 的问题 |
审核状态
流 | 问题 |
---|---|
是:pr 审核:required | 在 cat/jump 中需要审核的问题 |
是:pr 请求审核:cat | 由 cat 请求审核的问题。但这些尚未审核。 |
是:pr 已审核:cat | 由 cat 审核的问题 |
正如您可能通过查看这些内容注意到的那样,流可以使用 GitHub 的搜索查询。有关如何使用流和搜索查询的详细信息,请参阅以下 URL。
- jasperapp.io/doc.html#stream
- help.github.com/articles/searching-issues
- help.github.com/articles/search-syntax
Jasper 还具有未读问题管理、未读评论管理、标记星标、通知更新、过滤问题、键盘快捷键等功能。
Jasper 是付费产品吗?它的价格是多少?
Jasper 的价格是 12 美元。不过,您可以使用 免费试用版 30 天。
为什么选择在 Electron 上构建 Jasper?
我喜欢 Electron 的以下几个方面:
- 可以使用 JavaScript/CSS/HTML 开发应用程序。
- 可以为 Windows、Mac 和 Linux 平台构建应用程序。
- Electron 正在积极开发中,并且拥有庞大的社区。
这些特性使得桌面应用程序的开发快速且简单。真是太棒了!如果您有任何产品想法,您应该考虑使用 Electron。
在开发 Jasper 时您遇到过哪些挑战?
我很难理解“流”的概念。起初,我考虑使用 GitHub 的 通知 API。但是,我注意到它不支持某些用例。之后,我考虑使用 问题 API 和 拉取请求 API,以及通知 API。但它始终没有达到我想要的效果。然后,在考虑各种方法时,我意识到轮询 GitHub 的 搜索 API 将提供最大的灵活性。我花了一个月左右的时间进行实验才达到这个地步,然后在两天内我实现了具有流概念的 Jasper 原型。
注意:轮询最多每 10 秒一次。对于 GitHub API 的限制来说,这是可以接受的。
接下来会做什么?
我计划开发以下功能:
- 过滤后的流:一个流有一些过滤流,可以过滤流中的问题。它类似于 SQL 视图。
- 多个帐户:您将能够同时使用 github.com 和 GHE
- 提高性能:目前,在 WebView 中加载问题比在普通浏览器中速度慢。
在 Twitter 上关注 @jasperappio 获取更新。