跟大家分享一下 Geek Reader。这是我的个人阅读器,也是我练手的一个项目。用到了 BackboneJS + Rails。我还没有什么生产项目的经验,所以程序写的还很业余。但基本的阅读器的功能都齐全了,支持移动端。
我的设想是它可以支持以下功能:
希望大家可以提点建议,或者有什么好的 idea。最终的目的是想做成一个 Geeks 都爱用的 Reader。
我觉得做得挺好。界面很简洁,功能大致齐全。
粗粗浏览了部分代码,略发表一点点看法:
前端用纯粹 Backbone,代码简洁,组织得挺好。查看了一下,没有任何僵尸,所以不用种向日葵了...跑题...
Feed model 有点累赘,fetch feed 的逻辑不应出现在 model 中,单独用一个服务会比较好。
def fetch_feed
FeedFetchService.process(self)
end
现在更新 feed 的逻辑基于每个单独的请求。如果用了上述的服务,会方便将来直接从后台更新 feed。
Feed model 中使用 helper 并出现 render 逻辑不妥。
其他没细看,感觉总体挺不错的。
@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 是要双方支持的,属于单个巴掌拍不响。