Go Open Source
(wang hailong)
Go Apache,
go Sourceforge.net,
go GNU (if you use linux).
go 3D engine list. (if you like 3D Game, VR) start from www.quakesrc.org.
Open Source Project 提供了大量的高质量的软件产品,而且对程序员来说,是最好的教程。
看到文章说,韩国把游戏开发作为大学课程,并把游戏产业提高到战略高度。Open Source Project无所不包,当然也包括了大量的游戏。我一直很奇怪,为什么不把Open Source Project引入大学课程?毕业了几年之后,我还在痛感,为什么没有早点知道Open Source Project。
如今的学生毕业之后的竞争压力更加巨大。我想,不是因为人才过剩,而是因为人才不足。大家都急切地想入门,增加经验,却又无从下手,因为保守主义,很多人把自己的一点东西当作绝活捂得紧紧的。其实每个人的潜力都非常巨大,只要略窥门径,都不只是匠才,而都是将才。Open Source Project提供了最优秀的文档,源码,设计。大家由于生计所迫,没有时间和精力去参加Open Source Project的开发,但阅读并应用经典的Open Source Project,能够让自己的工作更快,更好。这就是典型的所谓“借脑”。
中国拥有庞大的智力资源,如果都发挥出来,前途不可限量。智力产业成了规模之后,中国就不会输出大量的IT人员到全世界,而需要从全世界输入大量的IT人员。
本文就是鼓动大家关注Open Source Project的。只是文采不甚好,煽动力不足。
关于Open Source Project,我的看法是,不要为了学习而学习,而要为了实用而运用。每个人的时间是有限的,应该用到创造价值上。
本文主要讨论J2EE的核心技术Servlet的一些规范,以及哪些Open Source Project在这些规范上作文章。可能有人认为EJB是J2EE的核心技术,但是EJB的影响远没有Servlet广大。
java web framework 基于Model – View -- Controller结构。每个框架的入口都是一个servlet,起着controller的作用。Taglib辅助实现view的作用。Structs就是一个典型的例子。
Velocity 实现view。
Turbine 实现model。
JetSpeed 是一个大而全的web framework. 应用了很多其他apache子项目。是一个很成熟的portal, portlet发布框架。
这里不一一列举,建议把这个站点其他的Apache Open Source Project,都浏览一遍,也许能受到很多启发。众里寻他千百度,蓦然回首…
很多sourceforge.net上的开源项目都是基于Apache项目的。比如,Apache HttpUnit可以用来编写自动web浏览访问程序。Sourceforge.net的html unit就在此基础上更进了一步。Sourceforge.net的Jwebunit也是一个类似的项目。这里把这些项目的名称都写出来,如果感兴趣,到相应的Open Source Project网站上搜索一下,就出来了。
这是一个非常出色的站点。我很喜欢Xml文档格式,因为省掉了很多分析文本的工作。用XSLT处理和管理树形结构的Xml文档,方便而快捷。
Apache Xalan 支持 XSLT。
Apache Cocoon 是xml web 发布框架。入口同样是一个servlet。
Apache Batik 支持 SVG。
同样建议把这个站点其他的Apache Open Source Project,都浏览一遍。
Compiere —— CRM。
Ofbiz —— ERP,电子商务。
JBoss —— Application Server(EJB)。
Joone —— AI, 神经网络.
Open symphony 的 ClickStream,和Sitemesh,都是建立在Servlet规范的filter上的。这两个框架配置的时候,需要配置在web.xml的filter部分,而不象其他的框架,需要配置在web.xml的servlet部分。
关于servlet规范,我建议和jsp规范对照看。比如,Request Dispatcher的include和forward方法,可以对照jsp的 <include>和<forward> tag。
servlet规范和jsp规范从http://java.sun.com/j2ee/下载。
Sourceforge.net的software sitemap进行了项目分类。我查看了语言分类,中文的项目很少。日文的项目个数,远远超过中文的项目。
按照主题分类,可以很快地找到关心的项目组。
中国的3D Modeling方面的基础还不是很强,Sourceforge.net的software sitemap有这么一个栏目,希望相关行业的同行能够利用起来。
Id公司的doom 和quake引擎的源码都公布在网上,(当然不是最新的版本),很多3DOpen Source Project都建立在quake引擎上。
http://www.quakesrc.org上有很多链接,其中有一个3D Engine List链接列出了几百个3D Engine Open Source Project,按照开发语言,开发工具,OpenGL/DirectX等分类。