资讯专栏INFORMATION COLUMN

Java 桌面软件开发到底如何?就本人的经验聊聊

Jeff / 1006人阅读

摘要:桌面软件开发一直以来是程序员不敢轻易涉足的地方,原因有三丑慢难。打包还有一个人们关心的方面就是软件如何打包。这是如今很多软件的做法。但说到底桌面开发本身究竟如何我已经用做了将近两年的开发,我觉得已经可以满足桌面开发的基本需要。

Java FX

桌面软件开发一直以来是 Java 程序员不敢轻易涉足的地方,原因有三:丑、慢、难。而自从 Java 8.0 将 JavaFX 包含进来之后,情况有所改善。JavaFX 是用来代替之前的 Java GUI 框架 AWT 和 Swing 的,界面风格更现代化,运行效率更高,接口封装更合理。

打包

还有一个人们关心的方面就是软件如何打包。好在 Java 不需要多带带安装,就可以随着软件一起打包直接运行。Oracle 在 JVM 的平台兼容性上花了很大功夫,Windows 下只需要在 32 位和 64 位两个版本之间选择。如果你的应用运行内存可能超过 1GB,就应该选择 64 位版本。

JVM 打入 zip 压缩包后的大小在 70~80MB 左右,放在 10 年前这还算是很大的,而如今算是中等大小吧,在 8M 带宽下一分多钟就能下载完。Java 9.0 还会有定制化 JVM 的功能,能进一步缩小 JVM 尺寸。当然如果你不嫌麻烦的话,现有的一些工具也可以做到。

还有一个问题就是如何双击运行。首先可以提供一个bat 文件,但是 bat 文件没有自定义图标,我们可以创建一个指向它的快捷方式,快捷方式可以用自定义图标。但对于解压运行的方式,因为解压位置不确定,而快捷方式路径是绝对的,所以这种方式行不通。还有一个办法就是编一个通用的 exe 可执行文件,它的唯一作用就是运行 javaw 命令,命令参数可以放在一个随带的配置文件里。这是如今很多 Java 软件的做法。

我的经验

好了,上面罗嗦这么多,主要是针对大家对 Java 桌面开发的后顾之忧做一些解释。但说到底 Java 桌面开发本身究竟如何?我已经用 JavaFX 做了将近两年的开发,我觉得 JavaFX 已经可以满足桌面开发的基本需要。

我到底做过什么呢?下面是几个软件的截图,都是用 JavaFX 原生界面做的,我没太多时间花在界面美化上,一是用户没这个需求,二是我一个程序员也不会做设计,三是原生界面已经足够美观了。相对于那个杀千刀的垃圾 Motif。

别人做的是什么样的呢

别人做的是这样的(参考这里):

看到没,其实也不是我水平差,只是没有设计师给我做图标而已!

上面的图片来自Quora。这么牛逼的界面怎么做到的,其实细节我也不清楚了,但总之可以做到就是了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70396.html

相关文章

  • 聊聊阿里面试三个层次

    摘要:一般来说,阿里的面试会有两轮的技术电面,分别交叉检验你的技术基础。但从知识体系的角度来看,阿里面试对于知识的考核可以分为三个层次对于基础知识的考核对于项目经验的考核对于项目深度的考核。 最近去阿里的菜鸟国际做了一次面试交流,发现大公司对于面试者的知识结构考核非常严谨,可以作为我们日常工作学习的指导。虽然很多人说面试问到的东西在实际工作中很少用到,甚至有「面试造火箭,工作拧螺丝」的说法。...

    suemi 评论0 收藏0
  • php设计模式

    摘要:我们今天也来做一个万能遥控器设计模式适配器模式将一个类的接口转换成客户希望的另外一个接口。今天要介绍的仍然是创建型设计模式的一种建造者模式。设计模式的理论知识固然重要,但 计算机程序的思维逻辑 (54) - 剖析 Collections - 设计模式 上节我们提到,类 Collections 中大概有两类功能,第一类是对容器接口对象进行操作,第二类是返回一个容器接口对象,上节我们介绍了...

    Dionysus_go 评论0 收藏0
  • php设计模式

    摘要:我们今天也来做一个万能遥控器设计模式适配器模式将一个类的接口转换成客户希望的另外一个接口。今天要介绍的仍然是创建型设计模式的一种建造者模式。设计模式的理论知识固然重要,但 计算机程序的思维逻辑 (54) - 剖析 Collections - 设计模式 上节我们提到,类 Collections 中大概有两类功能,第一类是对容器接口对象进行操作,第二类是返回一个容器接口对象,上节我们介绍了...

    vspiders 评论0 收藏0

发表评论

0条评论

Jeff

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<