InfoWorld今年的最佳开源开发软件,是由测试中心的编辑和评论家去评审出来的。今年得奖的开源开发软件,包括了有新的编程语言、改善了的动态语言,分布式版本控制工具和最佳的移动开发软件,Web页面开发工具及数据分析、海量数据处理软件。下面逐一介绍它们。 1、GO语言 Google发明的Go语言(http://golang.org/)尝试去简化编程。它抛弃了很多面向对象语言中的特性,去重新构想如何简单化程序员和代码之间的沟通。Go语言提供了象垃圾收集机制,类型安全,内存安全和内置的多并发编程支持、Unicode编码支持。除此之外,它能在多种平台上快速的编译。Go语言现在还在发展中,当然有不少限制,比如它对Windows平台的支持就十分弱,但它展示了一个新的编程语言的方向。 许可证情况: BSD 2、JRuby 虽然Ruby 已经变成了软件开发中标准的脚本语言之一,但它依然还是没获得企业和商界的强大支持。它不被广泛接纳的原因之一在于它使用了自己的虚拟机,这让那些想继续使用已经熟悉的运行框架的IT管理层和开发者感到失望。在JRuby中(http://jruby.org/)则提供了在JVM上的完整的Ruby语言的支持。JRuby还可以让Ruby在数据中心等场合发挥更大作用,它也可以让Ruby使用Java里的大量的类库。 许可证情况:GPL, LGPL, CPL 3、Zend FrameWork Zend Framework(http://framework.zend.com/)提供了PHP的运行时环境,其中整合了很多高质量的、面向对象的组件库给用户去构建Web应用。其中Zend框架提供了很多松散耦合的组件,包括用户验证、session的管理、支持Web服务和为Web 2.0而设计的一系列API。你还可以利用其中的MVC设计模式和一系列RAD快速开发工具,它们可以很快生成你的工程的基础框架结构,而你也不会受到这些限制,你可以尽可能地去扩展它们。 许可证情况: 新的BSD 4、Jquery JQuery (http://jquery.com/)是一个快捷的、简洁的Javascript库,它能简化HTML文档的遍历,事件处理和动画,以及快速的Web开发和AJAX交互。JQuery是相对轻量的解决方案,它遵守CSS3标准,能适应现在主流的浏览器。JQuery目前已经有很多的插件扩展,如用户界面的效果和各类主题。假如你不喜欢之前JQuery的主题样式库中的主题,JQuery的ThemeRoller允许你去建立自己喜爱的主题。JQuery原先是一个轻量级的Javascript框架,很多其他JAVASCRIPT框架都在它基础上构建,但现在JQuery的功能已经越来越多了。 许可证情况: 新的BSD或者任何遵守GPL的许可 5、jQTouch jQTouch(http://www.jqtouch.com/)是一个专门为在iPhone及iPod Touch平台上定制的jQuery插件。它也声称支持Android平台,但现在在对Android平台的动画支持上还是很弱。对于iPhone、iPod和Android平台设备来说,jQTouch提供了非常吸引人的界面,对于想在这些设备上开发用户界面的开发者来说是个福音。 许可证情况:MIT 6、Ext Core, Ext JS, and Ext GWT Ext Core(http://www.sencha.com/)是一个轻量的、功能丰富的Javascript库。它提供了对DOM的操作如遍历的抽象,以及对AJAX,事件,自定义事件,动画,模版及面向对象等其他功能。Ext JS是一个跨浏览器的构建富互联网应用程序的Javascript库,除了核心功能,Ext JS的具有高性能的,可定制的部件和组件模型库。Ext GWT是与Google的GWT一起配合使用的构建丰富的互联网应用的Java库。Ext原先是构建在YUI,,jQuery 及Prototype上的,它现在有自了自己原生的Javascript库,但它依然使用jQuery。 许可证情况:Ext Core, MIT; Ext JS and Ext GWT: Dual Commercial/GPL v3 7、Sencha Touch Sencha Touch(http://www.sencha.com/products/touch/)是一个采用HTML5,CSS3和Javascript构建的基于触摸设备的应用框架。目前它主要运行在iPhone平台及Android平台上,它跟Ext Js是很相似的。目前,jQTouch的原来的作者正在负责这个项目。 许可证情况:Dual Commercial (60-day beta)/GPL v3 8、Apache Hadoop Hadoop最初由雅虎开发,是一个集成工具解决方案,其中可管理分布式数据和高度可扩展的数据集群。 Hadoop的工具的支持庞大的的数据库和数据仓库的建设,以及大规模的分析和数据分析功能,这由MapReduce去实现。对于那些想进行大型数据的分析处理的公司,Hadoop的提供了一个健壮和可扩展性很强的解决方案。 许可证情况:Apache License 2.0 9、R R(http://www.r-project.org/)是一个自由软件,专门为统计和图表设计而生。它可以在Unix和Windows、Mac平台上运行。在数据统计分析方面,R可以代替SAS或者SPSS。R不同于SAS或SPSS在于它把统计分析分成了一系列的步骤,每个步骤的中间结果都以对象的形式存放。例如,在R中,回归会给出最小化的输出,但产生的对象能够通过分析和图形函数去查询。 许可证情况:GPL v2 或任何新版本的 GPL 10、Git 两年前,我们颁发给Git(http://git-scm.com/)一个奖项,表彰它作为分布式版本控制系统的领军作用。今年,我们承认的Git在推广分布式源代码管理方面取得了实质性的工作。今天,Git项目能让开发者快速获取整个代码库的历史,并能够迅速使创建代码分支,并在需要的时候合并。Git有良好的可视化管理工具,除此之外还有免费的库存放基地,如GitHub,这使得Git已经成为最流行的版本控制系统之一。 许可证情况:GPL v2 |