`
cookoo
  • 浏览: 651446 次
  • 性别: Icon_minigender_1
  • 来自: Shanghai
社区版块
存档分类
最新评论

Rails目前的一些局限

    博客分类:
  • Ruby
阅读更多
robbin前面提到了一些局限,如遗留数据库是约定造成的,可以打破,但是以损失开发速度为代价。如工作流、规则引擎、报表是目前的技术限制,当然也可以通过java或.net桥用现成的。甚至自己通过socket或pipe去操纵外部程序,其实有些ruby的封装库就这么干的,不一定都通过动态链接库。

我再补充一些局限巴:
plugin缺乏依赖和命名冲突检查: plugin命名冲突随着plugin数量越来越多早晚会成问题,当然plugin开发员应该自觉用命名域包装。至于依赖,现在好像只有engine那几个有这个关系,不知道以后会怎样。其实依赖管理是现成的:Gems。把rails plugin包装成gem也不失为一个办法。

refactoring问题:refactoring随着工程变大需求越来越明显。据说IDEA的ruby插件会有这功能,期待中。虽然refactoring工具第一个是在Smalltak中实现的,但是Smalltalk的开发和运行环境是同一个,开发期间就知道所有的运行时信息。Ruby则需要单独解释,也就是说refactoring工具要彻底理解ruby程序内部至少得有个ruby runtime, 简单的语法解析是不够的。

分享到:
评论
6 楼 zww80216 2006-11-11  
心情不好,措辞激烈了点,plugin管理和refactoring是有点欠缺,但是工作流之类的我觉得不是rails目前考虑的范围,可能robbin是恨铁不成钢吧。
5 楼 alang 2006-11-10  
refactoring

在RadRails 0.8 中会又简单的提供。
4 楼 cookoo 2006-11-09  
ruby本来就提供操作平台的接口,不要做些莫名其妙的假设。

另外我这里说的plugin和refactoring问题都是我实际碰到的需要解决的问题。DHH从来没说过不要plugin管理和refactoring了。我也从来没说过ruby是银弹。

工作流等是robbin提的,他只是说目前不成熟,我说的是可以暂时整合些别的。实际上我一个项目的复杂图表输出就是借用外部程序来干的。robbin和我都没说要重新发明轮子,兄台的思路恕我难以理解。
3 楼 zww80216 2006-11-08  
过几天你还问了,为什么rails不给你提供做操作平台的代码啊
2 楼 zww80216 2006-11-08  
工作流、规则引擎、报表,我觉得你应该直接给客户提供专业业界产品,而不是自己在那里开发,重复的轮子造起来好玩啊。郁闷,每次我看到这些自己造轮子的人,就觉得烦。如果要这些功能,就跟客户多要money,然后买来产品给他配置好就可以了,然后你做一个整合工作。大道至简啊。
1 楼 zww80216 2006-11-08  
呵呵,DHH只解决该就解决的,如果您说的这些要用的话,可能ruby也成为一个java.不要老想银弹了。

相关推荐

    几种软件开发工具的区别.pdf

    .NET是微软对抗Java EE的平台,包含了多种语言支持,如C#、VB.NET、C++/CLI等,其中C#是目前.NET平台的主流语言。.NET提供了ASP.NET用于Web开发,WinForms用于桌面应用,以及ADO.NET进行数据访问。在企业级开发中,...

    C程序设计语言(第2版_新版)习题解答

    综上所述,C/C++编程语言的学习不仅仅局限于C语言本身,还包括了多种编程技术、开发工具、操作系统和网络技术的深入理解。而这些知识点都是作为一个IT行业的大师所必须具备的,能够帮助技术人员在软件开发和计算机...

    What is Node.js

    即使目前可用的资料比较有限,但对于想要开始使用 Node.js 的开发者来说,现在就已经有足够的信息来开始尝试使用 Node.js,并且通过它来显著提高代码的可维护性和开发效率。 Node.js 被认为是技术创新的一部分,...

    PHP的开发框架的现状和展望

    但对于大型项目而言,CakePHP的局限性会逐渐显现,尤其是其复杂的数据库操作对象可能会增加业务逻辑测试的难度。 #### Symfony Symfony是一个成熟的PHP开发框架,它利用了多个开源项目的核心代码,包括Mojavi和...

    AJAX技术框架及开发工具

    Dojo的优点在于其完善性和长期的发展,但也因其较大的文件体积(超过200KB)和相对复杂的API而存在一些不足。 5. Qooxdoo:Qooxdoo是一个面向C/S风格Web应用的JavaScript UI组件库。它通过JavaScript构建类似于桌面...

Global site tag (gtag.js) - Google Analytics