JavaFX发布一周年了,今天给大家介绍一本JavaFX的中文书。当前学习JavaFX的书籍不算多,英文版的书主要有3本:一是Jim Weaver,Stephen Chin等编写的《JavaFX Pro Platform》,二是Jim Clarke,Jim Conners著的《JavaFX:Developing Rich Internet Applications》,还有就是Gail & Peter Anderson的《Essential JavaFX》。中文版的书籍就更少了。最近,由Sun亚洲全球化中心翻译的《Essential JavaFX》已经由人民邮电出版社出版,并与英文版同步发行,中译名为《JavaFX本质论》。这是本JavaFX学习者不可多得的参考资料和教材,所以给大家介绍一下。 |
作者Gail & Peter Anderson是Anderson Software Group, Inc的创始人。该公司主要从事软件开发专业人员的培训工作,该公司开发的课程在业界广泛采用。《JavaFX本质论》一书是按照培训技术人员的方式编写的,因此,读者可以按照该书快速有效地学习JavaFX脚本语言。Gail Anderson在写书的时候,得到了Sun公司Octavian Tanase和Richard Bair等JavaFX 产品组核心人员的支持和帮助,所以书中的内容较能体现JavaFX的设计精神和理念,书中涵盖的程序范例和技术细节均符合JavaFX 1.2 的规范。还值得一提的是,本书是由位于北京的Sun公司亚洲全球化中心翻译校对,除了译文忠实于原文之外,还使得本书更带有“准官方”的色彩。
如书中前言所述,本书面向的读者主要是已有编程经验的开发者(但不是必须有Java经验)。如果是没有任何编程基础的读者,建议最好先阅读一些编程语言的教程,如Java,C++等。我认为JavaFX最可能的读者应是Java程序员。这不仅因为JavaFX名字中包含了Java一字,而且 JavaFX的实现技术也是基于Java的,并可直接调用Java的代码。已经熟悉Java的程序员阅读JavaFX的程序有点像在读Java语言的扩展模块。另外,对C++ 程序员来说,也不难理解JavaFX的语法和概念,毕竟Java的语法基本上是从C/C++借鉴过来的。
在你已熟悉了某种编程语言,再去学习新的语言,最需要了解的就是新语言的特色和语法特点。笔者觉得一种行之有效的方法就是先概览新语言的程序例子(如HelloWorld等),快速了解新语言的语法风格。有了这种感性认识之后,再具体看语言的介绍就会容易理解了。《JavaFX本质论》就是按照这样结构来安排的,所有程序示例都可从网上下载,读者可以边阅读边运行示范程序,这种方式非常适合初学者。中文版把书中的代码注释都翻译了,更加通俗易懂。
第1章主要介绍JavaFX SDK下载和NetBeans IDE。熟悉JDK和IDE(Netbeans或Eclipse)的读者,可以很快的搭建自己的JavaFX开发环境。
第2章是本书的引子,通过展现一个JavaFX吉他调音器(GuitarTuner)例程,让读者体验JavaFX的风味,并且介绍一些重要的概念,如声明式结构,JavaFX场景图(Scene Graph),绑定和动画等。这章的目的是让读者迅速了解到JavaFX可以实现什么功能,以及如何实现这些功能的。通过前两章的阅读,读者已经可在 NetBeans IDE中运行一个较完整的JavaFX程序。
第3章是语法介绍,包括变量类型、运算符表达式,类和对象、函数、触发器等基本语法元素。对Java程序员来说,可以重点关注JavaFX 和Java的语法异同点。本章也是可以较快跳过的章节,并作为今后阅读和编写JavaFX程序时的参考文档。
第4和第5章主要是描述如何用JavaFX的图形对象和控件来构造用户界面(UI)。这是JavaFX特有部分,在编程中广泛应用,因此需要仔细阅读。虽然JavaFX的UI里面可以看到不少Java SWING和Java 2D的痕迹,JavaFX甚至还提供了Swing的控件Wrapper,在使用上面JavaFX还是带来了简洁和便利等优点。
第6章深入讲解了一个完整的JavaFX项目:Piano(钢琴)。读者可以领略到JavaFX的强大功能,如各种视觉效果(渐变、阴影等)、时间轴、动态布局和序列操作等等。 这个程序还展现了JavaFX如何直接调用Java的功能来丰富应用程序。
第7章是动画(animation)功能的详述。动画可以说是JavaFX区别于Java的一个重要功能。内容包括了常用的动画概念和技巧,如时间轴(Timelines), 关键帧(Keyframes), 动画插值(interpolations), 路径动画(path)和过渡切换(transition)等。
第8章是介绍图像功能,主要包括Image和ImageView两个类的用法,以及各种图像效果的解释和演示,是做‘富’客户端必不可少的功能。本章的例程也比较有意思,如图像墙,3D照片幻灯等。
第9章内容是Web Services,即JavaFX的Client如何和Server进行数据交互。在RIA中,通过Internet获取数据几乎是必备的功能。本章内容涵盖了PullParser和HttpRequest这两个主要的类,并通过例程说明如何调用Flickr的Web服务以获取相片数据。
第10章讲述了JavaFX的移动(Mobile)应用。NetBeans IDE提供了移动仿真器(emulator),可以调试JavaFX Mobile的应用。本章介绍的移动应用开发涉及了常见的问题,如运行环境检测、处理移动设备的屏幕转向(象iphone那种)、键盘输入等。书中还介绍了如何把桌面版的JavaFX程序修改成为JavaFX Mobile的程序。
![]() |
![]() |
总的来说,我觉得《JavaFX本质论》是非常适合初学者的一本入门书籍,读者可以循序渐进地学习JavaFX各个方面的功能特性。对于已经了解JavaFX的程序员,也是非常好的参考手册。有兴趣的读者可以在这里阅读和下载本书的样章:
第5 章 用户界面组件 http://images.china-pub.com/ebook195001-200000/195879/ch05.pdf
第7章 动画 http://images.china-pub.com/ebook195001-200000/195879/ch07.pdf
各大网上书店可购买,如: http://www.china-pub.com/195879
源程序下载可从作者网站(英文)下载:http://www.asgteach.com/books/javafxbook.html
本文同步发表于 JavaFX技术交流 http://www.javafxblogs.com