Re: [問題] 現在的 JAVA GUI?

作者: qrtt1 (有些事,有時候。。。)   2017-03-21 12:24:06
※ 引述《snowdoll (鬼)》之銘言:
:   想請問各位前輩,現在若要使用 JAVA 來寫 GUI,還是以使用 JavaFx 為大宗嗎?
:   目前 GUI 初入門,稍微看了一下 Swing 以後,才在板上發現 Oracle 似乎很久以前
: 就不更新 Swing 了?
:   在板上也看到似乎有前輩推薦 JavaFx 或 GWT,但看一看已經是 2015 年的資訊,想
: 請教現在還是一樣嗎?
:   目前需要使用 Java 來製作一個自用的小程式(來當作面試作品QQ),另外也跟朋友
: 討論要一起用 Java 做一款小遊戲。
:   預先感謝各位前輩不吝指教。OTZ。
打算拿 Java GUI 來當『面試作品』讓我覺你很有勇氣啊。
特別是選擇 Desktop 為主的 JavaFx。
先撇開選的主題,『面試作品』要吸引人可以單純這麼想:
1. 『哇,他做的方向正好是我們公司未來要涉入的領域』
2. 『太好了!他使用的技術範圍跟我們公司有 87% 重疊』
(在 training 時,少花一點力氣)
3. 『雖然,他的作品跟我們公司的方向沒有任何關係,
可是由原始碼看得出來,他已經受過良好訓練,是個很棒的活棋』
3.1 基本的 coding style 一致,並良好的排版 (龜毛)
明顯的 bad smell 很少,幾乎沒有需要大改的地方
設計大致符合 SOLID 原則的其中幾項
3.2 具有可測試的概念(不管是不是 TDD,總之能實作出 test case)
甚至可能已串上 CI 服務,進行自動化測試
3.3 使用第 3 方 library 或 framework 開發。
如果你的作品,純然只靠 java sdk 就一手寫完了,也不能說不好
但實際的開發情境,會需要用些第 3 方的應用程式框架或函式庫,
如後端常見的 Spring Framework,或常見的 guava。
還有 commons-* 系列的各種 library,
如果都不知道起馬要用 logging library
取代 System.out 或 System.err
3.4 使用現代化工具開發,例如熟悉 IDE 操作,
或預先配置好的環境,並展現相關服務操作的基本技能。
3.4.1 會使用常見的版本控制系統 git 或 hg (或 svn)
並有公開的原始碼在相關 hosting 服務上,
像是 github, bitbucket 等服務。
而且,每一個 commit 都有明顯直接的『意圖』
(不會 commit 一大包東西,然後說不清在做什麼功能、目的)
3.4.2 使用合適的 build tool,以在來說 maven 與 gradle 優先
並知曉 ant 如何使用。
=================================================================
若是你依然非常、非常熱愛 Java GUI 那有幾個選項可以考慮的。
1. 真的要 Desktop 嗎?那也許展現 Design Pattern 會是亮點
展現 MVC 與 MVP 實作上的不同與設計哲學
2. 試著做 data binding 的機制
3. 明確地區分 UI Thread 與其它 Thread 的溝通。
或是基於其他 Java GUI 的 Framework 來實作,
像是 Eclipse RCP 或開發 IDE 的 plugin/module 等生產力工具。
若你可以捨棄 Desktop,那麼 Android 無疑是個 GUI 吃重的領域,
寫 Android App 也挺好的。
不然就要以 Web App 來實作了,
那現在的潮流 Web 部分靠 HTML5, CSS3 為主了,那部分就不那麼 Java
(但工作機會應該相當地多)
你還是得好好思考一下,你的選題、選材是否會被對方看對眼。
求職這件事,其實挺講效率的啊。只要一天沒收入,壓力就累積一點了。
作者: now99 (陳在天)   2017-03-21 23:35:00
作者: snowdoll (鬼)   2017-03-21 23:51:00
感謝大大的解說orz目前是因為會的不多,有點無從下手,現在有點頭緒方向了感謝大大orz這篇對我而言有不少生僻字,看來還有很多要補阿QQ
作者: xw (無上菩提本)   2017-03-22 21:26:00
作者: quadro (屎凱)   2017-03-23 06:33:00
作者: Neisseria (Neisseria)   2017-03-25 11:48:00
求職心得蠻有趣的
作者: v9290026 (CH)   2017-03-27 18:52:00
作者: marsyang1 (Mars)   2017-03-30 21:10:00
作者: rainkuan9 (Bill)   2017-04-06 11:51:00
作者: besmartAE (*無敵海灘男孩*)   2017-05-04 06:33:00

Links booklink

Contact Us: admin [ a t ] ucptt.com