當 Java 遇見 PHP
2006 年 八月 8 日 (星期二) 1:36 am分類:電腦
標籤:php, 軟體開發論
正如之前所預告的,今天下午我會在 JavaTwo 2006 大會上演講〈當 Java 遇見 PHP〉。投影片和範例程式請到這裡下載。
這份投影片我做得非常愉快,也稍微實驗了一下高橋流簡報。不過想講的內容實在太多了,希望屆時忽快忽慢的節奏能夠拿捏得恰到好處;還有,希望現場 demo 能夠順利。
呼,終於可以喘口氣,好好整理整理希臘遊記了。
正如之前所預告的,今天下午我會在 JavaTwo 2006 大會上演講〈當 Java 遇見 PHP〉。投影片和範例程式請到這裡下載。
這份投影片我做得非常愉快,也稍微實驗了一下高橋流簡報。不過想講的內容實在太多了,希望屆時忽快忽慢的節奏能夠拿捏得恰到好處;還有,希望現場 demo 能夠順利。
呼,終於可以喘口氣,好好整理整理希臘遊記了。
2006 年 八月 8日 於 5:28 am
感謝提供,訊息轉載於下面網址:
http://twpug.net/modules/newbb/viewtopic.php?topic_id=1935
希望未來能夠多與我們分享 PHP&JAVA 的技術
2006 年 八月 8日 於 7:03 pm
感謝今天上課的分享,
剛好工作上遇到PHP與JSP之間整合問題,
您的課程讓我受益良多。
2006 年 八月 8日 於 8:32 pm
[...] 葉秉哲所主講的當 Java 遇見 PHP,如果將php結合於java確實是滿新,不過還是看看就好了
似乎還是有效率、整合的問題,當然java未來支援script language是必然的趨勢。 [...]
2006 年 八月 9日 於 7:26 am
個人認為,想在效率上匹敵 mod_php,還有一段路要走。畢竟 PHP 最佳化的步調並未停止(可參考〈PHP 加速器標準量度〉這篇文章),而 Resin 的 Quercus 還很年輕,似乎尚未針對 PHP 特性予以最佳化;先求有,再求好。
至於我提到的某些 PHP 與 Java 的整合問題(一國兩制的 session、object model),或許是他們還沒「看到」這問題吧。
我比較古怪,盡想些怪例子來測它。
我期待看到 BEA WebLogic 的實作表現,更期待 JSR 292 的落實,畢竟 “choice is good”。
2006 年 八月 9日 於 11:27 pm
在 JavaWorld 討論區回覆一位聽眾的留言,轉貼如下。
其實當我在規畫「當 Java 遇見 PHP」內容時,面臨很大的取捨交戰。
我很不希望給聽眾一種「打著紅旗反紅旗」的印象,但是長久以來,對於 Java 陣營在 Web app development 的發展,一直很不滿意,我一直認為:應該有更好的 programming model。
在接觸到 Ruby on Rails,以及看了 Beyond Java 之後,這種感覺更是強烈。
既然 JRuby(在 Java 平台上執行 Ruby)還不成熟,而 Resin Quercus 已經能成功執行幾個指標性的 PHP 系統,所以我原本打算以 Resin Quercus 為引子,再花一半的時間好好介紹受 Rails 影響的 PHP 框架,讓大家在熟悉的平台上,試驗一些不一樣的思考方向。就像我往年的主題:用 JUnit 介紹 unit testing in Java 觀念,用 AspectJ 介紹 AOP 觀念,用 java.util.concurrenct 介紹 multi thread 觀念。我無法滿足於只示範功能而不引介或釐清些進步的深層觀念。
不過這回有點不同,講太多 Ruby on Rails 的觀念,會太過於「打著紅旗反紅旗」了,而且 Resin 對於 PHP 的支援仍有相當的改善空間,所以我將 CakePHP 的時間縮短到 1/4。
原本也考慮介紹些 JSR 292,不過相關資訊仍然不足,且 Resin 並不是用這招來實作,所以… 列入明年的觀察名單。
其實對於 PHP 與 Java 互通的議題,如果不考慮太過極端的情況(像我舉的某些例子),我認為 Resin 的現況應該還算可以接受。尤其是當你只是以 PHP 做為小型應用的 presentation tier 時,真正會去介接到 Java 的場合,多半可以用一層 wrapper 去避開 object model 及 session 的問題。
至於 IKVM.NET 與 Java 的互通,我用幾個 Java SE 的例子問過王建興,據他說都沒問題。不過這也很正常,畢竟兩方面的 object model 本來就很類似,而且 GNU Classpath 也是相當活躍的開放源碼計畫。
至於 Java EE,大概……
2006 年 八月 10日 於 11:53 am
當天聽了william精采的簡報,回來後趕緊上來葉大師的部落格找資料,在這裡學了不少東西,非常感謝。
我之所以參加這個講次是因為自己有協助公司內PHP team的程式開發,不過先前受過Java洗禮,因此對於php的撰寫風格有些感冒,在聽了CakePHP的介紹後,才知道還是有分層良好,易於且快速開發的框架可用。
2006 年 八月 10日 於 3:09 pm
這次雖然沒有聽到william的場次,不過有幸能在第二天與william共進晚餐,聊得十分愉快,只可惜我有事先離席…Orz
平常都在william兄的blog潛水偷看,這次還是希望可以偷看到william兄的希臘遊記 XD
2006 年 八月 11日 於 6:16 pm
講的內容對聽眾有幫助,哪怕只是一小群聽眾,就足夠讓我開心了。
對 PHP 新一代的框架感興趣的,不妨多比較、多試驗看看。畢竟受到 Ruby on Rails 的啟迪與刺激之後,現在這領域可說是百家爭鳴(Akelos Framework 的作者甚至稱之為 “framework war”)。
再列兩篇文章給各位參考:
像這種「受 Ruby on Rails 啟發/刺激而新興的 framework war」,短期之內大概不太容易出現在 Java 陣營吧,畢竟 Java 不夠動態,也欠缺夠彈性的 meta-programming 的機制。要有革命性的 RAD framework,恐怕還得等好一陣子。
2006 年 八月 14日 於 11:31 am
sails
http://trac.opensails.org/sails
grails
http://grails.codehaus.org/
只看過沒用過, 但應該可以算是?
只是感覺還非常陽春
對了, 如果我直接從外面的 link 連到\r
http://william.cswiz.org/blog/
會出現\r
Can’t check for blacklist entry.
SQL Error: Table ‘wordpress.ref_karma’ doesn’t exist
可是直接打 url 在 browser 又可以囉~
2006 年 八月 14日 於 1:06 pm
JAVA 跟 PHP 也有另一種作法:
http://blog.xuite.net/jameschih/java/5551154#3044297
http://blog.xuite.net/jameschih/java/7684705
2006 年 八月 14日 於 2:06 pm
@jameschih:
PHP/Java Bridge 的主要問題在於:透過 XML-based network protocol 做為橋接的中介,從理論上來說,在無縫互通性、耗用資源、效能等方面都比不上 full Java solution。
@koji:
天哪,一堆專案不僅在學 Ruby on Rails 的內涵,連名字也在模彷… 謝謝你提供的資訊。
Sails 算是 Java 陣營開始模仿 Ruby on Rails 的一個動作,只不過資歷還很淺,有待觀察。
Grails 也是非常新的專案,尤其又是動用到尚不具說服力、前途未卜的 Groovy 語言(儘管 Groovy 有 JSR 241 加持)。這得看看曾死過一次、去年重生的 Groovy 是否能成得了氣候吧。不過 Groovy 的頭頭 Guillaume Laforge 倒是很看好 Grails 的喔!
2006 年 八月 16日 於 3:41 pm
上個星期二 Java 2006 的演講〈當 Java 遇見 PHP〉,是我首度、而且又是在大型場合實驗「高橋流簡報」風格,有點興奮,又有點戒慎恐懼。 [...]
2006 年 八月 17日 於 1:44 pm
對 Xexex 的〈日常小工具 - 訂便當管理系統〉一文留了一些話,把其中感觸較深的部份貼在這裡。
↓↓↓
原本想針對幾點回應,不過你的一句話「如果你熟悉一個平台,自然會開發很快,語言/平台倒不是很重要的因素」,讓我又多思考了一下。
Lock-in 效應的優點,的確讓 Java platform 成為一個綜合指標居高不下的方案(如你所說的「就簡單、實用、管理等綜合來看,Java 無愧為世界第一」)。只不過在個別項目當中,漸漸有些積重難返的技術包袱或文化包袱;漸漸的,不再只是零零星星的個別項目,問題開始匯集起來,讓某些人開始反思:哪裡出了錯?
剛剛在老貓的文章〈社會能量、百萬人民倒扁與經典行銷案〉當中讀到一段話:
我也還沒選定下一個答案,充其量只有觀察名單;但我的確看到了困擾多時的缺口,也希望 Java 能正視這個缺口。
2006 年 八月 30日 於 1:38 pm
在今年 Java 2006 大會的頭一天中午,一群講師及專家,應主辦單位及 iThome 之邀,與來自 Google 的兩位貴賓 Joshua Bloch 及 Neal Gafter 共進午餐,並會談了近一個小時。 [...]
由於我主講的場次〈當 Java 遇見 PHP〉是排在下午第一場,中午的會談我並沒有多發言;反正王建興也問了許多我感興趣的問題,在下就省點力氣啦。會談背景及內容,請見 [...]
2006 年 九月 8日 於 2:43 pm
補充一則 JRuby 的最新動態:
2006 年 十月 24日 於 8:10 pm
在過去,動態型別語言 (dynamically-typed languages) 一向被主流陣營視為次等公民。在主流陣營裡,不管是理論派還是實務派,多半都傾向於靜態型別系統的編譯期檢驗措施,以及連帶而來的 up-front design 思維。儘管 OO 將部份動態觀點帶入主流語言陣營,reflection、AOP 等 metaprogramming 思維也激起部份漣漪,但整體而言,主流觀點仍然是:能夠靜態就不要動態,能集中於一處 model 出來就不要將 model 散布各處。 [...]
2007 年 一月 4日 於 1:55 pm
CakePHP 使用手冊 (繁體中文版) 出爐了。
2007 年 七月 10日 於 6:28 pm
看到一個很有趣的做法:Running Quercus, A Pure Java PHP Engine, inside Weblogic Server。
以前 Quercus 只能在 Resin 執行(畢竟這是它的出生地),沒想到現在居然也能安裝到 WebLogic 了。真是令人佩服啊…
看樣子,我也該試試去年在 JavaTwo 2006 所把玩的一些例子了,順便也看看其他的 Java app server(像 Tomcat)是否也能如法炮製。