前言

作为Ext JS开发人员,你很可能已经花费了一些时间来学习这个框架。我们都知道,Ext JS并非是一朝一夕就可以掌握的。学会Ext JS的基本应用后,我们需要在日常开发中使用它,此时大量问题也就冒了出来。两个组件间如何通信?最佳做法是什么?为什么选择这种方式,而不是其他方式?是否还有实现同一种特性的其他方式?这都是普遍存在的问题。

本书站在开发者的角度思考问题:如何融合各种思路,通过Ext JS创建绝妙的应用呢?

这正是本书要讲解的内容。我们将经历从界面原型到产品化构造的各个阶段,最终实现一个完整的应用程序。作者将带我们构建应用结构、启动界面、登录界面、多语言支持功能、行为监控功能、取决于用户权限的动态菜单,以及(简单或复杂的)数据库信息管理模块。之后,我们还将学习产品构造方法、如何将Web应用转换成原生桌面应用,以及怎样调试、测试它。本书后面还专设一章,介绍如何使用Ext JS创建WordPress主题。

本书将使用实际示例,并讲解怎样用Ext JS组件来实现它们。我们还将给出大量提示、选择具体做法的原因与依据,以及各种最佳实践,帮助大家把Ext JS技能提升到一个新的高度。

本书内容

第1章介绍本书实现的应用示例及其特性、每个界面和模块的原型(后续每一章介绍一个模块),并讨论了如何用MVC架构的思路创建Ext JS应用程序,以及如何创建启动界面。

第2章讨论如何使用Ext JS实现登录界面,以及怎样在服务器端做相应处理,还将介绍各种增强功能的实现:大写键提醒、回车键提交表单和密码发送到服务器端之前对其进行加密。

第3章介绍注销、客户端行为超时监控(如果用户一段时间内未使用鼠标或键盘,系统将自动终止会话并注销)等功能。这一章还将介绍多语言支持,并为此创建一个更改系统语言和本地化设置的组件。

第4章创建一个取决于用户权限的动态菜单。根据用户权限情况来决定菜单项如何渲染呈现,如果用户权限不足,就不会显示菜单项。

第5章讨论用户管理与安全,将创建两个功能界面:列出所有系统用户的操作界面,以及添加/编辑用户、删除现有用户和更改用户权限的操作界面。

第6章实现用户编辑数据库表信息的模块,其界面看起来与MySQL数据库表编辑器很相似。同时还将介绍即席搜索、过滤、行内编辑(使用单元格编辑插件)等。这一章也将讨论实际开发Ext JS大型应用程序时的一些话题,如组件重用。

第7章进一步探讨数据库表信息管理以及表与表之间的关联,内容涉及管理复杂信息、处理数据网格与表单面板间的关系。

第8章介绍(Ext JS原生不支持的)打印、导出PDF和Excel等功能,还将介绍图表和将其导出成图片和PDF格式的方法,以及怎样使用第三方插件。

第9章会实现一个与微软Outlook非常相似的电子邮件客户端界面,但只讨论用Ext JS创建相应界面,不涉及使用邮件功能库收发邮件。

第10章简单地介绍Ext JS 4.2自定义主题,并讨论产品构造的步骤和好处,以及如何通过Sencha Desktop Packager创建Ext JS原生桌面应用。

第11章与本书其他各章的主线内容不同,讨论如何通过Ext JS创建WordPress主题,探讨的是Ext JS的不同应用场景。

第12章讨论调试Ext JS应用程序、注意事项以及掌握调试方法的重要性。这一章还将简单介绍用于测试Ext JS应用程序的Siesta框架,以及转换Ext JS应用为移动应用的思路。最后,还将推荐一些便于日常开发任务的有用工具,并告诉你去哪儿寻找可在Ext JS项目中使用的第三方插件。

阅读须知

以下是运行本书示例需预装的软件,当然你也可以使用已经安装的同类软件。

带有调试工具的浏览器:

PHP Web服务器软件:

数据库:

Sencha Command及其他工具:

本书使用Ext JS 4.2。

读者对象

本书适合Ext JS专业开发人员,以及那些想进一步提升技能以开发出更优秀Web应用的开发人员。本书并不讲述Ext JS基础知识。

排版约定

为方便读者阅读,本书对不同信息采用不同样式。接下来,我们来看样式的示例和解释。

正文中提到的代码格式如下所示:“我们将为加载的DIV标签添加新的CSS样式。”

代码段样式如下:

Ext.application({ // #1
    name: 'Packt', // #2
    launch: function() { // #3
         console.log('launch');   // #4
    }
});

当需要读者特别注意代码块中的某一部分时,相关代码行或项将以粗体表示:

controllers: [
    'Login',
    'TranslationManager',
    'Menu'
]

命令行输入与输出样式如下:

sencha generate theme masteringextjs-theme

新术语重要词汇将采用粗体字。

注意 警告或重要说明将写在这里。

提示 小贴士和技巧将写在这里。

读者反馈

我们时刻欢迎你的反馈,以便了解你对本书的看法。你的宝贵意见有助于我们提升书籍的质量。

一般的阅读反馈,可直接发送电子邮件至feedback@packtpub.com,请在邮件标题中注明书名。

如果你在某个领域内有专长且有兴趣编写相关书籍,请访问www.packtpub.com/authors查看作者指南。

客户支持

现在你已是Packt图书的尊贵读者了,我们有一系列的售后支持,保证你的消费物有所值。

代码下载

访问下面的网址获取本书示例的源代码: https://github.com/loiane/masteringextjs

勘误1

1 中文版读者可免费注册iTuring.cn在本书页面(~/book/1189)提交勘误——编者注

尽管我们已经对书籍作了仔细校对以保证内容准确,但错误在所难免。如果在书中发现任何的文字或代码错误,非常欢迎你将这些错误提交给我们,这样可以帮助我们在后续版本中改正错误,避免其他读者产生不必要的误解。一旦发现错误,请登录http://www.packtpub.com/support,选择书名,点击errata submission form(提交勘误)链接,然后填写具体的错误信息即可。只要你提交的勘误通过验证,勘误信息就会上传到我们的网站,或者追加到已有勘误列表中,显示在该书的勘误页面。

盗版

对所有媒体来说,互联网盗版都是一个棘手的问题。Packt很重视版权保护。如果你在互联网上发现我们公司出版物的任何非法复制品,请及时告知我们相关网址或网站名称,以便我们采取补救措施。

如果发现可疑盗版材料,请通过copyright@packtpub.com联系我们。

对你帮助我们保护作者权益、确保我们持续提供高品质图书的行为表示敬意。

其他

如果你对本书有任何问题,请通过questions@packtpub.com联系我们,我们会尽力解决。

目录

  • 版权声明
  • 译者序
  • www.packtpub.com
  • 技术审校
  • 前言
  • 致谢
  • 第1章 开始
  • 第2章 登录界面
  • 第3章 注销与多语言支持
  • 第4章 动态菜单高级应用
  • 第5章 用户鉴权与安全
  • 第6章 MySQL数据库表管理
  • 第7章 内容管理
  • 第8章 添加额外功能
  • 第9章 电子邮件客户端模块
  • 第10章 产品化准备
  • 第11章 创建WordPress主题
  • 第12章 调试与测试