`
javafxguy
  • 浏览: 152511 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

JavaFX新书:JavaFX本质论

阅读更多

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

1
0
分享到:
评论

相关推荐

    JavaFx本质论源代码

    在"JavaFX本质论源代码"中,我们可以深入理解JavaFX的核心概念和实现机制。首先,JavaFX的编程模型基于 scenegraph,这是一种数据结构,用于描述应用程序的可视化元素及其相互关系。SceneGraph允许开发者通过定义...

    《javafx本质论》的书中实例

    JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。《javafx本质论》的书中实例

    《JavaFx本质论》读书笔记1(1-2章)

    《JavaFx本质论》读书笔记1(1-2章)主要涵盖了JavaFX的基础知识和核心概念,这本书旨在深入解析JavaFX这一强大的GUI(图形用户界面)开发框架。JavaFX是Oracle公司推出的一种用于构建桌面应用、移动应用以及云计算...

    javaFx Pdf 阅读器

    JavaFX PDF阅读器是一款基于JavaFX图形用户界面库开发的应用程序,主要用于查看和浏览PDF(Portable Document Format)文档。PDF格式是一种广泛使用的文档格式,它能够保持文档的原始布局和样式,无论在哪种设备上...

    JavaFX Script 语言教程(面向Swing 程序员).rar

    JavaFX Script 是一种用于创建富互联网应用程序(RIA)的编程语言,由Sun Microsystems(后被Oracle收购)开发,主要用于构建桌面和移动平台上的图形用户界面。这个教程是专门为那些已经熟悉Swing编程的开发者设计的...

    java图形图象处理(论文+系统).zip

    10. **数字信号处理基础**: 图像本质上是数字信号,因此数字信号处理的基本概念,如傅里叶变换、小波分析等,也会在图像处理中有所涉及。 总之,"java图形图象处理(论文+系统).zip"这个压缩包可能包含了一个完整...

    基于java的自动排课管理系统

    2. **数据结构与算法**:排课问题本质上是一个组合优化问题,涉及到大量的数据处理和计算。常用的数据结构如数组、链表、树、图等在其中发挥重要作用。而解决这类问题的算法可能包括贪心算法、回溯法、动态规划等,...

    java图书管理系统毕业设计(源代码+论文).zip

    商海浪潮,请勿翻涌”暗示了这份论文的学术性和对商业化的排斥,强调了其学术研究的本质。文档的名称和描述表明该系统的开发和研究是作为一项毕业设计项目,以Java为开发语言,注重系统功能的实现和代码的编写。这个...

Global site tag (gtag.js) - Google Analytics