做为一个Java程序员,我想咱们不少时候都须要和开源(open source software)扯上关系,我不得不说若是个人生活没有开源,确定会比如今更糟,咱们程序员效率必定没有如今这么高。咱们经过使用那些著名的开源软件,逐步深刻,不断提高了本身的编码水平。也学习了人家的设计功力。 javascript
到目前为止我没有设计出或者说贡献出什么开源软件,我自知本身的能力真的还不够。不过我但愿哪一天能够为开源世界添砖加瓦,也但愿其余童鞋可以加入这个行列。让世界变得更美好。
下面是我曾经用过的开源软件,可能有些只是简单了解,并非很熟悉,可是我以为它很不错也会记录在下面:
========================== 开发语言 ===============================
Java 很少说,正是我如今深刻学习,使用的。
PHP 适合于快速开发的服务器语言。我只是学习过一些,大概有两三次学习,每次都是学习一点,而后又放弃。最后遗忘。由于我仍是喜欢java
Node.js 基于js的服务器后台语言框架。其非阻塞的特色,便于开发高性能的网站。开发快速,如今在国内已经开始流行,并且有不少开源的组件,使得node.js的能够实现的功能愈来愈多,好比著名的express.js 这是提供快速开发网站的支持,自带restful
C#, C ,曾经学过,如今已经快忘得差很少。
javascript 主要是用于浏览器的脚本语言,如今有了node.js固然也能够用在后台服务器,入门较简单。jquery也是必学。学好这个东西很重要。如今HTML5 的世界,javascript能够作到事愈来愈多了。基于V8虚拟机,也使得javascipt在chrome的性能提高了不少倍。
==================== 工具类 ===================
Eclipse 开源java IDE,固然这个IDE也能够用来开发C/C++ ,PHP,ruby等程序,我认为它是世界上最好的集成开发工具。能够经过插件无限扩展其功能。
netbeans oracle开发的开源java IDE,不过我认为和eclipse仍是有必定差距的。不够好用,并且有点卡。
notepad++ 开源的文本编辑器,支撑几乎全部语言的高亮显示,还支持安装各类插件扩展其功能哦。很小巧。
tomcat 开源的java servlet容器,轻量级服务器。性能很好。不过不少Java EE的特性程序,是不能在tomcat上运行的。
Jboss AS 开源的JAVA 应用服务器,它的功能则强大得多,支持tomcat的全部功能,并且对JAVA EE也提供完整支持,如今最新的jboss AS 7中,加入了OSGI功能,使得它更增强大。
Jetty 开源的java servlet容器,你能够把它简单理解和tomcat 差很少,不过它更加小巧,甚至能够内嵌到应用中,小到只有一个包。也就是你的程序能够自己就单独运行,固然须要在程序中加入jetty相关包。
Aptana 开源的eclipse插件,功能强大,提供了不少web开发功能,支持主题、内嵌git 插件等,并且它的javascript 辅助功能也更增强大。其余不少功能我尚未用到,可是它值得你开始使用。
checkstyle 用于检查代码语法和结构的eclipse插件,它的要求比eclipse自身更加严格,对开发人员的编程规范要求很高,不过可让你写出的代码质量更高、更易于他人阅读理解。
findbugs 检查代码中潜在bug的eclipse插件。我对它使用还不够熟悉,可是它仍是颇有用,方便你随时检查下代码是否有常见bug。
MAVEN 相似于ANT的项目打包、构建工具,也是基于组件式的,你能够经过使用多个maven插件来完成不少功能。使用自动化构建程序等任务,比ant强大不少,同时支持调用ant命令。
git 开源的代码版本控制工具。分布式,没有中央服务器照样安全工做。
chrome 谷歌浏览器,我一般用它来调试web 应用程序,至关给力啊。
Nexus 开源的maven 仓库管理工具,功能很强大。
Jenkins 开源的项目自动构建、持续集成服务器。基于Hudson 开发。
run jetty 在eclipse 内一键运行jetty的插件,在开发maven项目的使用用起来特别方便。简单,而传统的run on server是作不到这点的。
M2E 开源的maven eclipse 插件,提供图形化支撑。
=====================java开发框架=======================
struts 很著名的控制层框架,不过我不太喜欢
spring framework 全世界最好的框架之一,它的能力之强大,使用范围之广。听说它里面的代码实现至关经典,不过尚未拜读。其衍生出的不少框架也很好。好比spring security
hibernate 开源的ORM框架,将全部对数据库的 操做都作成操做对象的形式,不过它的弱点在于不能直接使用sql 语句操做,在处理一些比较复杂的查询功能时没有直接操做sql语句简单。很麻烦。
jgit git的java实现。很不错哦,在一个eclipse插件里面使用了这个包,这样再也没有狂平台的问题,java帮我解决了一切。
apache poi 开源的java api,你能够用它来操做windows 文档:doc,xls,ppt,pdf等等。很方便。之前用它做过导出数据到excel中。
jersey 开源的java restful 服务实现。比较简单吧。用起来也舒服。
apache CXF 另外一个开源的java web services 实现,固然支持标准的rest服务。经过它还有osgi 版本,很前卫。
dom4j java的操做xml 的开源类库,有了它读或者写xml文档都很简单。
apache fileupload java开源的文件上传插件,很实用,也比较简单。
log4j java 开源的日志框架,能够将软件日志写到控制台、外部文件、数据库中
slf4j 另一个开源的java日志框架,可是它自己并不提供实现,而是提供了接口。如过你想把日志写入外部文件或者数据库还须要配合log4j等其余框架使用。
================其余开发框架 =========================
twitter bootstrap twitter的开源前端框架,用它开发一个网页界面,超级简单,快速,并且很美哦,兼容性也很好。
artdialog 一个中国人写的开源js弹出层框架,很好用,并且也很绚丽。强烈推荐。
jquery form 一个开源的jquery form 插件,能够用来执行ajax 表单请求。等等。
xml2json 一个用于把xml文档转成json的jquery 插件。js操做json仍是更加舒服。
highcharts 开源的js图表插件,功能强大,有多种图表,并支持ajax异步强求。
jquery 这个强大的js 框架,让js变得更加好用。
jquery UI jquery 的UI控件框架,集成了不少网页UI组件,不过我认为有了twitter bootstrap 此框架少了不少吸引力。
jquery mobile 用于移动平台的jquery UI插件,能够把节目作得更像移动平台原生,我感受目前性能还有待提高。
目前只想到这些,文中对开源软件的描述可能有错,欢迎指出,讨论。
不要重复造轮子。