具体描述
Ionic是近几年很火的一项跨平台开发技术。Ionic最大的亮点是集成了Angular和Cordova,对于有开发经验的前端工程师来说上手难度大大降低,并且能直接使用现有的大量第三方库和框架。《Ionic实战:基于AngularJS的移动混合应用开发》是一本详尽的Ionic实战教程,不仅告诉你“怎么做”,还告诉你“为什么”,这正是大部分入门书籍所欠缺的。
无论你是否有相关开发经验,《Ionic实战:基于AngularJS的移动混合应用开发》都可以帮助你快速掌握Ionic。
作者简介
目录信息
1.1 Ionic是什么 .......................................................................................................... 2
1.2 移动开发类型 ...................................................................................................... 3
1.2.1 原生移动应用 .......................................................................................... 4
1.2.2 移动端网站(Web 应用) ........................................................................ 5
1.2.3 Hybrid 应用 .............................................................................................. 6
1.3 理解Ionic技术栈 .................................................................................................. 7
1.3.1 Ionic :用户界面框架 .............................................................................. 8
1.3.2 Angular :Web 应用框架 ....................................................................... 10
1.3.3 Cordova :Hybrid 应用框架 .................................................................. 10
1.4 为什么选择Ionic ................................................................................................ 11
1.4.1 开发者为什么要选择Ionic ................................................................... 11
1.4.2 Ionic 的缺点 ........................................................................................... 12
1.5 使用Ionic构建应用的前提 ................................................................................ 13
1.5.1 掌握HTML、CSS 和JavaScript .......................................................... 13
1.5.2 掌握Web 应用和Angular ..................................................................... 13
1.5.3 拥有移动设备 ........................................................................................ 14
1.6 Ionic支持的移动设备和平台 ............................................................................ 14
1.6.1 苹果的iOS ............................................................................................. 14
1.6.2 谷歌的Android ...................................................................................... 15
1.7 总结 .................................................................................................................... 16
第2章 配置开发环境 .................................................................................................. 17
2.1 快速上手 ............................................................................................................ 18
2.1.1 设置开发环境 ........................................................................................ 18
2.1.2 创建一个新项目 .................................................................................... 21
2.1.3 项目文件夹结构 .................................................................................... 22
2.1.4 在浏览器中预览 .................................................................................... 23
2.2 配置预览环境 .................................................................................................... 24
2.2.1 安装平台工具 ........................................................................................ 25
2.2.2 配置模拟器 ............................................................................................ 26
2.2.3 配置连接设备 ........................................................................................ 31
2.2.4 给项目添加平台 .................................................................................... 32
2.2.5 在模拟器中预览 .................................................................................... 32
2.2.6 在移动设备上预览 ................................................................................ 33
2.3 总结 .................................................................................................................... 35
第3章 AngularJS必备知识 ......................................................................................... 37
3.1 AngularJS初探 ................................................................................................... 39
3.1.1 视图和模板:描述内容 ........................................................................ 39
3.1.2 控制器、模型和作用域:管理数据和逻辑 ........................................ 41
3.1.3 Service :可重用的对象和方法 ............................................................ 43
3.1.4 双向数据绑定:在控制器和视图之间共享数据 ................................ 43
3.2 配置本章的项目 ................................................................................................ 43
3.2.1 获取项目文件 ........................................................................................ 44
3.2.2 启动开发服务器 .................................................................................... 44
3.3 Angular应用基础 ............................................................................................... 46
3.4 控制器:控制数据和业务逻辑 ........................................................................ 47
3.5 加载数据:使用控制器来加载数据并显示在视图中 .................................... 50
3.5.1 过滤器:转换视图中的数据 ................................................................ 53
3.6 处理选择笔记的单击事件 ................................................................................ 54
3.7 创建一个指令,用来解析Markdown格式的笔记 ........................................... 56
3.8 使用模型来管理内容编辑 ................................................................................ 59
3.9 保存和删除笔记 ................................................................................................ 62
3.9.1 添加save() 方法 .................................................................................... 63
3.9.2 使用Angular 表单进行验证 ................................................................. 64
3.9.3 添加和删除方法 .................................................................................... 64
3.10 继续学习Angular ............................................................................................. 65
3.11 挑战................................................................................................................... 66
3.12 总结 .................................................................................................................. 66
第4章 Ionic导航和核心组件 ....................................................................................... 68
4.1 配置项目 ............................................................................................................ 70
4.1.1 创建一个新应用并手动添加代码 ........................................................ 70
4.1.2 克隆完整版应用 .................................................................................... 70
4.2 配置应用导航 .................................................................................................... 70
4.2.1 设计良好的应用导航 ............................................................................ 72
4.2.2 使用状态管理器来声明应用视图 ........................................................ 73
4.3 构建主视图 ........................................................................................................ 77
4.3.1 创建内容容器 ........................................................................................ 77
4.3.2 使用CSS 组件并添加一个简单的链接列表 ....................................... 78
4.3.3 给列表元素添加图标 ............................................................................ 80
4.4 使用控制器和模型来开发预订视图 ................................................................ 81
4.5 把数据加载到天气视图中 ................................................................................ 85
4.5.1 给天气视图添加模板 ............................................................................ 86
4.5.2 创建天气控制器加载外部数据 ............................................................ 87
4.5.3 给天气视图添加一个载入指示器 ........................................................ 89
4.6 在餐馆视图中使用卡片和无限滚动 ................................................................ 91
4.7 使用幻灯片组件来实现应用介绍 .................................................................... 94
4.8 挑战 .................................................................................................................... 97
4.9 总结 .................................................................................................................... 98
第5章 选项卡、高级列表和表单组件 ......................................................................... 99
5.1 配置本章的项目 .............................................................................................. 101
5.1.1 手动创建项目并添加代码 .................................................................. 101
5.1.2 克隆完整项目 ...................................................................................... 101
5.2 ionTabs:添加选项卡和导航 .......................................................................... 101
5.2.1 给应用添加选项卡容器和三个选项卡 .............................................. 103
5.3 给每个选项卡添加ionNavView ...................................................................... 104
5.4 加载并显示当前的比特币汇率 ...................................................................... 109
5.5 在同一个选项卡视图中显示货币细节 .......................................................... 114
5.6 刷新比特币汇率并显示帮助信息 .................................................................. 117
5.6.1 IonRefresher :下拉刷新汇率 ............................................................. 118
5.6.2 $IonicPopover :弹出帮助信息........................................................... 120
5.7 绘制历史数据 .................................................................................................. 123
5.7.1 配置第三方库 ...................................................................................... 123
5.7.2 历史信息选项卡模板:使用Highcharts 和下拉列表来切换货币... 124
5.7.3 历史信息选项卡控制器:加载数据并配置图表 .............................. 125
5.8 货币选项卡:支持重新排序和开关 .............................................................. 129
5.8.1 IonReorderButton :让列表支持重新排序 ......................................... 129
5.8.2 IonToggle :给列表元素添加开关 ...................................................... 131
5.9 挑战 .................................................................................................................. 132
5.10 总结 ................................................................................................................ 132
第6章 使用Ionic开发一款天气应用 ............................................................................ 134
6.1 项目配置 .......................................................................................................... 135
6.2 设置侧滑菜单和视图 ...................................................................................... 136
6.3 地理位置搜索 .................................................................................................. 139
6.4 增加设置视图和数据的服务 .......................................................................... 142
6.4.1 创建收藏地点和设置服务 .................................................................. 142
6.4.2 在侧滑菜单列表中显示收藏的地点 .................................................. 144
6.4.3 增加设置视图模板 .............................................................................. 145
6.4.4 设置视图控制器 .................................................................................. 147
6.5 设置天气视图 .................................................................................................. 148
6.5.1 获取 Forecast.io API 密钥 ................................................................... 148
6.5.2 使用 Ionic 命令行代理 ........................................................................ 149
6.5.3 增加天气视图的控制器和模板 .......................................................... 150
6.6 ionScroll:制作自定义滚动内容组件 ............................................................ 151
6.6.1 在页面中使用 ionScroll ...................................................................... 152
6.6.2 为天气数据查询创建过滤器 .............................................................. 158
6.7 活动菜单列表:显示可选列表 ...................................................................... 160
6.8 ionModal:显示日出和日落数据表 ............................................................... 162
6.8.1 配置弹窗 .............................................................................................. 164
6.8.2 数据列表集:让日出和日落时间列表显示得更快 .......................... 166
6.9 弹框:提示并确认收藏地点修改 .................................................................. 169
6.10 挑战 ................................................................................................................ 171
6.11 总结................................................................................................................. 172
第7章 开发高级应用 ................................................................................................ 173
7.1 配置本章项目 .................................................................................................. 174
7.1.1 获取代码 .............................................................................................. 174
7.2 使用 Sass 自定义 Ionic 样式 ........................................................................... 174
7.2.1 设置 Sass .............................................................................................. 175
7.2.2 使用 Sass 变量自定义 Ionic ................................................................ 176
7.2.3 使用 Sass 编写样式 ............................................................................. 177
7.3 如何支持联网和离线模式 .............................................................................. 178
7.4 处理手势事件 .................................................................................................. 180
7.4.1 使用 Ionic 事件指令监听事件 ............................................................ 180
7.4.2 使用 $ionicGesture 服务监听事件 ...................................................... 182
7.4.3 支持的手势事件 .................................................................................. 185
7.5 数据持久化 ...................................................................................................... 186
7.5.1 使用 localStorage ................................................................................. 187
7.5.2 使用 Web SQL、IndexedDB 和 SQLite ............................................. 189
7.5.3 Cordova 插件提供的其他选项 ........................................................... 190
7.6 制作跨平台的应用 .......................................................................................... 191
7.6.1 一种尺寸并不能满足所有情况 .......................................................... 191
7.6.2 根据平台或者设备类型适配样式 ...................................................... 192
7.6.3 为平台和设备类型适配交互 .............................................................. 194
7.7 使用 $ionicConfigProvider编辑默认交互行为 ............................................... 196
7.8 总结 .................................................................................................................. 197
第8章 使用Cordova插件 .......................................................................................... 198
8.1 Cordova 插件 .................................................................................................... 199
8.1.1 使用插件要考虑的问题 ...................................................................... 200
8.1.2 安装插件 .............................................................................................. 201
8.1.3 使用插件 .............................................................................................. 201
8.1.4 在模拟器中使用插件 .......................................................................... 202
8.1.5 插件和系统限制 .................................................................................. 203
8.1.6 Angular 和 Cordova 陷阱 .................................................................... 203
8.1.7 关于设备和模拟器的一些常见问题解决办法 .................................. 205
8.2 ngCordova ......................................................................................................... 207
8.2.1 安装 ngCordova ................................................................................... 207
8.3 在应用中使用相机和相册插件 ...................................................................... 208
8.3.1 创建相机应用 ...................................................................................... 208
8.3.2 增加相机插件 ...................................................................................... 209
8.3.3 创建相册视图 ...................................................................................... 210
8.4 在天气应用中使用地理位置 .......................................................................... 212
8.4.1 配置地理位置插件示例 ...................................................................... 213
8.4.2 添加地理位置插件和 ngCordova ....................................................... 214
8.4.3 请求用户的地理位置 .......................................................................... 214
8.4.4 优化天气应用 ...................................................................................... 216
8.5 本章挑战 .......................................................................................................... 218
8.6 总结 .................................................................................................................. 219
第9章 预览、调试和自动化测试 .............................................................................. 220
9.1 预览、调试和测试之间的区别 ...................................................................... 220
9.1.1 为什么测试如此重要 .......................................................................... 222
9.2 配置本章示例 .................................................................................................. 222
9.3 预览应用的其他方法 ...................................................................................... 223
9.3.1 Ionic Lab ............................................................................................... 223
9.3.2 Ionic View ............................................................................................ 224
9.4 使用真机调试 .................................................................................................. 226
9.4.1 在 Android 设备上进行调试 ............................................................... 227
9.4.2 在 iOS 或模拟器中进行调试 .............................................................. 229
9.5 自动化测试 ...................................................................................................... 232
9.5.1 使用 Jasmine 和 Karma 进行单元测试 .............................................. 233
9.5.2 使用 Protractor 和 WebDriver 进行集成测试 .................................... 240
9.6 更多的测试示例 .............................................................................................. 245
9.7 总结 .................................................................................................................. 245
第10章 编译并发布应用 ........................................................................................... 246
10.1 创建应用过程一览 ........................................................................................ 247
10.2 创建应用图标和启动页面图片 .................................................................... 248
10.2.1 创建图标 .......................................................................................... 249
10.2.2 创建启动页面图片 .......................................................................... 250
10.3 准备上线应用 ................................................................................................ 251
10.4 编译 Android 应用并发布到 Google Play .................................................... 252
10.4.1 配置应用的签名 .............................................................................. 252
10.4.2 编译应用文件 .................................................................................. 253
10.4.3 签名应用文件 .................................................................................. 253
10.4.4 优化 APK 文件 ................................................................................ 254
10.4.5 编译应用的升级版本 ...................................................................... 254
10.4.6 创建应用清单并将应用上传到 Play Store .................................... 255
10.4.7 升级应用清单或上传新版本 .......................................................... 256
10.4.8 选择 Android 商店 ........................................................................... 256
10.5 编译 iOS 应用并发布到 AppStore ................................................................ 257
10.5.1 配置认证和 ID ................................................................................. 257
10.5.2 配置应用的 ID 标识 ........................................................................ 258
10.5.3 在 iTunes Connect 中创建应用清单 ............................................... 259
10.5.4 使用 Xcode 编译并上传应用 .......................................................... 259
10.5.5 完善 iTunes Connect 应用清单信息 ............................................... 260
10.5.6 更新应用 .......................................................................................... 261
10.6 总结 ................................................................................................................ 261
附录A 相关资源 ....................................................................................................... 263
· · · · · · (收起)
读后感
用户评价
坦白说,一开始我对这种“实战”类的书籍持保留态度,生怕又是那种光说不练的空泛之作。但这本书彻底颠覆了我的看法。作者对细节的把控达到了近乎偏执的程度,无论是UI组件的布局逻辑,还是对不同设备适配的处理,都有详尽的说明。我特别留意了其中关于调试和错误处理的部分,这部分内容往往是其他书籍会轻描淡写带过的地方。然而,这本书却提供了非常实用的调试工具链和排错思路,这对于项目开发中不可避免的“填坑”过程来说,简直是救命稻草。它教会我的不仅是如何使用工具,更是如何像一个经验丰富的工程师那样去思考和定位问题,让我在面对突发状况时,不再手足无措。
作为一个经验尚浅的开发者,我发现市面上很多教程要么过于理论化,要么就是零散的代码片段堆砌,让人难以形成系统的知识体系。然而,这本《**Ionic实战**》完全不同。它就像一位经验丰富的导师,耐心地引导你从零开始搭建起一个完整的应用骨架。我特别喜欢它对性能优化部分的讲解,那才是真正区分普通应用和专业应用的关键所在。书中对动画流畅度、资源加载速度等方面给出的建议和代码示例,都非常具有可操作性,我立马在自己的小项目中应用了其中的几个技巧,效果立竿见<bos>!那种“原来可以这样做”的顿悟感,是阅读其他书籍时很难获得的体验。它不是简单地告诉你“怎么做”,而是深入探讨了“为什么这么做”背后的技术原理,对于追求技术深度的读者来说,无疑是极具价值的。
对于那些希望从Web开发转向移动端,同时又不想完全抛弃现有HTML/CSS/JavaScript技能栈的开发者来说,这本书简直就是为你量身定做的。它没有强行推销那些晦涩难懂的原生API,而是巧妙地利用已有的Web技术栈,展现出构建现代移动应用的巨大潜力。书中的代码风格简洁、注释清晰,即便是多年未看过的代码片段,也能迅速理解其意图。我个人觉得,这本书最大的成功之处在于,它成功地将“复杂的技术”包装成“可理解、可操作的步骤”。阅读过程中,我多次感叹:“原来复杂的跨平台开发可以被拆解得如此优雅!”它极大地激发了我对未来移动应用开发的热情和信心。
这本书真是让我大开眼界,尤其是对于那些想深入了解前端开发,特别是移动应用开发的朋友们来说,简直是宝藏。我以前接触过一些基础的Web技术,但一直苦于找不到一个能将这些技能无缝迁移到移动端开发的桥梁。这本书的结构非常清晰,从基础概念的铺陈,到核心组件的深入剖析,再到项目实战的演练,每一步都走得扎实而稳健。我尤其欣赏作者在讲解复杂概念时所采用的类比和实例,这使得即便是初学者也能迅速抓住重点。它不仅仅是教你如何写代码,更重要的是培养你解决实际问题的思维模式。读完后,我感觉自己的技术栈得到了极大的拓宽,对如何构建高性能、用户体验良好的跨平台应用有了全新的认识。那种从理论到实践的完整闭环,让人在学习过程中充满成就感。
这本书的篇幅看似厚重,但阅读起来却有一种行云流水的顺畅感。它的章节安排极具匠心,过渡自然得让人几乎感觉不到在学习一个复杂的框架。我是一个偏爱动手实践的人,这本书完全满足了我的需求。那些穿插在理论讲解中的实战案例,不是那种为了演示功能而生的“玩具”代码,而是贴近真实商业应用场景的复杂模块。特别是关于数据持久化和后端集成的章节,讲解得细致入微,让我对如何构建一个全栈应用有了更清晰的蓝图。很多时候,我发现自己不是在“看书”,而是在跟着书中的步骤一步步构建我自己的项目,这种沉浸式的学习体验,极大地提高了我的学习效率和对知识的记忆深度。
两百多页内容只能带你进门槛,把使用ionic开发的大致过程带你走一遍。接下来要自己学习。好贵的书。
属于翻了一遍就不想读的那种技术书籍,排班也是相当复古
实例代码旁都会有标注某段代码的作用,关键词会加粗,好评~ 缺点是感觉太依赖项目了导致有些基础内容没按照条理讲清楚
实例代码旁都会有标注某段代码的作用,关键词会加粗,好评~ 缺点是感觉太依赖项目了导致有些基础内容没按照条理讲清楚
了解一下Ionic概念还行,不过现在版本变化很多,书本身用处不大了