分享 Geek Reader 我做的一个 Feed Reader

coderek · 2014年02月05日 · 最后由 coderek 回复于 2014年02月18日 · 3875 次阅读

跟大家分享一下 Geek Reader。这是我的个人阅读器,也是我练手的一个项目。用到了 BackboneJS + Rails。我还没有什么生产项目的经验,所以程序写的还很业余。但基本的阅读器的功能都齐全了,支持移动端。

我的设想是它可以支持以下功能:

  1. 阅读样式编辑
  2. 对 Hacker News 特殊处理
  3. 有非常好的阅读体验包括移动端
  4. 自由创建 Feed (这个比较有挑战)

希望大家可以提点建议,或者有什么好的 idea。最终的目的是想做成一个 Geeks 都爱用的 Reader。

源码地址:https://github.com/coderek/geek-reader

支持一下

赞。能加上 share 的功能么?

P.S 已 fork 希望能帮上忙 :)

@allenfantasy 谢谢!Share 准备晚一点做。不过,欢迎贡献代码 :D

需要导入功能

我觉得做得挺好。界面很简洁,功能大致齐全。

粗粗浏览了部分代码,略发表一点点看法:

前端用纯粹 Backbone,代码简洁,组织得挺好。查看了一下,没有任何僵尸,所以不用种向日葵了...跑题...

Feed model 有点累赘,fetch feed 的逻辑不应出现在 model 中,单独用一个服务会比较好。

def fetch_feed
  FeedFetchService.process(self)
end

现在更新 feed 的逻辑基于每个单独的请求。如果用了上述的服务,会方便将来直接从后台更新 feed。

Feed model 中使用 helper 并出现 render 逻辑不妥。

其他没细看,感觉总体挺不错的。

提建议啊~ 用 pubsubhubub 了吗...?

#6 楼 @billy 恩 我也觉得。有几次想写测试代码都放弃了,是应该拿出来做一个 Service 了,不过不知道这样一个 service 该放哪里比较好。Model 里用到 helper 的功能也可以放过去。多谢指导:)

#7 楼 @ruohanc pubsubhubhub 是需要先做 setup 吧。我的想法是用户可以用 url + css selector 来 generate feeds。这个过程对目标网站没有任何影响。

#7 楼 @ruohanc 个人感觉 pub/sub 的意思还不大。。。毕竟一般一个博客就一天一篇都很不错了。。仅个人感觉。。

其实这就是我想要的。。哈哈

@coderek, 指导不敢当:)Service 放哪里都可以的。如果是为 controller 服务的,我一般放在 app/services/里面。如果关系不大就放在/lib 里面。

这个 fetching 的逻辑我觉得都可以直接放在 controller 里,彻底和 model 脱离。

# FeedsController
def create
  # ...
  if @feed.save
    FeedFetchingService.process(feed)
  end
end

#9 楼 @coderek service 可以试试看这个 https://github.com/karmajunkie/imperator

#10 楼 @coderek pshb 不急。主要是给你 RSS reader 减负的。等你量级大了之后还通过轮询的方式去求更新,就太不经济了。还有 pshb 是要双方支持的,属于单个巴掌拍不响。

#14 楼 @ruohanc 有道理,不过我现阶段只会考虑一些关键性的功能,性能问题留在以后了吧。

#3 楼 @allenfantasy Share 功能已加入 😄

需要 登录 后方可回复, 如果你还没有账号请 注册新账号