导读:有了开源编程工具,在基于开源许可证的情况下您可以轻松学习、修改、提高代码的质量,本文收集了11款最主流的且有价值的开源编程工具。或许会给您带来一丝惊喜。一起来看下吧。
NO.1 Rhomobile Rhodes
Ruby或许是Github上第二大流行语言了,如果你想利用它来开发iPhone或许不会为您带来任何好处,因为当第一台NeX推出时便注定了Objective-C开发平台的命运。
Rhomobile Rhodes是一个创建Ruby网站和开发iPhone app的开源平台。只要你愿意你还可以使用jQuery Mobile来处理布局。就像类似创建一个Web应用,要知道现在用户更愿意用手指触屏来替代鼠标点击。
NO.2 Git
很多开发者仍然使用CVS和Subversion,但是有很多项目已迁移到Git上来了,而适用于为分布式团队的中央存储库源代码管理工具将不复存在。
Git几乎允许你复制每一个项目到中央存储库中,并且还为合并扩散提供先进的工具。利用SVN或者CVS,用户必须重新将副本复制到中央存储库。Git更像个档案系统,直接在本机上取得资料,不必连线到host端取资料回来。换句话说,Git更像明主,而CVS像是封建世界。
NO.3 Gerrit
Gerrit是一个基于Web的代码评审和项目管理的工具,面向基于Git版本控制系统的项目。为了与Git和Repo工作紧密联系,Gerrit允许代码验证器为Git中央存储库发送建议,为代码创建一个讨论层。Gerrit在运行时需要用到数据库(用于存储代码审查的信息)。目前支持的数据库包括H2、PostgreSQL和MySQL。在过去,讨论注释在头版区域,而现在Gerrit允许更加复杂化的讨论,不会强迫未来的读者在旧版本讨论前才能获取到代码。
NO.4 Hadoop
Hadoop是一个能够对大量数据进行分布式处理的软件框架。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop提供一个简单框架,类似situtations。Hadoop的扩展工具Mahout,它是一个可扩展的学习框架用以分析可能出现的大数据集(large data sets)。另一个Hive提供一个数据仓库可以使用HiveQL进行并行搜索查询,处理大量的Web logs。
NO.5 jQuery
许多开发者在学习jQuery之前会尝试去了解JavaScript,因为它更容易且有效的操作DOM。其成功的部分原因是由于其广大团队贡献的插件图层。这些插件可以轻易的将字符串连接在一起创建一个演示。
例如,jQuery Mobile专门生产可运行在小屏幕智能手机上的应用程序。
NO.6 Eclipse (and the Eclipse Marketplace)
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools)。Eclipse是著名的跨平台的自由集成开发环境(IDE),可作为PHP, Ruby, Python和C的开发工具。
NO.7 Firebug
程序员越来越注重使用浏览器的内置插件,Firebug是Firefox浏览器中最好的插件之一。
比如:FirePython无须依赖浏览器,可以直接插入到服务器上,你可以为浏览器编辑、调试信息。Firebug越来越普及,它能为所有主流浏览器提供图片、脚本代码等。
NO.8 Preprocessors
很多程序员喜欢X语言的分布式和可靠性,但却无法忍受它的语法。CoffeeScript就像JavaScrip的编译器,但它是一个完整的编译器,CoffeeScript的创建者说“所有底部的这些braces和semicolons, 在其核心部分JavaScript总会有一个华丽的对象模块。
CoffeeScript试图用一种简单的方式呈现出JS最好的一面,它使得编写JS就像编写Python一样简单、方便。
NO.9 OpenVidia
OpenVIDIA项目使用OpenGL、Cg和CUDA-C在拥有单GPU或多GPU的图形硬件上实现了计算机视觉算法。
NO.10 NoSQL
NoSQL近几年来不断升温,让越来越多的网站认识到它们的重要性。
SimpleDB是Amason推出的基于key-value键值对的分布式数据存储系统Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存 储系统)更丰富。
Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为Web应用提供可扩展的高性能数据存储解决方案。
NO.11 Content management systems(内容管理系统)
大多数程序员通过填写文本文件来编译和运行代码。而这一形势正在不断改变,软件运行时用户可以通过多种方式对其进行控制。CMS具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。CMS的功能并不只限于文本处理,它也可以处理图片、Flash动画、声像流、图像甚至电子邮件档案。