swt、eclipse RCP與“Java All in One”

lgx522發表於2008-03-25
近年來的eclipse與netbeans之爭日趨激烈,並不只是IDE爭鬥那麼簡單(反正都是免費)。其背後是swt與swing之爭,更是IBM所主導的開源Java與Sun所主導的官方Java之爭。

搞了四五年Web,冷靜下來發覺企業內部應用還是Rich Client好(互動性好、狀態管理容易、客戶端資源利用度高、易開發等等)。這個事實其實很多做企業開發的同道以至於客戶都意識到了,於是出現了很多團隊被迫用winform,甚至回頭啃Delphi這類無奈的事情。可惜異構呼叫還是不爽啊,不僅僅是協議轉換的問題,還有語法習慣的問題,更要命的是開發思路不同的問題。既然Java是大而全的體系,難道我們就不能始終如一地解決問題嗎?
這個問題,其實IBM和Sun也都看出來了,所以不論是eclipse還是netbeans,都不僅僅是單純的IDE,而是力求“平臺化”,爭的就是Rich Client的標準問題。
可惜Swing始終是慢,慢到讓人心煩,慢到讓老一點的機器無法忍受,慢到難以讓客戶接受(甚至JDK1.6也好不到哪裡去)。

好在我們還有swt可用。經過本人多次測試,swt的執行效率其實與winform是不相上下的。
以前由於VE實在難用,而NB嫌慢,Swing和swt筆者以前一直是做手工編碼。這一點上說句實在話,Swing的程式碼是超級優美,擴充套件類庫和控制元件簡直可說是一種享受,可惜還是慢(包括JDK1.6)。
最近由於一個專案要求,要用到swt,於是迫不得以用了一把swt designer(畢竟是D版啊)。這才發覺swt開發原來可以如此之快,幾乎達到某些人吹噓的近似Delphi的程度。而swt designer本身,可說是eclipse RCP的經典範例,功能如此之強、速度如此之快,操作如此便捷,徹底顛覆了筆者過去對Java Rich Client那種“恨鐵不成鋼”的成見。
回頭想起myeclipse、Flex Builder這類精品,這才體會到多年前很多同道對eclipse平臺的“野望”。eclipse的確是有實力、有希望成為Rich Client的通用標準開發平臺。在此向企業應用開發的同道們進行推薦,希望大家共同努力,讓國內swt儘快走出“叫好不叫座”的尷尬局面,儘快趕上國外同行們在此領域取得的成績。大家可以看一看國外很多利用eclipse RCP搞定的複雜軟體,甚至很多專案以前普遍認為是MFC的專屬領域;而IBM公司更是把各類軟體轉向eclipse平臺;甚至近日MS都打算染指。 eclipse之野望正一步步成為現實。

企業應用“All in One”,不僅是開發者之福,更是企業使用者之福。筆者近來年接觸的企業應用,大多數都面臨孤島整合的痛苦。主要原因當然是規劃不到位、系統分析散亂、資料不統一所造成,但各個時期技術體系不能“大而全”地解決問題也是技術層面的主因。
WS嚷了好多年,至今複雜低效難用,歷史一再證明企業內部異構整合不可取。現在我們有了Java這種“平衡至上”且開源主導的技術,有swt能夠補上Java一直以來的缺憾,能夠做到“All in One”。作為企業應用開發者,我們的確是應該認真考慮並實施“Java All in One”。

[該貼被lgx522於2008-03-25 10:50修改過]

相關文章