摘录本的摘录内容_摘录和评论:肮脏的富客户端-为桌面Java应用程序开发动画效果和图形效果

摘录本的摘录内容

长期以来,桌面Java开发人员一直缺乏有关如何提高其应用程序图形外观的资源。 Chet Haase和Romain Guy试图用他们的新书《 肮脏的富客户:为桌面Java应用程序开发动画和图形效果》填补这一空白 以下是安迪·罗伯茨(Andy Roberts)对标题的评论。

除了复习外,我们还有幸摘录第14章,以帮助您做出自己的决定。 其中一本书的作者切特·哈斯(Chet Haase)介绍了以下摘录:
到目前为止,我们已经介绍了很多有关Swing和2D渲染的基础知识,并且还讨论了动画基础知识。 本章介绍了Timing Framework库,该库使Java动画编程更加容易。
与往常一样,欢迎已读过本书的其他人发表评论。

总览

什么是肮脏的富客户?

作者“ Filthy Rich Clients”仅在最近才被创造出来,用于描述“图形丰富的应用程序,它们看上去很酷。总之,它们使用户真正享受他们的应用程序体验”。 考虑到这一点,本书继续说明如何利用Java2D和Swing来增强您的桌面应用程序。 作者非常有资格探索该主题。 Chet Haase是Sun Microsystems的客户架构师,并与Java2D和Swing紧密合作。 Romain Guy似乎从未停滞不前,因为他曾在IT行业的各个领域工作过。 在他担任Sun Microsystems的实习生期间,他被提升为Java Rock Star的一员,并在最近的两次JavaOne会议上开发并介绍了两个肮脏的富客户机,从而赢得了许多荣誉。

这本书是给谁的?

简而言之,这适用于使Java桌面应用程序看起来“酷”的开发人员。 正如我们在Windows Vista,Mac OS X和Office 2007中看到的那样,各种效果实际上可以增强应用程序的可用性。 这不仅适用于媒体播放器和即时通讯客户端。 自然地,没有什么功能可以替代用户期望的功能齐全的应用程序。 对于那些希望将其丰富客户带入下一个层次并尝试创建视觉上吸引人的界面以使用户越来越舒适的用户而言。

我为什么感兴趣?

几年来,我已经开发了一系列Java Swing应用程序。 尽管对一般的桌面体验比较满意,但是我最近的项目之一由于其Java根源和毫无根据的性能“问题”而遇到了阻力。 一旦我开始使它变得肮脏(尽管这是在肮脏前的富客户端时代),批评者就不再对所谓的Java问题感到烦恼,而实际上却很喜欢使用它,因为它看起来比其他的要凉爽。

我必须承认,我不太喜欢编写Java2D代码和扩展JComponents。 我通常很乐意依靠不错的第三方聚会外观,例如相当不错的Substance Look and Feel ,为我的应用程序增添些许浮华。 我只想编写可运行的应用程序。 但是,我总是喜欢视觉上吸引人的应用程序,因此我知道我也应该为用户提供体面的体验。 现在这是一本书,可以教给开发人员确切的方法。

内容相关性

对于作者来说,“肮脏”的方面等同于效果和动画:渐变,反射,阴影,淡入淡出,过渡等。Java具有多种用途,并且所有效果都是可能的。 问题在于实现这些目标需要大量基础工作。 首先,要掌握基本的图形算法。 然后,必须将它们转换为Java2D可以计算的内容。 接下来是如何获取绘制的图像以在Swing中显示和正确运行。 最重要的是,始终要考虑性能问题。 简而言之,确实需要一些专家来指导开发人员渡过创建图形丰富的应用程序这一令人惊讶的复杂世界。

这本书包括19章,分为四部分:

  • 图形和GUI基础
  • 高级图形渲染
  • 动画
  • 特效

尽管它只是标题中带有“基础知识”的第一部分,但在我看来,前三部分实际上都是基础。 就像《空手道小子》一样,在踢屁股之前,有很多蜡和蜡!

第一部分介绍了图形化启蒙之旅中最重要的信息。 关于Swing和线程的一章可能像您读过的一样很好地回顾了该主题。 接下来是对您需要掌握的Java2D包中最适用的部分的浏览。 最后一个领域是关于理解Java上下文中的“图像”:各种类型,如何使用它们以及如何使用它们获得最佳性能。

真正的面包和黄油元素来自第二部分,向读者介绍了高级图形渲染技术。 在这里,您将学习如何使用合成,创建渐变,绘制反射以及将滤镜应用于图像。 您也可以在这里开始学习Swing中GlassPane的功能以及如何使用分层窗格。 在这些章节中,您开始意识到有很多警告。 显然,这就是为什么存在这本书是为了向您展示潜在的“陷阱”并提出最佳实践。

第三部分涉及动画,从个人角度讲,这是一本非常有趣的文章。 考虑到我对这个主题不那么感兴趣,这真是令人惊讶! 简要介绍了动画概念,以及Java平台中提供动画工具(即定时机制)的关键资产。 本节最后两章介绍了Chet的时序框架 。 其存在的理由是使动画和时间安排尽可能简单。 如该书所示,要设置计时器并确定动画的当前进度,需要大量样板代码。 该框架消除了所有繁琐的工作,并且还提供了许多其他有用的类来设置触发器(导致动画开始的事件)和插值(定义帧如何在整个动画中进行)。 随着库的发展,这是一个经过精心设计的API的非常好的例子,该API非常适合其用途,并且使潜在的棘手任务非常易于处理。

