开发一个 Rss 阅读器 01 - 谋划

Google Reader 已经跪了多少年了,但是仍然保持着通过 rss 阅读文章的习惯,这里面有很多自己学习的前辈以及我成长的轨迹,而且相比公众号等平台,几乎没有什么广告。

然而,现在实在找不到一个完全适合自己的 RSS 工具,可以在不同设备之间流畅访问,并且没有什么使用上的限制,尤其是 Feed 数量以及刷新时间。

我的需求

我想要自己做一个刚好满足自用的 RSS 工具,可以通过 Web 访问,适用于手机和电脑,大概整理了一下自己的需求,需要满足以下几条。

  1. 可以通过网页访问,不需要安装额外的应用
  2. 可以分组管理订阅源,并且没有数量上的限制,最好订阅源可以在分组之间移动,比如我发现一个新的博客,通常会放在【试用】的分组中,等读一段时间,觉得有价值,才会挪到其它分组中
  3. 支持导入,毕竟积攒了一些订阅源,手动输入还是比较累的
  4. 可以对文章进行收藏或者添加到 Pocket 稍后阅读
  5. 在电脑和手机上能使用适当的布局让阅读更高效
  6. 像 Google Reader 那样只看标题列表就可以了,方便我快速挑选,我对预览图没有需求
  7. 好的文章可以对链接生成二维码,方便顺手分享到微信
  8. 对定时拉取文章没什么需求,看的时候再拉就 ok 了
  9. 服务部署不花钱(很重要!!!)

技术选型

后端

我喜欢 Ruby,所以我会使用 Ruby on Rails,幸运的是,replit.com 这个平台支持运行 Rails 应用,我可以不用额外花钱就可以部署这个 Web App,虽然每次应用启动会有一小会儿延迟,但是完全可以接受。

事实上我有购买 replit 的 hacker plan,可以跑 always on 的私有应用,但是可能也有别人会想要用这个改成自己想要的样子,在公开的免费 repl 上也能运行,自然会更好一些。

前端

前端我不打算使用现代框架,而是使用传统 JavaScript, 比如 jQuery 什么的,因为需求简单,甚至有可能 jQuery 都不需要。只是自用的话,我甚至都没有前后端分离的需求,复古一把 The Rails Way 吧。

数据库

replit 支持一种它自己的 kvdb, 不过我打算用 sqlite,这样方便我备份,也可以尽量减小对平台的依赖。自用的话,sqlite 完全够用了,而且 rails 默认设置就支持。

下一步

开始时,我会简单的搭建起来一个差不多能跑的应用,然后再去考虑优化页面样式之类的细活。所以首先是建模和生成简单的页面来管理订阅源。