新手问题 新手使用 Rails 开发网站

zz · 2012年08月11日 · 最后由 zz 回复于 2012年08月20日 · 6597 次阅读

我关心的是

1、是否有众多,稳定的 plugins(扩展),像 PHP 的 lib 那样。 2、是否适合一个快速开发,很明显 CSS, HTML 一个人多。 3、生产环境下运行是否稳定。不要内存溢出等。

我的项目是一个功能简单的社交网站,但是用户级别在 200W 左右。

我不注重性能,为什么? 那种 hello word 的测试简直弱爆。把 view 解析,DB 连接 加上后其实大家都差不多。

关键是看开发效率、难易程度。生产环境稳定与否。

请问。RAILS3 适合我吗。

我之前用过 Django,觉得 Template 太要命了。都是一个开发人员做,没专职 designer。

1、是否有众多,稳定的 plugins(扩展),像 PHP 的 lib 那样。

其实每个 Web 框架都会认为自己是这样的。所以,具体问题还得具体分析。

2、是否适合一个快速开发,很明显 CSS, HTML 一个人多。

同上

3、生产环境下运行是否稳定。不要内存溢出等。

同上。内存占用这个问题。一个 PHP 进程,如果不是太复杂的应用,不抛错,基本都能一直保持在 10M 以下。而 Django 非常非常能吃内存,一个 Django 进程的内存占用基本上就不用妄想能小于 10M 了。

这个链接里比较的有点老,和现在的情况可能有点区别了。那时候 Rails 3 应该才刚出来,所以里面才是 2。

http://nuald.blogspot.com/2011/08/web-application-framework-comparison-by.html

当然多吃几倍内存其实没啥。碰到 Bug,才叫人欲哭无泪呢。碰到过某程序,每次把数据存进数据库的时候会 escape 一下,但取出来不会 unescape,接着它又不停地取出来写回去。好了,这条记录这个字段的大小就开始指数增长了,很快,别的读到这条记录的进程都因为这个被 OOM 了。

我的项目是一个功能简单的社交网站,但是用户级别在 200W 左右。

什么功能,简单到何种程度?用户级别的定义是啥?总注册用户数?平均日活跃用户?峰值同时在线用户?将在什么时候达到 200W,即将达到,还是不知道什么时候会达到。

我不注重性能,为什么? 那种 hello word 的测试简直弱爆。把 view 解析,DB 连接 加上后其实大家都差不多。

我不知道你怎么得出这个结论的

关键是看开发效率、难易程度。生产环境稳定与否。

同第一条。开发效率、难易程度。生产环境稳定与否,到底哪个更重要?

请问。RAILS3 适合我吗。

假如你自认为新手,我觉得 Rails 就不适合你。

我之前用过 Django,觉得 Template 太要命了。都是一个开发人员做,没专职 designer。

Django 的 Template 早就可以随便换了,只是从来不强调罢了

https://docs.djangoproject.com/en/1.4/ref/templates/api/#using-an-alternative-template-language

我认为对于 Full-Stack 的框架来说,能换成更好的是次佳选择,集成最好的作为默认的才是应该的。在这点上,Django 和 Rails 简直就是一对活宝啊。

Django 官方当年非常脑残地认为,默认模板语言一定要故意和 Python 不一样才算是适合设计师使用的,非要认为这才符合他们的哲学。后来终于在大家的鄙视下,终于允许{% if x == y %}了,现在也不提啥 Django 的哲学了。当然这也导致了,现在 Django 的模板其实不是最佳选择。

为啥不直接用 PHP

1, web 应用相关的插件多,比如 omniauth、acts_as_taggable、acts_as_votable, acts_as_commentable、acts_as_likable 之类的插件。

2.适合,只要你会写 css、html 和 rails 3.不会

请问。RAILS3 适合我吗

不适合,看你问的问题应该还没学过,,,还是用你最熟悉的做吧!

的确,生产环境需要稳定的话,其实 PHP 最省心,特别是如果 LZ 连运维也是自己负责的话。起码不用担心内存泄露的问题,服务器也很少会挂掉。200W 的用户量也不会是一夜之间冒出来的吧,逐步 scale 上去就好了。

为什么有人要使用 DJANGO ROR,对比 PHP 有什么优势?

不选择 rails 的最大问题在于招人难,你说的其他的都不叫事儿。

PHP 适合高级开发者,RAILS 设计模式优雅。你用 PHP 写个大型项目就知道区别了。

#6 楼 @jean 嗯,招聘到熟练的 Rails 的开发的确有点困难。 现在主要靠公司内部自己培训和技术交流,一点点熟悉起来。 还好 Rails 开发 Web 系统效率快。。。

#7 楼 @tech_blogbin 碰到同样问题啊,招人确实是个问题啊

#5 楼 @zz 我接触过 php,真的很简单,只要是个高中生应该都能掌握基本的应用写法。不过后来在练习的时候出现了很多学习上的问题,然后到处问问题,没有人能给你一个好的回复。 突然让我感觉在 php 的圈子里全是一群新手的水平,和你自己的水平差不多。 php 的使用很简单,我的入门也是从 php 开始的。因为很简单,根本不知道 WEB 是什么,它在干什么。 无奈之下,我开始学习新的东西。当我读到 robbin 的 再谈非主流工业语言 http://robbin.iteye.com/blog/970047 时我决定使用 Rails 来学习 WEB。 Rails 很抽象,让我认识到了 WEB 的本质。最主要的是 Rails 的圈子里人各个都很厉害。都是真枪实弹的。 闲话说多了。 Rails 的扩展很多,php 有的,Rails 都有。 很时候快速开发,当然是一个有经验的程序员才可以快速开发,新手会出很多问题。 内存泄漏,这个我不知道。因为我也只是一个小新手。不过我知道 iteye 在用,Twitter 在用,Github 在用。这些都是我崇拜的大牛。 Rails 真的不适合新手。抽象的太厉害了。不过这才也是 Rails 的优点。让程序员只关注程序。 纯属个人见解。有什么不对,求吐槽.....

Sinatra 各位觉得做 社交网络 怎样?与 rails 对比呢。

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