JavaFX与Google Material Design

程序猿同学大多写出来的UI比较难看,这个可能是大家的共识,似乎程序猿就天生缺乏美感。

在我的世界观中,这是一个百分之二百五的伪命题。我们能学会各种枯燥无趣的计算机语言,并且能乐在其中皓首穷经,那么没有理由我们做出来的应用程序总是那么难看!要知道,这个世界上想解决这个问题,并且提供了解决之道的程序猿有一大把,并且我们还发明了一个术语叫“设计语言”。

让我们从Material Design开始谈起吧。

Material Design是Google发布的UI设计语言,JavaFX作为Java界的UI库,自然也需要考虑到对主流设计语言的支持,在Github上有一个JFoenix库,就对此进行较好的支持。

★ 什么是Material Design(MD)?

首先来推荐一个Google官方设计语言规范的翻译站点:http://design.1sters.com/。

大家可以去上面看看,了解更多关于MD的细节。

简单来说,MD的目的在于构建跨平台,支持多种设备尺寸的统一用户体验,并希望支持触摸、语音、鼠标、键盘等多种操作方式。它的设计灵感来自于纸张这一经典材料,纸张可以层叠、伸缩、裁剪、拼接、分裂、变形、显隐,这些特性在UI中的隐喻与实现能给用户带来更为真实的体验。

它与一般性扁平化设计的差别在于引入了垂直于屏幕(由x轴和y轴来定义的平面)的z轴的概念。在MD中的UI元素会带有厚度,因此也能产生投影。

MD认为动画应该像真实世界中一样自然,应该有加速与减速的过程,而所有可以交互的UI元素也都应该对操作做出符合此原则的反馈。

MD认为应该通过主辅色的选择,透明度、饱和度的变化来形成配色方案。

在http://www.uisdc.com/comprehensive-material-design-note这篇文章中,对MD的要求进行了更为丰富的解释,大家可以去看一看。

在遵循这些规范的前提下,我相信即使不是专业的UI设计师,也能写出专业(至少比全靠无感的经验要好得多)的UI来。

★ JFoenix做了些什么?

JFoenix位于:

https://github.com/jfoenixadmin/JFoenix.git

我揣测这个项目的作者取了phoenix的寓意和谐音,希望能赋予JavaFX新的意义,如同凤凰涅槃,浴火重生。

JFoenix提供了一系列常见的UI基本组件,包括按钮、单选框、多选框、进度条、选项卡等,还提供了一些常见的高级组件,例如列表、对话框、表格等。它提供了一个Demo程序,大家不妨自己动手试试。

★ 未来展望

随着Oracle官方宣布在未来的Java之中将JavaFX从JDK中剥离,将其放到开源社区中进行发展,JavaFX的未来发展似乎变得更加模糊不清。

我认为这既是一种抛弃,也是一种解脱,要知道Oracle将J2EE都甩给了社区,更不要说是一个轻量的UI库了。无论Oracle官方的态度如何,都必须承认JavaFX是Java领域里UI发展的巅峰,只要跨平台本地化UI的需求存在,JavaFX作为一个优秀的开源第三方UI库的发展,一定比资本大鳄Oracle时代更为成功,特别是移动端的UI发展、JDK模块化的引入、Kotlin语言的诞生,这些都会给JavaFX的发展带来新希望。

 

打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2018/08/javafx-and-google-material-design/
百度已收录