分享 我们如何在项目使用 Spine.JS 的.

poshboytl · 2012年08月20日 · 最后由 doitian 回复于 2012年12月05日 · 9765 次阅读

@yedingding童鞋新 blog.... 原文很长就贴 link 了...

http://blog.pragmatic.ly/a-practical-guide-to-use-spinejs-in-real-worl

大家用 Backbone 还是 Spine? 为什么? 说说你的想法?

太赞了,Spine 最大有点就是精简,并且基于 coffeescript,MVC 语法风格和 rails 和相近。 @poshboytl Spine 没有 Collection,在你们项目中是如何处理的?

另外,ECO 的模版渲染性能并不是最好的,可以看看https://github.com/aui/artTemplate 模版性能测速:http://aui.github.com/artTemplate/test/test-speed.html

#1 楼 @jokry 你说的 Collection 就是 Backbone.js 里的 Collection?这个直接在 Model 里面,比如 User.all() 得到的就是整个 User Collection. artTemplate 看上去很有意思,是国人做的?

PS:有 HackerNews karma 的人能不能帮忙 upvote 一下,现在在第三页。可以随时骚扰我, yedingding@gmail.com 感谢万分。

感觉没有 data binding 太痛苦了,Ember 感觉太肿大了.. 最近在用 Augular.js。

帮你们投了一票。

同学们都要支持社区的创业者啊,这几位同学平时贡献很多要支持他们。起步时候的 startup 作重要的就是宣传和推广。 去 Hacker News http://news.ycombinator.com/ 注册个帐号很容易, 而且你如果想成为好的程序员看 Hacker News 要做每日必修课。

@yedingding artTemplate 是国人写的,他还写过非常优雅的 dialog 组件:http://aui.github.com/artDialog/

Backbone 吧

Backbone....

@jokry 我测试的最快的 js 模板是 doU.js 300 多W http://jsperf.com/dom-vs-innerhtml-based-templating/73

好文章!另外,没想到 jQuery.tmpl 效率最低。

#4 楼 @knwang 国内的公司一般给人的感觉是粗俗和无思想的,程序员就是实实在在的民工。希望今后有更多的像 pragmatic.ly 这样的卓越同时乐于分享自己的卓越的公司出现,让我作为一个程序员以后不在朋友面前汗颜。

Hacker News 我也天天看。

@yedingding @poshboytl Rails + Spine.js + Devise + Cancan 的整合有好的建议吗?Github 上能找到 Backbone.js + Devise 的 projects,但 Spine.js 这一方面的资料没能找到。

#3 楼 @knwang 嗯。Built-in UI Binding 的确会减少你很多的麻烦,而 Backbone, Spine 只能你自己去监听 Model 的 change event。

#4 楼 @knwang 谢谢支持,希望大家也多支持,:)

#12 楼 @kevinhua 你能具体说说这个整合吗?Devise 做登陆的话跟 Spine 其实关系不大的。Cancan 如果你要在 Client side 显示哪些能做哪些不能做,只要在创建 User 对象的时候把 Permission 设置好就可以了。

上 twitter 的朋友能不能帮忙 retweet 一下这个 status : https://twitter.com/pragmatic_ly/status/237513463151341569

#16 楼 @yedingding 转推了一下,对于你们的分享精神真是非常佩服。

看你们用的是 Posterous 做的 blog, 能不能分享下从 SEO 角度上有什么考虑

在 HN 上支持了,twitter 最近没办法上。 我别的不太懂,但是你们在社区攒了那么多人品,大家都看得见的。

#18 楼 @knwang 其实从 SEO 的角度来说,用 Posterous 做 Blog 不是个好选择,subdomain 的权重相对比较低的,所以站内比站外是个更好的选择。用 Posterous 完全是因为快,不用我们在 Blog 上面浪费太多时间,或许我们以后可能会迁回到 https://pragmatic.ly/blog 自己做。

#20 楼 @yedingding 应该可以用 url rewrite 吧。 不知道你们用什么 server.. 也可以用 rack middleware 试试

#22 楼 @knwang 可以,但是用 url rewrite 并不能解决这个问题。302 过去还是到了 Posterous. subdomain 的权重就是比不上顶级域的,从 SEO 的角度来说

#23 楼 @yedingding 不是 302, URL rewrite 要做成 200, 用户看到的 url 不变,通过改 env 来内部换成其他的 path. 但这个要前后的 url 在同一个 server 上。

真要做这个 posterous blog 要在前端放个 proxy。 我正好也正在研究这个

#24 楼 @knwang 有意思。改 env 来内部换成其他的 path 怎么理解?期待你的分享,:)

#25 楼 @yedingding

比如说下面的代码可以让 /blog 去按着 / 的 route 走, 但用户在浏览器地址栏上看到的还是 /blog

class UrlRewriter
  def initialize(app)
    @app = app
  end

  def call(env)
    env["PATH_INFO"] = "/" if env["PATH_INFO"] == '/blog'
    @app.call(env)
  end
end

module YourApp
  class Application < Rails::Application

    ............

    config.middleware.insert_before Rack::Lock, UrlRewriter
  end
end

```ruby

实际做的话还有把/blog 后面的传过去的考虑等等。

但是这个只能在 app 内部, 如果要去 app 外面就要做 Proxy.. 昨天已经开始写一个了, 但觉得 edge case 太多, 比如要 forward 用户的 cookie 什么的,不太值。

如果你们自己 host 的 server, 可以考虑直接在前面放一个 Nginx 做 reverse proxy 做两个 upstreams, 一个指向你们的 app 一个指向 posterous blog..

http://www.cyberciti.biz/tips/using-nginx-as-reverse-proxy.html

最近碰了碰 spine.js,好文章,赞一个,大神们的分享,会让我等菜 B 提高的很快地~

对了,我想问一下。 pragmatic.ly 这几天提示我免费的快到期了。 请问,免费的到期了,还能继续使用吗,还是需要交费呢?

Backbone

#10 楼 @kevinhua jQuery.tmpl 效率低吗?你们用什么来取代的?

#30 楼 @ruby_sky 就是在速度测试里看到的,http://aui.github.com/artTemplate/test/test-speed.html 现在使用handlebars

#31 楼 @kevinhua 呃,小众数据下,其实都差不多,一次性渲染也多了不多少数据。

#29 楼 @woaigithub 发个邮件到 dingding@pragmatic.ly 谈, :)

#1 楼 @jokry 我看的例子都是暴力 select

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