今天在非Google官方Blog看到的一篇文章Java2Script(以下簡稱J2S)的作者Zhou Renjian成功的把GTalk寫成Javascript的版本了。

我看了一下這些資料才知道,J2S是把eclipse(一種原本用來開發Java的IDE,目前用在許多其他程式語言,包括C/C++)裡面用來產生GUI的SWT還有一些最基本的java library(如java.lang.*, java.util.*)轉換成Javascript程式碼。這個真的是一個吃力不討好的工作,Java有無數個的class,還有許多繼承(extends)跟implements,光是要用純Java來開發程式就快讓我瘋掉了,像是之前我寫的JGuiding就是一例,實在是不想回想。

看到了作者寫的另一篇文章才知道這個Javascript版本的GTalk有多複雜,先用XMPP(使用Java的Smack library)這個protocol跟talk.google.com(GTalk的server)做溝通,然後再用mod_jk這個connector將talk.google.com跟apache server做溝通,最後使用者用瀏覽器連上網站的時候,就會看到Javascript版的GTalk了。整體流程:Jabber Server (talk.google.com) –> XMPP –> Tomcat Server (Smack) –> mod_jk Connector –> Apache HTTP Server –> Browser Client。光是用看的就很複雜了,我去解釋應該是更難懂 XDDDD。

在使用這個Javascript的GTalk時,作者有說到儘量用Firefox或是Opera來開啟,因為IE讀取速度實在是太慢了,我是沒用IE試過啦,不過既然作者都這樣說了,那我當然是順理成章的用Firefox啦。使用方法據說跟桌上版的GTalk沒什麼不同,不過我現在都是用gaim(已更名為pidgin)了啦,所以有用過桌上版的GTalk就自己去體驗一下兩種版本(桌上版和Javascript版)之間的異同吧。

現在GTalk已經用很多種程式語言寫出來了,主要還是因為XMPP已經成為RFC標準的關係吧,目前也有C/C++版、Flash版、Javascript版了,說不定之後也會出現python, RoR, php的版本也說不定喔(要不然就是已經出來我還不知道啦 XDD)。

差點忘記說,這個Javascript版的GTalk也可以拿來連MSN Messenger喔,只要連上這個網址就可以了,不過剛剛試用了一下,有很多功能都還沒做出來,期待之後的版本吧。

參考資料:
Google Operating System
JavaScript Google Talk
Java2Script [Java to JavaScript Compiler & J2S SWT Library] 1.0.0 M5
Hacking & Existing
Google Talk Client's JavaScript Copy
Eclipse.org home
自己寫的JGuiding 0.3版
Inside Java2Script » Blog Archive » Demo: Java2Script Google Talk in SWT
Extensible Messaging and Presence Protocol - Wikipedia, the free encyclopedia
Ignite Realtime: Smack API
The Apache Tomcat Connector - Documentation Index
Home | Pidgin
MSN Live Messenger on Google Talk Client
創作者介紹

雜七雜八的kewang部落格

kewang 發表在 痞客邦 PIXNET 留言(0) 人氣()