李维看好RoR(Ruby on Rails)走入企业应用

CodeGear大中华区技术总监李维
任职于Borland超过7年,目前负责CodeGear开发 产品线以及大中华区的工作,撰写10多本Delphi/C++Builder专业技术书籍,经常受邀在大中华区进行专业的演说。

 

业界称为「Delphi之神」的李维,在历经Borland宣布出售开发工具部门的变革之后,现在大中华区技术总监的身份没变,只是转任Borland子公司CodeGear的员工,回顾当初Borland评估IDE已成衰退市场的判断,他认为:「Borland忽略了开放源码的兴起,PHPRoR已开创一片蓝海。」从旧有IDE的使用率来看,DelphiVBJavaC++确实是下滑的,但新兴语言的兴起,造就了全新的机会。

其中RoRRuby on Rails)是李维最看好的语言,他认为RoR将改写软件开发对于「再利用(Reuse)」的定义,提升到应用层级,并预估RoR将在今年走入企业应用。

问:RoR是开放源码的技术,在缺乏有力的公司主导的情况下,如何在台湾推动相关应用?
答:这个趋势我称为草莽式的蚂蚁雄兵,不论JavaDelphi.NET,它们都是由微软、升阳或Borland等大公司由上而下的推动,可是开放源码的兴起是由下而上的力量,特别是当很多人发觉以Java开发跨平台的解决方案,失败率太高、太复杂时,会开始思考其他较简单的技术。

Ruby
是这几年成长最快速的语言,而在IT业界我们可以看到的一股潮流,是RoR将在今年到明年之间开始进入企业应用领域。

问:你为什么如此看好RoR,它有什么特别之处?
答:RoR开启了新的契机,软件开发不仅是程序代码或平台的再利用,应用程序也可再利用,可以节省很多时间。

我们写程序那么多年,会发觉程序需求管理,所以会有子系统或程序等出现,进入团队就会有类别库(Class Library)或平台(Framework),以方便再利用。但是做10个项目,往往能够再利用的都是语言、平台或函式库。

其实很多应用程序可以再利用的,例如登入机制,这是每个系统都需要的功能,但为什么要各写一套呢?

RoR我看到它有应用层级的再利用能力,因为RoR只有一个平台,叫做RailsRails因为使用MVC架构,所以是非常有纪律(Decipline)、有系统且有管理的平台。

问:为什么别的语言无法做到应用层级的再利用,而RoR就可以?
答:因为RoR就只有Ruby语言和Rails平台,而且固定这种架构。RoR的应用程序,有固定的目录,每个文件夹存放什么是固定的,而且它使用MVC模式,所以利用RoR开发一个登入的功能,下一个系统可以延用。

其他的语言之所以无法做到,是因为没有统一的平台。为什么Delphi不行?因为每个人可以用不同的组件、平台和目录结构,所以只能封装成DLL或组件才有可能再利用。

为什么Java不行?因为可以选择JSPSpringStrutsJSF……等平台,然而用Spring平台开发的登入机制,Struts无法使用。

再举一个例子,Delphi如果要汇入Visual Studio的项目,必须特别为这个用途开发一个Plug-in,因为Visual Studio有专属的项目格式与目录。但对RoR而言,根本不必在意这个问题,因为RoR有固定的目录结构,只要复制目录就可以汇入使用。而且RoR的生产力真的很高,我现在几乎每天都在用,这比起Java,实在舒服太多了。

问:RoR可以进入企业的应用吗?
答:Java可以,RoR为什么不行?它的效能并不差。

至于语言的严谨程度,由于它是脚本语言(Script Language)起家,所以语法比较没那么严谨,而JavaC++都是学术单位起家,所以比较严谨,但是软件开发不是从事研究工作,严谨度方面,只要模糊性不会太高就还好。

企业担心RoR是开放源码,其次怀疑它能否支撑大型的开发。其实RoR在国外已经非常流行,德国的大学已经把RoR放入教学课程,所以RoR在今年是非常有机会进入企业及学术领域。

问:PHPRoR的开发者喜欢纯手工打造的成就感,会不会担心3rdRail叫好不叫座?
答:试想一下RoR进入企业,可能接受以记事本或UltraEdit随性编辑与储存的开发方式吗?企业除了重视效能和延展性外,最重要的就是纪律,所以会需要一套IDE帮助项目的管理。

3rdRail
不是要针对享受命令行或Script的开发者。当RoR进入企业级应用,会需要开发工具结合版本控管、管理机制、项目管理等,3rdRail可以结合版本控管机制。此外3rdRail不光是一个编辑器,它提供除错和项目管理机制等,都是企业级应用需要的。

目前3rdRail只是针对单一开发者或小型的开发团队,接下来会推出企业版,提供例如版本控管和团队管理等更多企业级应用需要的功能

你可能感兴趣的:(企业应用,Ruby,Rails,Delphi,Borland)