蚂蚁、原形、大水牛和粗麻布

因为技术选型的需要,了解或再次认识了几个开源的小东西,感觉还是收到了一定启发效果的,杂谈一下吧:-)

蚂蚁——Ant (another neat tool)

使用IDE来完成项目构建不是更方便么,为什么还要使用Ant?一般来说,IDE设计初衷都是为了提高程序员的个人生产率,而不是开发团队的持续构建,即使某些IDE能很好的支持团队开发构建,甚至我们能确保大家都使用相同类型的IDE。但,程序员仍然可能拥有不同的构建路径和临时目录结构、仍然可能使用IDE的不同版本、仍然很可能使用这个IDE上不同的插件工作,甚至运行或部署在不同的平台之上。这一切最终将导致这种情况:在A那里运行良好的代码,到B那里就无法运行。

所以,如果我们在制造一个供开发者使用的软件产品,则需要:

1 - 建立一个程序员在将新代码提交版本控制系统前必须执行Ant构建文件的规则。

2 - 确保可以使用标准的Ant构建项目,而不是通过某个IDE来执行一个干净的构建。

利用Ant作为公共基线以保证:代码永远是可构建的以及程序员可以自由选择任何他们习惯使用的IDE工具、环境或编辑器。

原形——Prototype

这是一个比较成熟的并且也广受好评的javascript开发框架,它封装了很多常用javascript、dhtml应用函数和场景。国内很多项目早已开始使用它。个人认为Prototype最大的卖点就在于它封装了一套机制,可以在script中像在java中一样创建类、使用对象,从而使开发人员能方便的以面向对象的风格编写脚本。

大水牛——Buffalo

很高兴看到一个国产的开源项目,在SoureForge中你能找到它。感觉是一个和DWR类似的Ajax应用框架,个人认为其最大的优势在于能够将java的值对象以script对象的形式返回给Ajax回调函数,通过XML的数据中转,java的服务器端对象和script的客户/浏览器端对象保持了数据和操作上的一致,让开发者几乎感觉不到数据对象的转变。

同时,感觉Buffalo的重量要比DWR轻些,当然,就我个人来说,还是宁愿用自己简单封装的Ajax框架,因为我觉得Ajax这种东西根本没有必要封装的那么重。

粗麻布——Burlap

一种基于XML的数据交换协议,一般用于企业应用的远程调用。在一定程度上也支持异构系统间的http invoke,而它的使用要比web service简单的多,不需要额外的wsdl之类的定义文件,使用相当方便,和Spring有着完美的集成,在Spring配置文件中即可完全描述远程调用所有的内容,据说速度也要比基于soap的web service快。如果你确认你的SOA架构和企业应用主要基于java技术,那么为什么不考虑使用Burlap呢?

--------------------------------------------

以上都是我的个人见解,欢迎大家补充自己的意见,和我讨论……



你可能感兴趣的:(Ajax,ant,DWR,企业应用,ide)