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