《Ionic实战:基于AngularJS的移动混合应用开发》
基本信息
编辑推荐
只需掌握Web技术就能开发移动应用是不是很爽?有了Ionic之后,App的开发变得如此简单:使用我们熟知的HTML、CSS和JavaScript技术就可以同时开发iOS和Android应用。
本书指导Web开发者使用Ionic和AngularJS创建移动应用。通过大量带有注释的示例,本书展示了如何使用移动UI组件,如何利用当前地点数据,如何集成相机等原生设备功能,如何添加手势操作以及外部数据存储等功能,让我们能创建出更加原生的应用。本书还介绍了如何通过测试提升应用的稳定性以及在开发中定位错误。然后,使用命令行工具教会大家如何创建并将应用发布到应用商店。内容包括:
√ 使用HTML、JavaScript和CSS创建移动应用
√ 使用Ionic UI组件创建复杂交互
√ 一次编译,"到处"发布(iOS和Android)
√ 使用原生设备硬件以及设备特定功能
√ 涵盖完整的移动应用开发过程
读者需要了解HTML、CSS和JavaScript知识;对于AngularJS,懂一些最好,不懂也没有关系。
内容简介
作译者
目录
第1章 Ionic和Hybrid应用介绍
1.1 Ionic是什么
1.2 移动开发类型
1.2.1 原生移动应用
1.2.2 移动端网站(Web应用)
1.2.3 Hybrid应用
1.3 理解Ionic技术栈
1.3.1 Ionic:用户界面框架
1.3.2 Angular:Web应用框架
1.3.3 Cordova:Hybrid应用框架
1.4 为什么选择Ionic
1.4.1 开发者为什么要选择 Ionic
1.4.2 Ionic的缺点
1.5 使用Ionic构建应用的前提
1.5.1 掌握 HTML、CSS和 JavaScript
1.5.2 掌握 Web应用和 Angular
1.5.3 拥有移动设备
1.6 Ionic支持的移动设备和平台
1.6.1 苹果的 iOS
1.6.2 谷歌的 Android
1.1 Ionic是什么
1.2 移动开发类型
1.2.1 原生移动应用
1.2.2 移动端网站(Web应用)
1.2.3 Hybrid应用
1.3 理解Ionic技术栈
1.3.1 Ionic:用户界面框架
1.3.2 Angular:Web应用框架
1.3.3 Cordova:Hybrid应用框架
1.4 为什么选择Ionic
1.4.1 开发者为什么要选择 Ionic
1.4.2 Ionic的缺点
1.5 使用Ionic构建应用的前提
1.5.1 掌握 HTML、CSS和 JavaScript
1.5.2 掌握 Web应用和 Angular
1.5.3 拥有移动设备
1.6 Ionic支持的移动设备和平台
1.6.1 苹果的 iOS
1.6.2 谷歌的 Android
译者序
刚入职的时候,团队参加Hackathon 的过程中需要制作一款移动应用,在没有iOS 和Android 工程师的情况下,经过调研,Ionic 成了我们最终的技术解决方案,也为我翻译本书打下了契机。我经常说技术没有银色子弹,没有最完美的,只有最适合的。Web App 虽然有为人诟病的性能问题,但是在人员、时间、功能、性能等的权衡下,Ionic 必然是有它的受众的。
本书是In Action 系列的一员,这就注定了它是一本实战书的命运。而事实也是如此,基本上每章都会用一个示例贯穿全章。我喜欢这种感觉,纯理论的书读起来让我昏昏欲睡,实战这种从0 到1 将最终成品展现在眼前的形式让我非常有成就感。
相信这也是大多实战派钟爱的感觉吧!当然这并不是说理论不重要,我希望的是以实战为引,通过实战慢慢去理解并深入理论,而后将理论反作用于实战,相辅相成才是最终奥义。
实战书不好的地方在于它势必会贴很多代码,我甚至在有的书上看到过整页整页的代码。相信本书的作者也不想这样,所以很多时候他只列出了一些必要的代码并提醒大家可以到Github 仓库上查看完整代码。在这里也推荐大家在看完本书中的内容后再去看看仓库中的示例,虽然书上的注解非常详细,但我相信大家定会有另一番收获。
书上的代码是基于Ionic 1.x 的,而Angular 2 发布在即,Ionic 2 也发布了Beta 版。
很多人对于这本书是否已经过时产生了疑问。对于这一点大家大可放心,官方文档对于修改的地方详细地列出了新旧版本的写法,而且Ionic 2 的接口和组件基本上都维持了原样。当然,我个人觉得还是要理解Ionic 的精髓,举一反三才能对代码的理解大有助益。
本书算是我翻译的"处女作",虽然我已经尽全力但难免有纰漏,如果你在阅读的过程中有不明白的地方可通过i@imnerd.org 联系我。这里首先要感谢奇舞团给了我这样一个机会,然后我要感谢本书的另一位译者梁杰在翻译过程中提供的帮助,此外我还要感谢李松峰老师,他百忙之中帮我们审校译文。感谢我的妈妈在我人生中给予我的无私的爱。当然还要感谢书本前的你,我们的不期而遇定会触发新的奇迹。祝君好运!
李喆明
2016 年5 月15 日
本书是In Action 系列的一员,这就注定了它是一本实战书的命运。而事实也是如此,基本上每章都会用一个示例贯穿全章。我喜欢这种感觉,纯理论的书读起来让我昏昏欲睡,实战这种从0 到1 将最终成品展现在眼前的形式让我非常有成就感。
相信这也是大多实战派钟爱的感觉吧!当然这并不是说理论不重要,我希望的是以实战为引,通过实战慢慢去理解并深入理论,而后将理论反作用于实战,相辅相成才是最终奥义。
实战书不好的地方在于它势必会贴很多代码,我甚至在有的书上看到过整页整页的代码。相信本书的作者也不想这样,所以很多时候他只列出了一些必要的代码并提醒大家可以到Github 仓库上查看完整代码。在这里也推荐大家在看完本书中的内容后再去看看仓库中的示例,虽然书上的注解非常详细,但我相信大家定会有另一番收获。
书上的代码是基于Ionic 1.x 的,而Angular 2 发布在即,Ionic 2 也发布了Beta 版。
很多人对于这本书是否已经过时产生了疑问。对于这一点大家大可放心,官方文档对于修改的地方详细地列出了新旧版本的写法,而且Ionic 2 的接口和组件基本上都维持了原样。当然,我个人觉得还是要理解Ionic 的精髓,举一反三才能对代码的理解大有助益。
本书算是我翻译的"处女作",虽然我已经尽全力但难免有纰漏,如果你在阅读的过程中有不明白的地方可通过i@imnerd.org 联系我。这里首先要感谢奇舞团给了我这样一个机会,然后我要感谢本书的另一位译者梁杰在翻译过程中提供的帮助,此外我还要感谢李松峰老师,他百忙之中帮我们审校译文。感谢我的妈妈在我人生中给予我的无私的爱。当然还要感谢书本前的你,我们的不期而遇定会触发新的奇迹。祝君好运!
李喆明
2016 年5 月15 日
前言
序
本书是Jeremy Wilken 九个月的努力成果,他是一位顶尖的Ionic 开发者,从2013 年开始我们就在一起开发并开源Ionic,和他一起工作是一件非常愉快的事。本书不仅介绍了Ionic 的开源SDK,还包含许多对资深Ionic 开发者有帮助的信息。
Jeremy 为本书开发了三个Ionic 应用,几乎用遍了现有的Ionic 组件。通过这三个应用,你可以学会如何组合这些组件。第一个应用可以帮助度假胜地服务用户,它用到了滑动页面、列表、卡片、内容容器以及基础导航。第二个应用是比特币市场应用,可以展示比特币的实时汇率,用到了下拉刷新、弹出窗口、选项卡、图表、高级列表以及嵌套视图。第三个应用是天气应用,使用了模态框、自定义滚动区域(分页滚动)、外部数据加载、边栏菜单以及一个搜索视图。
这些应用都很有特点并且比较完整,它们已经完成了应用商店上架所需的80%的功能,其余的20% 会在每章结尾列出,由读者完成。
对于经验丰富的Ionic 开发者来说,本书介绍了如何实现特定平台的功能开发,比如在iOS 上使用动作菜单,在安卓上使用弹出窗口。本书同样介绍了Ionic 生态系统的背景以及如何使用Cordova 及其插件;介绍了Ionic 平台提供的各种服务,比如Ionic 视图;还介绍了如何使用高级技巧和测试来优化Ionic 开发流程。Jeremy 用优秀的例子结合他独到的视角来教大家如何搭建环境并编写你自己的测试。
在和Max Lynch 以及Ben Sperry 一起开发Ionic 之前,我加入了他们的公司,负责开发已经获得成功的产品,其中就包括Codiqa,这是一个图形化的jQuery Mobile 拖曳构建工具。在开发Codiqa 时,我意识到设备和浏览器的潜力并没有被充分开发,用户一直在要求我们为工具添加更多的功能。最终,我们决定创建自己的Hybrid 应用开发套件,充分发挥移动设备的潜力。有了Angular 这样的强力工具,我们有能力将Hybrid 移动应用开发推进到能和原生应用开发相抗衡的程度。我们在2013 年发布了Ionic 的alpha 版,令我感到自豪的是,开发社区非常快地接受了Ionic 并帮助它进一步发展。更令我激动的是,Ionic 才刚刚起步,我们会继续完善它,让开发者可以更快更轻松地开发高性能的应用。
本书既有对Ionic 的介绍,也有更加深入的应用开发最佳实践,因此无论你是初学者还是资深开发者,都会有所收获。非常感谢你加入Ionic 社区。
玩得开心!
Adam Bradley
Ionic 框架联合创建人
前言
几年前人们还在争论是否值得为移动端应用开发投入时间和精力,时至今日,手机的重要性已经毋庸多言。截至2015 年夏天,苹果和谷歌应用商店中的应用数量已经突破一百万。手机的销量已经达到台式机/ 笔记本电脑的六倍,平板电脑的销量眼看着也要在年内超过台式机/ 笔记本电脑。移动设备已经无处不在。
回到2013 年,移动应用开发领域主要的关注点还是构建原生应用。这些原生应用使用Java 或者Objective-C 写成,开发者需要学习这些语言、平台工具、SDK 等。对于像我这样的Web 开发者来说,这是一道很难跨越的障碍。当时的移动端Web 主要是构建响应式网站而不是移动端应用。由于老式设备和浏览器对Hybrid 应用(使用Web 技术构建的原生应用)支持不好,再加上设计风格和原生应用完全不同,很少有人会选择Hybrid 应用。
Ionic 的发起者们看到了机会。他们意识到移动设备正在迅速发展,Hybrid 应用会成为原生应用的有力对手。有些开发者想用他们已经掌握的Web 技术来开发原生应用,而这也正是Ionic 的目标。Ionic 使用了开源项目Cordova 和Angular,把它们整合成一个统一的Hybrid 移动应用开发平台。
1.0 版本发布之后,Ionic 已经可以支持Web 开发者构建移动应用。Ionic 团队自豪地把Ionic 称作:Hybrid 应用"一直在等待的那个SDK"。写完本书之后,我已经可以看到Ionic 的光明未来。Ionic 如此强大的核心就是本书介绍的那些开源组件。此外,围绕Ionic 的服务平台正在搭建中,包括推送通知、数据分析、beta 测试等。我维护着很多受欢迎的开源项目,这些项目都有完善的开发和社区支持,Ionic 就是其中之一(目前是GitHub Star 最多的前40 个项目之一,Ionic 使用的Angular 在本书编写时是前三名)。大量的应用使用Ionic 构建,有些甚至得到了应用商店的推荐。
我一直想把自己的学习经验分享出来,告诉大家如何成为一名移动应用开发者,写这本Ionic 的书也延续了这一思想。最初我的计划是将Ionic 的特性作为核心进行讲解,对每个特性进行单独介绍。写了6 章之后,我发现这个方法行不通。我喜欢那些能够运行并且能够交互的东西,对移动应用来说能上手使用是最好的。
因此,写完前三个核心章节的草稿之后,我扔掉了它们,从头开始,直接用实践来进行介绍。这和我使用Ionic 开发第一个应用时所采用的学习方法很像,希望这能帮助你更好地学习Ionic。实际上,你会发现本书的所有章节都充满这种对读者的关怀。
我在不断试错中掌握了Ionic,文档永远是一位好老师。工作中需要开发移动应用的时候,我可以使用Ionic 在一天之内做出一个原型。Ionic 刚出来的时候,我总会不断更新我的应用,让它适配Ionic 的改动和新特性,在这个过程中我深深感受到Ionic 发展速度之快。beta 版发布几个月之后,Ionic 就完善了API 和架构设计,并沿用至今。
在未来,Ionic 必将包括更多社区驱动的贡献和组件、更多的平台服务和更高的性能及质量。我迫不及待地想知道你会做出什么,我也很高兴能见证你在Ionic 的帮助下成为一名移动应用开发者。
致谢
本书是Jeremy Wilken 九个月的努力成果,他是一位顶尖的Ionic 开发者,从2013 年开始我们就在一起开发并开源Ionic,和他一起工作是一件非常愉快的事。本书不仅介绍了Ionic 的开源SDK,还包含许多对资深Ionic 开发者有帮助的信息。
Jeremy 为本书开发了三个Ionic 应用,几乎用遍了现有的Ionic 组件。通过这三个应用,你可以学会如何组合这些组件。第一个应用可以帮助度假胜地服务用户,它用到了滑动页面、列表、卡片、内容容器以及基础导航。第二个应用是比特币市场应用,可以展示比特币的实时汇率,用到了下拉刷新、弹出窗口、选项卡、图表、高级列表以及嵌套视图。第三个应用是天气应用,使用了模态框、自定义滚动区域(分页滚动)、外部数据加载、边栏菜单以及一个搜索视图。
这些应用都很有特点并且比较完整,它们已经完成了应用商店上架所需的80%的功能,其余的20% 会在每章结尾列出,由读者完成。
对于经验丰富的Ionic 开发者来说,本书介绍了如何实现特定平台的功能开发,比如在iOS 上使用动作菜单,在安卓上使用弹出窗口。本书同样介绍了Ionic 生态系统的背景以及如何使用Cordova 及其插件;介绍了Ionic 平台提供的各种服务,比如Ionic 视图;还介绍了如何使用高级技巧和测试来优化Ionic 开发流程。Jeremy 用优秀的例子结合他独到的视角来教大家如何搭建环境并编写你自己的测试。
在和Max Lynch 以及Ben Sperry 一起开发Ionic 之前,我加入了他们的公司,负责开发已经获得成功的产品,其中就包括Codiqa,这是一个图形化的jQuery Mobile 拖曳构建工具。在开发Codiqa 时,我意识到设备和浏览器的潜力并没有被充分开发,用户一直在要求我们为工具添加更多的功能。最终,我们决定创建自己的Hybrid 应用开发套件,充分发挥移动设备的潜力。有了Angular 这样的强力工具,我们有能力将Hybrid 移动应用开发推进到能和原生应用开发相抗衡的程度。我们在2013 年发布了Ionic 的alpha 版,令我感到自豪的是,开发社区非常快地接受了Ionic 并帮助它进一步发展。更令我激动的是,Ionic 才刚刚起步,我们会继续完善它,让开发者可以更快更轻松地开发高性能的应用。
本书既有对Ionic 的介绍,也有更加深入的应用开发最佳实践,因此无论你是初学者还是资深开发者,都会有所收获。非常感谢你加入Ionic 社区。
玩得开心!
Adam Bradley
Ionic 框架联合创建人
前言
几年前人们还在争论是否值得为移动端应用开发投入时间和精力,时至今日,手机的重要性已经毋庸多言。截至2015 年夏天,苹果和谷歌应用商店中的应用数量已经突破一百万。手机的销量已经达到台式机/ 笔记本电脑的六倍,平板电脑的销量眼看着也要在年内超过台式机/ 笔记本电脑。移动设备已经无处不在。
回到2013 年,移动应用开发领域主要的关注点还是构建原生应用。这些原生应用使用Java 或者Objective-C 写成,开发者需要学习这些语言、平台工具、SDK 等。对于像我这样的Web 开发者来说,这是一道很难跨越的障碍。当时的移动端Web 主要是构建响应式网站而不是移动端应用。由于老式设备和浏览器对Hybrid 应用(使用Web 技术构建的原生应用)支持不好,再加上设计风格和原生应用完全不同,很少有人会选择Hybrid 应用。
Ionic 的发起者们看到了机会。他们意识到移动设备正在迅速发展,Hybrid 应用会成为原生应用的有力对手。有些开发者想用他们已经掌握的Web 技术来开发原生应用,而这也正是Ionic 的目标。Ionic 使用了开源项目Cordova 和Angular,把它们整合成一个统一的Hybrid 移动应用开发平台。
1.0 版本发布之后,Ionic 已经可以支持Web 开发者构建移动应用。Ionic 团队自豪地把Ionic 称作:Hybrid 应用"一直在等待的那个SDK"。写完本书之后,我已经可以看到Ionic 的光明未来。Ionic 如此强大的核心就是本书介绍的那些开源组件。此外,围绕Ionic 的服务平台正在搭建中,包括推送通知、数据分析、beta 测试等。我维护着很多受欢迎的开源项目,这些项目都有完善的开发和社区支持,Ionic 就是其中之一(目前是GitHub Star 最多的前40 个项目之一,Ionic 使用的Angular 在本书编写时是前三名)。大量的应用使用Ionic 构建,有些甚至得到了应用商店的推荐。
我一直想把自己的学习经验分享出来,告诉大家如何成为一名移动应用开发者,写这本Ionic 的书也延续了这一思想。最初我的计划是将Ionic 的特性作为核心进行讲解,对每个特性进行单独介绍。写了6 章之后,我发现这个方法行不通。我喜欢那些能够运行并且能够交互的东西,对移动应用来说能上手使用是最好的。
因此,写完前三个核心章节的草稿之后,我扔掉了它们,从头开始,直接用实践来进行介绍。这和我使用Ionic 开发第一个应用时所采用的学习方法很像,希望这能帮助你更好地学习Ionic。实际上,你会发现本书的所有章节都充满这种对读者的关怀。
我在不断试错中掌握了Ionic,文档永远是一位好老师。工作中需要开发移动应用的时候,我可以使用Ionic 在一天之内做出一个原型。Ionic 刚出来的时候,我总会不断更新我的应用,让它适配Ionic 的改动和新特性,在这个过程中我深深感受到Ionic 发展速度之快。beta 版发布几个月之后,Ionic 就完善了API 和架构设计,并沿用至今。
在未来,Ionic 必将包括更多社区驱动的贡献和组件、更多的平台服务和更高的性能及质量。我迫不及待地想知道你会做出什么,我也很高兴能见证你在Ionic 的帮助下成为一名移动应用开发者。
致谢
序言
本书是Jeremy Wilken 九个月的努力成果,他是一位顶尖的Ionic 开发者,从2013 年开始我们就在一起开发并开源Ionic,和他一起工作是一件非常愉快的事。本书不仅介绍了Ionic 的开源SDK,还包含许多对资深Ionic 开发者有帮助的信息。
Jeremy 为本书开发了三个Ionic 应用,几乎用遍了现有的Ionic 组件。通过这三个应用,你可以学会如何组合这些组件。第一个应用可以帮助度假胜地服务用户,它用到了滑动页面、列表、卡片、内容容器以及基础导航。第二个应用是比特币市场应用,可以展示比特币的实时汇率,用到了下拉刷新、弹出窗口、选项卡、图表、高级列表以及嵌套视图。第三个应用是天气应用,使用了模态框、自定义滚动区域(分页滚动)、外部数据加载、边栏菜单以及一个搜索视图。
这些应用都很有特点并且比较完整,它们已经完成了应用商店上架所需的80%的功能,其余的20% 会在每章结尾列出,由读者完成。
对于经验丰富的Ionic 开发者来说,本书介绍了如何实现特定平台的功能开发,比如在iOS 上使用动作菜单,在安卓上使用弹出窗口。本书同样介绍了Ionic 生态系统的背景以及如何使用Cordova 及其插件;介绍了Ionic 平台提供的各种服务,比如Ionic 视图;还介绍了如何使用高级技巧和测试来优化Ionic 开发流程。Jeremy 用优秀的例子结合他独到的视角来教大家如何搭建环境并编写你自己的测试。
在和Max Lynch 以及Ben Sperry 一起开发Ionic 之前,我加入了他们的公司,负责开发已经获得成功的产品,其中就包括Codiqa,这是一个图形化的jQuery Mobile 拖曳构建工具。在开发Codiqa 时,我意识到设备和浏览器的潜力并没有被充分开发,用户一直在要求我们为工具添加更多的功能。最终,我们决定创建自己的Hybrid 应用开发套件,充分发挥移动设备的潜力。有了Angular 这样的强力工具,我们有能力将Hybrid 移动应用开发推进到能和原生应用开发相抗衡的程度。我们在2013 年发布了Ionic 的alpha 版,令我感到自豪的是,开发社区非常快地接受了Ionic 并帮助它进一步发展。更令我激动的是,Ionic 才刚刚起步,我们会继续完善它,让开发者可以更快更轻松地开发高性能的应用。
本书既有对Ionic 的介绍,也有更加深入的应用开发最佳实践,因此无论你是初学者还是资深开发者,都会有所收获。非常感谢你加入Ionic 社区。
玩得开心!
Adam Bradley
Ionic 框架联合创建人
Jeremy 为本书开发了三个Ionic 应用,几乎用遍了现有的Ionic 组件。通过这三个应用,你可以学会如何组合这些组件。第一个应用可以帮助度假胜地服务用户,它用到了滑动页面、列表、卡片、内容容器以及基础导航。第二个应用是比特币市场应用,可以展示比特币的实时汇率,用到了下拉刷新、弹出窗口、选项卡、图表、高级列表以及嵌套视图。第三个应用是天气应用,使用了模态框、自定义滚动区域(分页滚动)、外部数据加载、边栏菜单以及一个搜索视图。
这些应用都很有特点并且比较完整,它们已经完成了应用商店上架所需的80%的功能,其余的20% 会在每章结尾列出,由读者完成。
对于经验丰富的Ionic 开发者来说,本书介绍了如何实现特定平台的功能开发,比如在iOS 上使用动作菜单,在安卓上使用弹出窗口。本书同样介绍了Ionic 生态系统的背景以及如何使用Cordova 及其插件;介绍了Ionic 平台提供的各种服务,比如Ionic 视图;还介绍了如何使用高级技巧和测试来优化Ionic 开发流程。Jeremy 用优秀的例子结合他独到的视角来教大家如何搭建环境并编写你自己的测试。
在和Max Lynch 以及Ben Sperry 一起开发Ionic 之前,我加入了他们的公司,负责开发已经获得成功的产品,其中就包括Codiqa,这是一个图形化的jQuery Mobile 拖曳构建工具。在开发Codiqa 时,我意识到设备和浏览器的潜力并没有被充分开发,用户一直在要求我们为工具添加更多的功能。最终,我们决定创建自己的Hybrid 应用开发套件,充分发挥移动设备的潜力。有了Angular 这样的强力工具,我们有能力将Hybrid 移动应用开发推进到能和原生应用开发相抗衡的程度。我们在2013 年发布了Ionic 的alpha 版,令我感到自豪的是,开发社区非常快地接受了Ionic 并帮助它进一步发展。更令我激动的是,Ionic 才刚刚起步,我们会继续完善它,让开发者可以更快更轻松地开发高性能的应用。
本书既有对Ionic 的介绍,也有更加深入的应用开发最佳实践,因此无论你是初学者还是资深开发者,都会有所收获。非常感谢你加入Ionic 社区。
玩得开心!
Adam Bradley
Ionic 框架联合创建人
书摘
译者序刚入职的时候,团队参加Hackathon 的过程中需要制作一款移动应用,在没有iOS 和Android 工程师的情况下,经过调研,Ionic 成了我们最终的技术解决方案,也为我翻译本书打下了契机。我经常说技术没有银色子弹,没有最完美的,只有最适合的。Web App 虽然有为人诟病的性能问题,但是在人员、时间、功能、性能等的权衡下,Ionic 必然是有它的受众的。本书是In Action 系列的一员,这就注定了它是一本实战书的命运。而事实也是如此,基本上每章都会用一个示例贯穿全章。我喜欢这种感觉,纯理论的书读起来让我昏昏欲睡,实战这种从0 到1 将最终成品展现在眼前的形式让我非常有成就感。相信这也是大多实战派钟爱的感觉吧!当然这并不是说理论不重要,我希望的是以实战为引,通过实战慢慢去理解并深入理论,而后将理论反作用于实战,相辅相成才是最终奥义。实战书不好的地方在于它势必会贴很多代码,我甚至在有的书上看到过整页整页的代码。相信本书的作者也不想这样,所以很多时候他只列出了一些必要的代码并提醒大家可以到Github 仓库上查看完整代码。在这里也推荐大家在看完本书中的内容后再去看看仓库中的示例,虽然书上的注解非常详细,但我相信大家定会有另一番收获。书上的代码是基于Ionic 1.x 的,而Angular 2 发布在即,Ionic 2 也发布了Beta 版。很多人对于这本书是否已经过时产生了疑问。对于这一点大家大可放心,官方文档对于修改的地方详细地列出了新旧版本的写法,而且Ionic 2 的接口和组件基本上都维持了原样。当然,我个人觉得还是要理解Ionic 的精髓,举一反三才能对代码的理解大有助益。本书算是我翻译的“处女作”,虽然我已经尽全力但难免有纰漏,如果你在阅读的过程中有不明白的地方可通过i@imnerd.org 联系我。这里首先要感谢奇舞团给了我这样一个机会,然后我要感谢本书的另一位译者梁杰在翻译过程中提供的帮助,此外我还要感谢李松峰老师,他百忙之中帮我们审校译文。感谢我的妈妈在我人生中给予我的无私的爱。当然还要感谢书本前的你,我们的不期而遇定会触发新的奇迹。祝君好运!李喆明2016 年5 月15 日