贊助商連結

Java GUI 現況

下面這段話引用自 認識JavaFX-蔡學鏞

這十年來,在GUI設計上,我們經歷過幾個主流階段:

  • GUI設計和程式邏輯混雜在一起
  • GUI設計和程式邏輯切割,使用XML描述GUI
  • GUI設計和程式邏輯切割,使用DSL描述GUI

這裡稍微介紹上述三個階段在 Java 的狀況

GUI設計和程式邏輯混雜在一起

  • Swing
  • SWT

基本上發展都很成熟了,不過麻煩的是 code 跟 ui 混雜在一起,的確很難搞。

GUI設計和程式邏輯切割,使用XML描述GUI

  • Apache Pivot
  • Eclipse e4

目前來看 apache pivot 發展比較成熟,不過中文的部份還是很頭痛,並不是無法顯示中文,而是顯示得很醜,因為有開 anti-alias 的關係,所以中文字會糊糊的,但是又找不到該如何關閉,這點也是挺頭痛的。

至於 eclipse e4 還在發展中,看來會成為 eclipse 4.0 的最主要的 ui 技術,是透過 XWT 來描述 GUI,我是還沒試過,不知道中文的問題會不會也有問題,找天來試看看,有好消息再跟大家回報。

GUI設計和程式邏輯切割,使用DSL描述GUI

  • JavaFX

JavaFX 的確是最好的 GUI 解決方案,不過雖然版本已經來到 1.2,不過還是很 poor,同時中文還是一樣,沒有顧慮到 anti-alias 的問題,中文 render 的還是很糟糕,聽說即將推出 1.3 希望可以改善。

依照我最近的試驗中,我覺得還是 JavaFX 最有冠軍相,語言的本質很優秀,不過發展還是不過快,中文也有 render 的問題,不過優秀的本質之下,這些都是小問題,不過這一些小問題希望 Oracle 可以趕快解決摟。