最后,本书的高潮出现在第四部分,该部分涉及效果。 最终,您可以在这里汇总前三部分中传达的知识并将其付诸实践-在这里,您才真正开始建立肮脏的富客户。 演示了各种静态效果,例如模糊(使弹出窗口可见时使背景分散注意力),阴影,反射和高光。 有关动态效果的后续章节,如淡入淡出,脉冲,弹跳和变形。 关于过渡的一章特别有趣,并提出了一个强有力的案例,说明为什么在不弄清楚接口之间如何相互关联的情况下,接口不应立即跳转到各个屏幕。 这也是向读者介绍该书的第二个库,称为“动画过渡”,专门为处理过渡而编写。 同样,这是另一个经过深思熟虑的API,它的确可以使开发人员添加此类功能的工作变得更加轻松。 它方便了标准的移动,缩放,淡入淡出和旋转,并在需要时可以插入您自己的自定义转场。

可读性

这本书写得非常好,确实很吸引人。 它的样式相当非正式,考虑到它的重量约为600页,这可能是一件好事。 阅读Chet博客的任何人都会知道,他并没有对一两个奇怪的恶作剧产生不利影响,而且这本书也不能幸免于此-尽管它们也不会减损它们的作用,但它们并没有真正增加很多。

公平地讲,本书没有涵盖非常琐碎的主题,并且鉴于这些章节都易于阅读,这很好地证明了作者交流其专业领域的能力。 文字很棒,数字总是有益的,并且代码片段被很好地利用。 毫无疑问,这是一个棘手的平衡。 显而易见的困难是,在静态媒体上尝试通过定义来说明动画和动态效果并不容易。 要充分利用本书,您必须花一些时间来观看示例演示和源代码。

程式码范例

编写编程教科书的困难在于要在嵌入到书页中的代码量方面找到适当的平衡。 当然,这完全取决于所解释的概念。 在肮脏的富客户中,他们在这方面做得很好。 有许多代码示例演示了应如何编写各种任务,这正是您所期望的,但是每个代码段都保持最低限度,很少应有的清单超过一页的长度。 当代码块对于理解当前样本不是必不可少的时候,通常可以通过用单行注释替换代码块来实现。 这是一种很好的技术,尽管有时它意味着您无法从书的页面上进行逐字记录,但更易于消化,读者也完全可以从随附的网站上找到完整的代码。

本书中提供的大多数源代码都是来自专门编写的演示应用程序的摘录,可下载。 这些文件每章捆绑在一个zip文件中,旨在使用Netbeans轻松加载和运行。 如果作者提供了编译版本,那将是理想的选择,也许是WebStart捆绑软件,只需双击即可轻松执行,尽管也许我只是很挑剔。

在撰写本文时,并非所有示例都可用。 第16-18章的演示不存在(如果您想知道的话,第19章没有示例),这很可惜,因为它们涵盖了各种桌面效果和过渡。 结果,尚无法获得Animated Transitions库的副本。

摘要

让我们清楚一点,这本书不会使您成为更好的程序员。 它不会教您如何使用Swing。 也不会学习如何正确构建桌面应用程序。 Chet and Romain的Filthy Rich Clients纯粹是关于如何增强现有的,功能全面的桌面应用程序的各个方面。

这是一本很棒的书:写得熟练,解释清楚并且步调很快。 它不会偏离自己的职责范围,并且不会在任何特定概念上停留太长时间。

我并不感到惊讶,但仍然对未解决外观方面感到有些沮丧。 重复扩展每个应用程序的各种组件不是一个好的长期策略。 随着所有的炒作开始围绕即将到来的Nimbus外观,很明显,开发人员和用户对于拥有立即吸引人的界面感到兴奋。 在一天结束时,您可以添加所有喜欢的过渡,阴影和反射,但是没有人会认为Swing的标准Metal外观“很酷”。 我很欣赏这是一个巨大的话题,也许太大了,无法与现有内容的其余部分一起解决。 但是,一些参考和指针会很有趣。

除了轻微的抓地力,还有很多要学习的将是有益的。 留给读者练习,以确定哪些增强功能适合其应用。 我知道阅读完所描述的每种效果后,我都渴望尝试每个示例。 作者必须知道,他们可能会释放相当于pimp-my-ride的桌面! 应谨慎行事,以免过度,影响效果的视觉效果。 尽管如此,看到一本书展示了Java平台的出色功能还是很正面的。 Java几乎没有任何借口不征服桌面!


版权:此摘录代表新书《肮脏的富客户端:开发用于桌面Java应用程序的动画和图形效果》(由Chet Haase和Romain Guy撰写,由Addison-Wesley出版)的第14章的一部分,该书属于Sun Microsystems Press, 2007年8月,版权所有2008 Sun Microsystems,Inc. ISBN-13:9780132413930。有关更多信息,请访问: http : //www.informit.com/title/9780132413930

翻译自: https://www.infoq.com/articles/filthy-rich-clients/?topicPageSponsorship=c1246725-b0a7-43a6-9ef9-68102c8d48e1

摘录本的摘录内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值