本周项目:Jasper
本周我们采访了 Jasper 的创建者,Jasper 是一款基于 Electron 的工具,用于管理 GitHub 通知。
你好!你是谁?
我是 Ryo Maruyama,一名在日本工作的软件开发者。 我正在开发 Jasper 和 ESDoc。
什么是 Jasper?
Jasper 是一款灵活且强大的 GitHub 问题阅读器。 它支持 github.com 和 GitHub Enterprise 上的问题和拉取请求。
你为什么开发它?
当人们在工作或开源活动中使用 GitHub 时,他们每天都会收到很多通知。 GitHub 提供电子邮件和 web 通知作为订阅通知的方式。 我用了几年这些方式,但我面临着以下问题:
- 很容易忽略那些提到我、我评论过或我正在关注的问题。
- 我把一些问题放在脑子里打算稍后查看,但有时会忘记。
- 为了不忘记问题,我会在浏览器中打开很多标签页。
- 很难检查所有与我相关的问题。
- 很难掌握我团队的所有活动。
我花费了大量时间和精力来避免这些问题,所以我决定开发一个 GitHub 问题阅读器来高效地解决这些问题,于是开始开发 Jasper。
谁在使用 Jasper?
使用 GitHub 的几家公司的开发者、设计师和经理都在使用 Jasper。 当然,一些开源开发者也在使用它。 GitHub 的一些人也在使用!


Jasper 是如何工作的?
配置好 Jasper 后,会出现以下屏幕。 从左到右,您可以看到“流列表”、“问题列表”和“问题正文”。
这个“流”是 Jasper 的核心功能。 例如,如果您想查看“在 electron/electron 仓库中分配给 @zeke 的问题”,您需要创建以下流
repo:electron/electron assignee:zeke is:issue
创建流并等待几秒钟后,您可以看到符合条件的问题。
我们可以用流做什么?
我将介绍可用于流的条件类型。
用户和团队
流 | 问题 |
---|---|
mentions:cat mentions:dog | 提及用户 cat 或 dog 的问题 |
author:cat author:dog | 由用户 cat 或 dog 创建的问题 |
assignee:cat assignee:dog | 分配给 cat 或 dog 的问题 |
commenter:cat commenter:dog | cat 或 dog 评论过的问题 |
involves:cat involves:dog | “涉及”cat 或 bob 的问题 |
team:animal/white-cat team:animal/black-dog | 提及 animal/white-cat 或 animal/black-dog 的问题 |
involves
表示 mention
、author
、assignee
或 commenter
仓库和组织
流 | 问题 |
---|---|
repo:cat/jump repo:dog/run | 在 cat/jump 或 dog/run 中的问题 |
org:electron user:cat user:dog | 在 electron 、cat 或 dog 中的问题 |
org
等同于 user
属性
流 | 问题 |
---|---|
repo:cat/jump milestone:v1.0.0 milestone:v1.0.1 | 在 cat/jump 中关联到 v1.0.0 或 v1.0.1 的问题 |
repo:cat/jump label:bug label:blocker | 在 cat/jump 中关联到 bug 以及 blocker 的问题 |
electron OR atomshell | 包含 electron 或 atomshell 的问题 |
评审状态
流 | 问题 |
---|---|
is:pr review:required | 在 cat/jump 中需要评审的问题 |
is:pr review-requested:cat | 由 cat 请求评审的问题。但这些尚未评审。 |
is:pr reviewed-by: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 以获取更新。