今年的OSDC盛會與去年不同的是:去年是Yahoo和Google為主要的贊助商。今年Google缺席,替代的是--Microsort,不但出借微軟場地,還大方贈書(jQuery in Action中譯本)。此舉莫非表示Yahoo和Microsoft好事已近^^(可憐我還孤家寡人)。而微軟公關經理致詞一再表示Open Source組織對微軟是有些誤解,而主講者在台上不時酸一下微軟,然後說在微軟的場子不好說壞話,倒也顯示台下微軟公關的風度。大方贈jQuery的書,顯然是微軟買下jQuery後就要開始吸引Developer的靠攏,連SilverLight都不限制後端的solution是Java或PHP,只要前端是Windows就行。不管如何,對Developer總是福音。
而Yahoo的手筆也不賴,除了贈與兩件T恤外,還包了華納威秀旁最有名的夜店Room18轟趴,蒞臨者有外國的PHP耆宿,雖然PHP不是很熟,我答題還選錯邊。看得出Yahoo想深耕自家API的用心。當時不知可以現場補報名跑趴,不然早就帶相機了,只好請當天認識的Developer幫忙拍下和Yahoo! Show Girl的合照。拜此次盛會所賜,宅男首次趴夜店@@。(P.S.一出夜店就變成真人版乖乖,接到富邦急call,人到了卻發現他們已修好bug了,我去…敍舊)
Semilar的內容週六的課程較為有趣,當然不是夜店的緣故。請來德國帥哥講師Paul Bakaus講解jQuery,連夜店裡穿的T恤也是jQuery(見下圖),真是無時無刻行銷^_^。所提的jQuery Unit Test工具網址如右:http://docs.jquery.com/Qunit。改天說不定能派上用場。jQuery看似可跨足到RIA領域,會與SilverLight可能有衝突。但估計微軟的策略是:jQuery是純Java Script Library,主打Ajax,針對跨Browser性質。而SilverLight看來是要和Adobe Flex打對台(Sun的Java FX還在龜…難怪傳出IBM要併Sun),它看似要在Client也要有些dll,所以目標應是把Develop的Client端鎖在Windows上(畢竟全地球前端用戶大概有九成是用Windows)。
微軟之積極還有以下,主推Codepox專案,有點像Apache那種。
1.Oxite: 是用ASP.NET釋出的MVC的Framework,攏免錢。注重在Blog和CMS(內容管理),以MicroSoft版Ruby on Rails為目標。
2.SilverLight釋出Eclipse開發版,不再侷限於MicroSoft的Visual Studio。其plugin網址為www.eclipse4sl.org/updates,Client需裝好.net 3.5 SP1及Eclipse 3.4.1(JDK 5.0版本)。
3.moon-porject.com:該專案其實很早就有,原本致力於ASP移植到Linux上,現在有個MoonLight,作為Linux上的SilverLight。
說到Ruby on Rails,本次盛會也排了三堂Semilar(含週五),甚至請原創者DHH透過即時視訊進行講演(在下英文實在太差,聽攏嘸),在一堂講Google API的semilar中,講師提供他的project是借用RoR一個特性過來-Convension over Configuration,慣例取代配置。這個特性也是Rails成功的引起其它語言仿效之處,雖然也有人評論Ruby似乎陷入瓶頸。
而Ruby的老爸-Perl,到Perl 5之後,Perl 6幾年下來一直存著只聞樓梯響的階段,藉由其他講者傳出部份Perl 6新特性,而先在Perl 5.10.x補充,看似Perl才是真正的陷入瓶頸的語言。但隨著今年釋出Parrot 1.0版,Parrot的主力也是Perl 6的主力,我看她推出Perl 6的時機也近了。
雲端運算的framework-Hadoop。有個HBase是作為Hadoop的DB,卻非關聯式資料庫。只保留DB的transaction、索引功能。但有個概念很有趣。RDBMS是row-oriented,要加個column就牽動很多程式修改。而HBase是column-oriented,像柏克萊DB那種key value的集合。當我想到OOP和AOP也有異曲同工之妙,OOP裡要是有數個基於同classh的instance,但可能有數個property或method是限於某些instance,有些則無。在Ruby為了解決這個困擾而設計了Mixin,而Java則勉強用了AOP機制解決。Mixin就有點像Java Script的prototype base的機制:
foo.prototype.cat = true; // 表示foo這個物件有個cat屬性為true,但不表示和foo相同類別的物件也有cat屬性。而…
bar.prototype = new foo(); // 這樣bar繼承了foo,也有cat屬性了。這兩個示例正是上圖的帥哥講解jQuery所舉例。
說來這樣三天的semilar才繳個七百而且有吃又有拿,Sun辦的大拜拜一天就$1200,雖然給的揹包不錯,但和OSDC已出現互相消長之局。更寶的是,有家專做Zk(Ajax framework)的公司,在Sun TechDay和OSDC都兩邊押寶,在MicroSoft的jQuery和Google的GWT夾殺下求生存。