12月6日,阳光明媚,怀着对iPod的期待(纯属虚构)和对技术的热忱(今天的确好冷)独自一人参加了Radhat-JavaEye开源企业架构论坛。这一天真的满期待的,不是为了什么奖品,的确是有很多值得我关注的东西吸引我:Java开源项目我吃饭的东西;Radhat Linux,我很看好也很想深入学习的操作系统;JavaEye上活跃的众多牛人们和JavaEye及其推崇的Ruby on Rails技术,我想本次论坛也可以在一定程度上代表上海乃至国内的开源技术的水平,一向喜欢技术学习的当然不会放过这么近在咫尺的机会。就在这里记录一下一些我所关注和印象比较深的东西。最后悔的就是没有带笔,看来光靠记忆是没办法将论坛的所有精华带走:(。以下内容完全是个人见解或者说是心得体会,如果你喜欢技术交流,欢迎谈论。
到了科学会堂足足找了10分钟才找到那个导航牌,而且我看到的时候工作人员正在搬进会堂里面,我以为已经热满关门了呢……然后看到门口有位热情的帅哥在那接待,后来做到位置上好半天才发现,这个好像就是传说中的Robbin哦,足足比论坛logo胖上几圈……看来以后真的要注意锻炼了,摸着自己日渐膨胀的小肚子,心想干这行保持身材真是大难度哇!
活动开始前特别放了一段Gavin King为本次活动专门录制的视频,但是我听力实在太差,而且声音也不是很清楚,跟我参加CET6感觉非常像,我只能大概得知GavinKing不但技术牛,而且人也比较帅(上帝是公平的是谁提出来的谬论?T_T)。首先登场的两位是Radhat的宣传人员,其实我对广告没有什么反感,但是我关注的是Radhat,不是JBoss,所以这一个小时我没有什么特别的关注点,发放的宣传单页大多数也都是JBoss,Hiberante只有一张纸。倒是接下来的技术讲座时我在想:这次活动是Radhat来推JBoss,而JavaEye是来推网站,技术讲座部分多是一些开源技术框架,没有什么技术是需要JBoss的啊,一点疑惑,我觉得至少也该有个人来讲解一下EJB3.0和JBoss集成估计比单纯宣传JBoss效果会好一些吧,呵呵。
接下来都是技术讲座,Robbin打头阵,经常在网上看到Robbin的一些技术观点,已经获益不少,这次有机会看到真人版,也算一大幸事。不过讲的比较少,只有30分钟,而且核心内容在JavaEye上已经早有了解,包括PPT也有似曾相识的感觉。Robbin首先讲了一下Java开源的深远意义,然后对几个值得关注的框架进行了点评,其中比较关键的就是其对几个框架优缺点的评论,正如Robbin所说,我讲的内容不多,只是借此引起大家的一些思考。其中几个我印象比较深的:Java框架对GET/POST区分度太差;Java MVC类框架Action数量庞大;Java 组件类框架组件重用度太低;Hibernate 应该放弃做大做全的思路来减少性能上的损失;Spring2.0还没有实现对Bean的模块化开发和动态加载……每个问题都值得我们思考许久。不久前Robbin曾经在论坛上评论有关Hibernate3.2的发布,观点是Hibernate现在的发展已经放慢脚步,以至于一个新的版本发布也不能令大家足够兴奋,还有就是由于用惯了ROR,口味变刁了,谁还愿意写那么多代码去实现相同的功能。本次活动中已经可以看出,技术重心已经不再是Java独大了,技术发言的5个人几乎都或多或少的提到了ROR,我想这个也是我关注JavaEye以来受到最大的影响。
战斗般的茶歇结束(充分这次活动吸引到人们广泛的关注和参与,免费的咖啡不是很好喝i didn't care about it at all。接下来一个国内开源界响当当的人物上场,深入浅出Hibernate2.0第二作者曹晓刚上场。我想这年头想出名的话出书的确是个非常好的想法,不过你要有足够的水平出本好书才比较容易出名,因为我在给朋友推荐这个讲座的时候他们第一反应都说曹晓刚这个人我知道。曹大侠是国内众多IT界人士的榜样,至今我们仍可以从Hibernate3的中文文档和满江红网站获益不少,值得令人尊敬(当然出书只是造福大家方法中的一种,像出力组织这种大型活动、分享自己技术心得的人们都在此列)。曹晓刚给我们带来的是RIA技术,并且计划在春节前开源他们的研究成果,名字没有记住:(。由于对曹晓刚的Hiberante技术比较认同,当他说到在RIA里面使得客户端和服务器端进行ORM的时候的确是被镇了一把,还有就是他预言的趋势:07年服务器端技术走到发展尽头,RIA将快速发展!又被镇了一把。期待曹晓刚能给我们带来更多,期待他的开源RIA项目。
接下来登场一位神秘人物,名字说的是英文的没太听清楚,是对TheServerSide创始人新开炉灶创建的www.infoq.com网站的推广,以后需要关注一下。他说自己是infoq中文站的编辑,infoqchina即将作为infoq的中文子站上线。由于语言的差异导致国内技术人员无法与国外高水平开发者交流,infochina就是来应对这个问题。日本人英文普及率相对中国要低很多,但是日本的IT技术一直走在世界前列,国外很多英文网站都设有相应的日文网站,我想大家的努力方向不仅仅是学好英文。
继续按照日程表上的讲座,王益善,介绍的时候开了小差,没有和JavaEye资深技术人员对上号,实在可惜。但是他所带来的技术同样非常吸引人,qooxdoo,俺以前闻所未闻,但是以后有机会一定要用用,因为它几乎把Browser客户端做成了CS程序,讲述人的讲解效果已经相当明显了,他将为qooxdoo赢得更多的支持者。后面又简要讲解了以下DWR,仍沉浸在qooxdoo的迷局之中,略过……其实是DWR的介绍多是代码的讲解,这多少会令大家迷惑,而且DWR技术对大家的不太陌生。
庄表伟是本次讲座中最为低调的人,一上场就告诉大家,这个讲座推了N次均告失败,讲座内容是昨天晚上连夜赶制Bug比较多,而且本人已经2,3年没有研究新技术,所以今天挑一个大家都不熟悉的技术讲,这样出了错大家也不知道!@#¥%%……但内容仍然很精彩,敲响OO丧钟这种言论不是谁都敢说的,对REST框架的优缺点以及不采用SOAP的见解也都比较独到,不过正如他所说,REST对于我们的确很陌生,看来Rails1.1仍然是我的学习重点,Rails1.2将做为今后的一个关注点,我想一时半火支持不会导致我失业吧?但是通过庄表伟的讲解,使我对REST有了一个更清晰的认识,这样我又可以尝试去看06 Rails Conf DHH的REST讲座了
讲座视频:http://blog.scribestudio.com/articles/2006/07/09/david-heinemeier-hansson-railsconf-2006-keynote-address
讲座中文翻译:http://blog.csdn.net/myan/archive/2006/11/25/1413933.aspx
讲座幻灯片:http://www.loudthinking.com/lt-files/worldofresources.pdf
第二次茶歇,和我身旁的一位朋友聊了一会(今天唯一一次与人交流),他说自己是做MS技术的(我就想说场内在座的都是反微软的奋青,你也够胆大哦),听起来他是个老板级的,他说我是以客户为导向,客户要什么技术我就用什么;他还说给客户做了一套系统要采用Java技术实际投入成本会比用MS技术高,我说那当然是得益于中国盗版的盛行,他反对。接下来的想法也够我想一下子:采用开源技术是省了不少初期投入费用,但是给客户做一套系统买个小型机要2-30万,但是做MS买台Dell的服务器2,3万就搞定了;技术人员的成本也高,Java框架实在太多;最后到数据库,客户都喜欢选Oracle,又是一大笔投入;而且微软从来不从开发商这里打击盗版,因为客户最终还是要购买商用软件给MS钱。这时讲座继续,我也没有反驳什么,一向不愿意与人争论这种东西谁对谁错,因为这个肯定没有结果。他的话是有问题,但是肯定说出一定的道理。
最后出场的是李超群,非JavaEye人员,介绍敏捷开发,这部分相对于我来说比较熟悉,因为他在一个小时内的动作是我工作时经常做的,差别只是在于他选择的开发工具比我的贵(我就在考虑Eclipse、NetBeans这么打压,像IntellJ、JBuilder这种又慢又贵的东西是怎么存活下来的),还有我没见过的测试工具。不过的确如他的开场白所说:前面几位带来的都是很新的技术,我则是带来一些开发的传统理念。他将一个开发人员的工作浓缩在一个小时的讲座时间里,连最后出了一些意外错误也都是那么的形象。我想随着近几年开源技术在国内如火如荼的发展,敏捷开发已经深入人心,而且不再是那么遥不可及的。他讲述的是一个TDD开发,在演示过程中曾经多次提到Java如何的笨拙、费时费力,也多次提到Rails技术是他的关注要点。通过这段时间对Rails的学习,我的感觉就是:越是了解Rails,越是觉得Java有点悬那!
意外的我还中了奖,奖品是个笔记本的保护套,这样的意外惊喜让我这个没有笔记本的人很是难办,这不是刺激我么?T_T不过这份幸运我收下了,希望走开源技术开发这条路没有错。顺便想问一下,抽到这个奖品的还有机会竞争iPod吗?一个下午很快就过去,收获不小,这也是写下这个帖子的原因,了解了很多东西,也带给我们更多的思考空间,07年就在眼前,把握好!做这么一个满长篇幅的记录,时间不会白白浪费。最后感谢Radhat、感谢JavaEye的工作人员给我们带来这样一次开源盛会!
经典语录回放(仅以我的记忆做为标准,不代表当事人立场):
董辛乙:Rathat公司在美国北卡一个小城市,相当于北京通县,但是公司是建立在校园里,非常的自由、散漫……Radhat公司的文化就是自由,散漫谈不上,但绝对是自由的。
董辛乙:Radhat的得名,比较认同的一种说法是:是从1790年法国大革命时代一群以红帽为联络暗号争取自由的人那里得名。Radhat的理念就是自由!
董辛乙:Radhat(中国)去年只有10几个人,今年有50人,明年这个时候我可以肯定的说这个数字是150人,我想今天大家都没带简历,但是仍希望大家以后有兴趣加入我们!
余军:很庆幸我错过进入Suse的工作机会,让我来到Radhat,终于可以堂堂正正的反微软。
余军:07年被称为虚拟技术年。
Robbin: 刚才发言的余军是做为Rathat业务经理的身份,但是他在网上还有另外一个身份:chinaUnix Linux版版主nntp,相信对很多人来说会有如雷贯耳的感觉。
Robbin:JavaEye网站目前代码总共6000行,有60文件,生成12000行动态代码,其中Rails表现层组件重用相对Java框架优势非常明显。其中Controller文件4000行,如果采用Rails1.2的REST架构重写代码,也许只要1000行代码即可。(Amazing!)
Robbin:Java框架对GET/POST区分很差,而且是主流表现层框架的通病,这不但造成服务器的安全性下降,而且很不友好,特别是对于搜索的影响,将使企业网站推广受到非常大的影响。
曹晓刚:06年我们已经看到服务器端技术发展已经走到尽头,我想07年服务器端技术也不会有大的发展,而伴随着AJAX的出现和成熟,07年将是RIA的大发展年。
曹晓刚:我们经常使用Hibernate进行ORM操作,但是这仅仅是在服务器端,如果有一种技术可以让数据可以和客户端产生映射关系,将大大降低服务器的负载,这正是RIA想到达到的目标。(感觉这个观点记录的非常不准备,想起来再改)
曹晓刚:AJAX在客户端提供了这种与服务器端MVC的实现。
王益善:qooxdoo,读作cooks-do,记忆方法Cooks do cooking for their living,而我们程序员靠写代码为生。
庄表伟:我最近2-3年已经开始在技术上走歪门邪道,大家可能看过我的一篇帖子:《敲响OO的丧钟》……使用REST框架就该抛弃OO,我们的业务无非就是对关系数据库数据的访问……
庄表伟:REST的理念就是把Web URI看成是资源,那么这些资源都应该是无状态的,必然可以使服务器负载大大降低,同时也降低了集群的门槛。
庄表伟:REST和AJAX是天作之合。
李超群:我们今天提出这样一个问题,什么是敏捷?很多程序员跟我说我们公司一直在做敏捷开发,实现了无文档、松散开发……
李超群:我在演示为做这个Demo演示准备时,就不停的诅咒Java,怎么会做的这么复杂,但是备齐Webwork、Spring、Hibernate就已经耗费了我个把小时时间……在Java开发时,这种等待真的是没有办法……
李超群:我记住了,以后这种讲座将不使用代码演示……