2005/09/09 | 【程序人生】最近关于软件开发的一些想法
类别(程序人生) | 评论(10) | 阅读(649) | 发表于 13:31

图片如下:

昨天买了这个月的<程序员>杂志,这期上有专题介绍 Ruby on rails, 感觉没介绍什么新的东西, 这次<程序员>杂志的节奏有点慢了,早在一两个月前就应该介绍它。Rails 虽然现在很火,但是它有两个问题,如果得不到解决,很难在商业应用中有所突破,只能和以前 Zope 之类开源框架的命运一样,终究是“小众”另类的软件。首先:它是源码运行的,这个问题主要是 Ruby 造成的,Ruby 从 2.0 开始要有虚拟机了,但是 1.9 还没出来呢,等待遥遥无期。商业开发中,你不可能把源码直接交给用户。如果你自己拥有服务器,给别人写的应用始终放在自己的服务器上,这种开发方式就没什么问题。 第二:Rails 缺少组件,它的 View 层采用的 ERB 模板技术和 JSP 之类的老式模板技术没什么本质的变化。如果一个项目的后台程序开发人员就一个,这也不是问题。但是如果有很多程序员参与开发,代码的重用就需要考虑,程序员就分为应用程序员和组件程序员,应用程序员通过设置组件参数来构造应用程序,组件程序员研究如何开发更多更好的组件。其实我觉得软件如果规模化,产业化,组件开发是必由之路。没有好的组件开发模式,Rails 也难有大的作为。

说到组件开发,我最近一直在学习 Tapestry, 这是视图层最好的一个JAVA框架了。 我自觉得英文还不错,但是那本 <Tapestry in action> 却看了很长时间也没看完,我觉得主要是 Tapestry 的概念很特殊,理解起来有点困难,从大方面讲,其实 Tapestry 的确很好理解,再也没有那些 request, session, response 之类传统 web 开发模式的概念了,代之以对象,属性,方法。概念更新带来的好处之一就是"写更少的代码",这个理念和 Rails 不谋而合。而且 Tapestry 让我欣赏的一点就是它的创始人 Howard Lewis Ship 是一个真正考虑网页设计和制作人员如何和程序员合作的人,绝大多数 Java 框架都太 “ J2EE” ish 了,他们注重框架的设计,模式,性能等等软件问题,而从不考虑一个网页设计师如何与程序员共同使用它。现在 Tapestry 马上就发布 4.0 版本了,作为组件型的视图层框架,它比 Echo2 更平易近人,echo2 也是太 “ J2EE” ish . 希望Tapestry 增加更多的 Ajax 支持功能,这点 Echo 2 已经走在了前头,不过 Rails 也早已支持 Ajax 了。说到 Ajax, 现在也是火的不行,相信不久之后,大部分框架都要开始支持 Ajax 了,如果生写那些 JS 脚本,的确让人恐怖, Ajax 如果离开众多框架的支持,开发一个 Ajax 应用的难度就很高了。

最近一直在尝试一种简单的开发方式,用 Tapestry + Spring + Hibernate 或者 Flash + Spring + Hibernate 来开发Web 应用,用 Ruby 来做 Code generaton。
0

评论Comments

日志分类
首页[398]
音乐推荐[380]
程序人生[8]
影视评论[8]
闲话江湖[2]