`

Rails社区对Rails3特性的讨论和反馈

阅读更多
Rails官方博客写道他们在UserVoice上建立了一个讨论Rails功能的论坛版块http://rails.uservoice.com/pages/10012-rails,开发者们对Rails3提出了很多重要的特性(Feature)。有的功能已经启动或者完成了,有的还有计划当中。

看看大家最快心的Rails中的功能特性和改进的地方吧,根据UserVoice上的数据,目前开发者们最为关注的特性改进的前面排名如下。这些改进很让我们期待啊。

排在第一的是  提高性能,这个计划已经启动了(Started)。大家在http://github.com/rails/rails/tree/3-0-unstable可以签出目前最新的代码来玩玩。

排在第二的是  slices/engines,应该是指一个项目中可以很方便的(如配置一下路由)支持多个子应用吧。当项目做大了,这样的一个功能是很有必要的,我对这个特性是最为期待的。这个改进在计划之中(Planed)。

排在第三的是  have a public and plugin API ,这个是指Rails3中应该提供稳定的API使用,让每次版本升级和插件兼容平稳一点,不要总是出现这样那样的问题。这个改进已经启动了。 这个提议也是很重要啊。

第四为 方便地创建后台管理接口(Admin Inaterface),就像在Django的那样。不过Rails团队对此还没有反应。

第五为 有一个开源的多语言版的图书。提议者认为 通过社区的力量来完成这项目工作比起个体翻译更快速高效。这个改进在计划之中(Planed)。是啊,Rails3 就要出来了,还有哪个出版社会去翻译agile web development with rails 3rd edition这本书呢

第六为  将AR中的验证提取出来(extract validation from ActiveRecord),提议者认为AR中的验证很好用,应该让validation可以用于任意的class,好像DataMapper支持这个。Rails团队对此还没有反应。

第七为 减少Rails源码中的“聪明代码”,在Rails中,过度使用了元编程和trick。提议者认为应该减少这些cleaver code,让Rails源代码更可读。这个改进已经启动了。

第八为 Make ActionMailer consistent with regular controllers。不懂说的什么,谁帮忙解释一下呢?  http://rails.uservoice.com/pages/10012-rails/suggestions/98442-make-actionmailer-consistent-with-regular-controllers这个改进已经启动了。

第九为 更好地支持RSpec。

第十为 有一个统一的消息接口,用于email,Jabber等。就像merb-messenger那样。

第十一为 让gem取代plugin

接下来的比较有意思的功能改进有:

  • 更好地支持非关系型的数据库;
  • 去掉框架中的默认的Test::Unit测试框架和Prototype Js框架;

这两个改进已经在开发当中了哦,真爽。

  • 延迟运行(run_later),功能来自Merb。
  • 至少有一个设置,可以使用Merb中的路由。听说Merb中的路由配置很简单和强大,这样也好啊。

这两个目前在计划之中。


大家也来说说你们期待Rails3的什么呢?你们也可以去http://rails.uservoice.com/pages/10012-rails投票表达自己的想法。
分享到:
评论
23 楼 Xsen 2009-07-06  
换到2.2了,感觉确实要好很多,而且对REST的支持那是没话说。
22 楼 richyzhang 2009-07-03  
jkfzero 写道
现在使用什么版本的多呀,我怎么看好多人还停留在1.2上没有迈上2呢。



看过一个虚拟主机供应商的统计, 2.2和2.3每个都将近30%, 2.1是20%出头一点,2.0也占了一部分. 所以至少在互联网上现在还使用1.x的,比例不高.
21 楼 cquaker 2009-07-02  
jkfzero 写道
现在使用什么版本的多呀,我怎么看好多人还停留在1.2上没有迈上2呢。


2.2 和2.3的应该最多吧。 1.x 版本太老了吧
20 楼 cquaker 2009-07-02  
night_stalker 写道
群众纷纷表示 rails 写得太长太不 ruby 了。

譬如 actionpack 就有 25k 行,比起只有 1.5k 行的 sinatra,太 tm 多余了。


rails 的注释做的比较好,行数就多了。

相信 rails 3要好转一些的。

不过有个难题,又想要功能强,又要代码少,比较有技术含量。
19 楼 jkfzero 2009-06-30  
现在使用什么版本的多呀,我怎么看好多人还停留在1.2上没有迈上2呢。
18 楼 night_stalker 2009-06-30  
群众纷纷表示 rails 写得太长太不 ruby 了。

譬如 actionpack 就有 25k 行,比起只有 1.5k 行的 sinatra,太 tm 多余了。
17 楼 qichunren 2009-06-30  
可是用它的人还没有rails的多。
16 楼 koalant 2009-06-30  
liusong1111 写道
可读性和简短是不矛盾的,多数情况下,两者是一致的。

rails的问题是,很多地方的实现手法不合适。以前merb跟rails比拼源码量事件可以看出,少用trick,代码的可读性就好,同时,依然能保持更简短。

问题的症结在于设计,对问题域的把握,而不是“可读性与简短的互斥关系”。



merb 的确在简短和可读性上都做的很好。
15 楼 liusong1111 2009-06-30  
可读性和简短是不矛盾的,多数情况下,两者是一致的。

rails的问题是,很多地方的实现手法不合适。以前merb跟rails比拼源码量事件可以看出,少用trick,代码的可读性就好,同时,依然能保持更简短。

问题的症结在于设计,对问题域的把握,而不是“可读性与简短的互斥关系”。
14 楼 ray_linn 2009-06-30  
减少Rails源码中的“聪明代码”,在Rails中,过度使用了元编程和trick。提议者认为应该减少这些cleaver code,让Rails源代码更可读。这个改进已经启动了。

----这条和我对ruby编程的看法是一样的。可读性 > 简短
13 楼 caryl 2009-06-30  
phlsbg 写道
呵呵,过一段时间打算自己做个网站,用Java是在是太麻烦,用php也尝试过昨网站。
都说ROR开发效率高,打算试一下。


     3.0定律是说一般一个软件到了3.0比较稳定了,可以实际的应用使用。一般情况是这样的

恐怕你还是不能用,ruby最新版才1.9
12 楼 phlsbg 2009-06-29  
呵呵,过一段时间打算自己做个网站,用Java是在是太麻烦,用php也尝试过昨网站。
都说ROR开发效率高,打算试一下。


     3.0定律是说一般一个软件到了3.0比较稳定了,可以实际的应用使用。一般情况是这样的
11 楼 qichunren 2009-06-29  
phlsbg 写道
软件行业的3.0定律,我打算到3.0出来在学习ROR


3.0定律?你发现的吧   早学早解
10 楼 phlsbg 2009-06-29  
软件行业的3.0定律,我打算到3.0出来在学习ROR
9 楼 Xsen 2009-06-11  
听这口气,merb完全胜过rails? 我觉得rails已经很爽了,抽空看看merb是怎么整的,就当为Rails3作准备了
8 楼 koalant 2009-06-08  
liusong1111 写道


那个forum列举的绝大多数特性都在merb中出现了,简直是merb特性展销会,而且有的特性在merb里已经很成熟了。

看来rails3的目标就是把merb的设计、特性和rails丰富的资源整合起来,大的方向上不会出现新概念。

这个整合工作能做好就相当不容易,既需要技术上的考究,又有很大的工作量,搞ActiveModel就是整合过程中的小发明。rails3的跳票对我来说一点都不意外。





liusong 说的很对,很多特性 merb 都有了,就是做合并工作。但是以 rails2 为基础,以merb 1做蓝本开发 rails3,还真不如直接以 merb1 做基础开发 rails 3 快呢。估计这样 DHH 肯定不干,所以这可有的等了。
当初弓弦拉的太满,现在 rails3 跳票了,开始拿 feature plan 来忽悠了。他们真应该学学 struts1 是怎么升级到 struts2 的,那话怎么说的“挥刀自宫,武林称雄”,DHH 没这个勇气。
7 楼 不是流氓 2009-06-06  
rubyrock 写道
每一项特性都值得期待,希望Rail3早点到来,呵呵

据说rails3的改动是伤筋动骨的,这个也需要有思想准备啊
6 楼 liusong1111 2009-06-01  
qichunren 写道
klesh 写道
第八,使ActionMailer和普通controller保持一致性

大意:
ActionMailer 现已从 ActionController 分离出来,所以当 ActionController 有所变动时,必须手动将新特性 hack 回到 AM。
不如为 ActionController 和 ActionMailer 创建一个共用的 superclass 或 mixin。如此一来即能方便地把 ActionMailer 提高到 ActionController 的水平,并同时防止更新不同步的问题。


字面意思我明白,具体应用上它是指什么呢?
谁能举例说明一下这条到底是干嘛的。


比如,邮件模板也需要layout的功能。

那个forum列举的绝大多数特性都在merb中出现了,简直是merb特性展销会,而且有的特性在merb里已经很成熟了。

看来rails3的目标就是把merb的设计、特性和rails丰富的资源整合起来,大的方向上不会出现新概念。

这个整合工作能做好就相当不容易,既需要技术上的考究,又有很大的工作量,搞ActiveModel就是整合过程中的小发明。rails3的跳票对我来说一点都不意外。



5 楼 qichunren 2009-06-01  
dazuiba 写道
1 engines 不是已经并入到rails3.0了吗? 我记得还是一个很重要的feature.


其实这个engine和plugin差不多,我们需要的是一个更为方便直观的支持多个rails子应用的功能。好像django中可以很方便地做到这一点。
4 楼 qichunren 2009-06-01  
klesh 写道
第八,使ActionMailer和普通controller保持一致性

大意:
ActionMailer 现已从 ActionController 分离出来,所以当 ActionController 有所变动时,必须手动将新特性 hack 回到 AM。
不如为 ActionController 和 ActionMailer 创建一个共用的 superclass 或 mixin。如此一来即能方便地把 ActionMailer 提高到 ActionController 的水平,并同时防止更新不同步的问题。


字面意思我明白,具体应用上它是指什么呢?
谁能举例说明一下这条到底是干嘛的。

相关推荐

    Agile Web Development with Rails 3nd Edition Beta.pdf

    - **Leon Breedt**、**Mike Clark**、**James Duncan Davidson**、**Justin Gehtland** 和 **Andreas Schwarz**:这些作者都是Rails社区的重要成员,他们各自在不同领域做出了贡献。 #### 三、商标声明与版权声明 ...

    Web开发敏捷之道-应用Rails进行敏捷Web开发 pdf

    9. **社区与资源**:Rails拥有活跃的开发者社区和丰富的资源,书中会引导读者了解如何利用GitHub、Stack Overflow等平台解决问题,以及如何参与开源项目。 通过学习《Web开发敏捷之道——应用Rails进行敏捷Web开发...

    Agile.Web.Development.with.Rails.3nd.Edition.Beta.rar

    书中还会深入讨论Rails的插件和gem生态系统,这是Rails社区的一大亮点。Gem是Ruby的包管理器,开发者可以利用已有的gem快速添加功能,如Devise用于身份验证,CanCanCan用于授权,Bootstrap gem用于前端界面设计等。...

    Ruby-on-Rails-3.rar_site:www.pudn.com

    9. **社区和工具**:介绍Rails社区的重要资源,如RailsGuides、Stack Overflow,以及常用的开发工具和插件。 通过阅读这本书,初级程序员将能够快速掌握Ruby on Rails的基本概念和实践技巧,从而更有效地开发Web...

    Agile Web Development With Rails Fourth Edition

    - **社区支持**:本书不仅是Rails开发者的必备资源,还鼓励读者参与社区讨论和技术交流,形成了一个积极向上、互相学习的开发者社区。 - **持续更新**:作为Beta版本的一部分,本书将根据读者反馈进行持续改进与更新...

    Rails for .NET Developers (Facets of Ruby)

    3. **未来趋势展望:** 本书还将展望Ruby on Rails如何继续塑造微软的应用开发生态,并讨论.NET与Ruby社区之间的进一步融合的可能性。 综上所述,《Rails for .NET Developers》是一本针对.NET开发者转向Ruby on ...

    实训网络社区、即时通信活动体验任务单.doc

    为了深化对网络社区和即时通信的理解,推荐的书籍如《网络社区发现》、《裂变——看得见的未来》和《Ruby on Rails社区开发》提供了理论基础和行业洞察。此外,艾瑞咨询的WEB2.0和网络服务频道,以及博星卓越学习室...

    谢骋超:Node.js开源社区与pomelo游戏服务器框架

    pomelo在开源社区中也表现活跃,持续获得来自开发者社区的贡献和反馈,它的持续更新和优化反映了社区参与的力量。 在pomelo的社区发展方面,我们可以观察到以下几个特点: 1. 通过提供清晰的文档和教程,社区降低...

    个人博客系统

    个人博客系统往往提供评论系统,允许读者对文章进行反馈和讨论,增强社区互动性。此外,社交媒体集成可以帮助扩大文章的传播范围。 ### 7. 安全性 保护用户数据和防止未授权访问是个人博客系统的重要方面。这包括...

    ### Ruby介绍、使用技巧和经典案例

    - **加入开发者社区**:参与Ruby社区活动和讨论,如GitHub上的项目、Stack Overflow等在线论坛,可以获取宝贵的反馈和支持。 - **持续更新知识**:随着Ruby语言的发展,不断学习新的特性和最佳实践对于保持竞争力...

    Ruby语言教程&案例&相关项目资源

    - **如果对Web开发感兴趣**:Ruby on Rails是一个基于Ruby的Web开发框架,以其高效快速的开发方式受到欢迎。学习Rails不仅可以让你更快地上手Web开发,还能接触到MVC架构等现代Web开发的核心概念。 **9. 工具和IDE*...

    计划:Ruby用户组汉堡

    1. **确定主题**:根据社区的兴趣和当前技术趋势选择一个主题,如Ruby最佳实践、Rails新特性或特定技术挑战。 2. **寻找场地**:找到一个适合举办活动的场所,可能是一个咖啡馆、公司会议室或专门的活动中心。 3. **...

    基于SpringBoot+Vue论文收集答辩管理平台论文.docx

    - 当前技术成熟度高,开发过程中遇到的问题可以通过查阅文档和社区讨论解决。 - SpringBoot和Vue技术栈在业界广泛应用,有大量的学习资料和实践案例可供参考。 ##### 3. **操作可能性** - 用户无需特别的技术...

    starrysea2:这是星之海官网项目2.0版本(称为版本)的源码仓库

    开源系统意味着该项目的源代码对公众开放,鼓励用户、开发者和社区成员参与改进和创新。下面将详细讨论这个项目的一些关键知识点。 1. **版本控制**: 通常,项目在不断迭代和更新中,会通过版本号来区分不同的阶段...

    BlueOxygen Brigade-开源

    前端可能使用HTML5、CSS3和JavaScript,配合现代前端框架如React或Vue.js来构建用户友好的界面。 2. **课程负责人与管理** 课程负责人在系统中扮演着核心角色,他们可以创建、编辑和管理课程,包括课程的介绍、...

    discourse-tickets:话语票务系统

    同时,为了保持系统的安全和稳定,定期更新插件到最新版本以获取修复的安全漏洞和新特性是十分必要的。 总之,"discourse-tickets"插件是构建高效社区支持体系的重要工具,它利用JavaScript技术与Discourse平台无缝...

    undone-blog:撤消博客

    "Undone Blog" 是一个可能的开源项目或者个人博客平台,其名称暗示了它可能具有撤销功能,允许用户对发布的内容进行撤回或编辑...同时,如果项目有活跃的社区,参与讨论和阅读其他用户的反馈也是获取更多信息的好途径。

    exercism

    Exercism是一个在线平台,专注于帮助程序员通过解决实际编程练习来提升他们的...此外,Exercism的社区互动也是一个亮点,你可以分享代码、获取反馈,并与其他开发者进行讨论,这种合作学习的方式对技能提升大有裨益。

    revue.io:查看差异的在线工具

    在描述中提到的"评论网"可能是revue.io的中文翻译或者是对这个工具的一个特性描述,即用户可以在平台上进行互动评论,讨论代码的修改之处。这种功能有助于团队成员之间高效地交流和审查代码质量。 "Ruby"标签表明...

Global site tag (gtag.js) - Google Analytics