iOS企业级应用开发技术

本书特色

[

本书聚焦在APP“产品”的设计、开发和运营层面,特别强调架构和设计模式的重要性,有意识地将设计模式应用到代码的编写中,重点介绍iOS企业级应用开发的设计思维方式,并与全栈开发技术结合起来。 全书分为iOS基础篇、Web与Native混合开发模式篇和全栈开发技术篇。iOS基础篇主要介绍iOS基础知识、多种设计模式下的视图控制器之间的传值、App与服务器接口的定义、CollectionView的应用;Web与Native混合开发模式篇主要介绍Block的应用、iOS网络请求、JavaScript基础、Web与Native的交互;全栈开发技术篇主要介绍Node.js、Express、AngularJS、MongoDB、MEAN全栈技术的实现。

]

作者简介

[

和凌志,客座教授,工信部人才交流中心认证讲师;拥有十多年移动互联网开发经验,先后在 Siemens Mobile、 Flextronics 等欧美公司担任手机软件架构师。2014年, 为北京高校录制慕课“iOS企业级应用开发技术”。近几年,专注于全栈技术开发, 代表产品有“点时”APP ——轻量级知识分享平台。

]

目录

目 录iOS基础篇第1章 iOS基础知识 21.1 Objective-C语法简介 21.1.1 Objective-C的奇特之处 21.1.2 如何声明一个实例变量 41.1.3 Objective-C字符串 51.2 Objective-C的对象类型与基本数据类型 61.2.1 对象类型与基本数据类型的混合使用 61.2.2 对象类型与基本数据类型的转换 71.3 不可变数组与可变数组 71.3.1 不可变数组(NSArray)的特征 81.3.2 可变数组(NSMutableArray)的特征 81.3.3 如何遍历数组中的对象 81.3.4 NSArray与NSMutableArray的应用 101.4 不可变字典与可变字典 111.4.1 不可变字典(NSDictionary) 111.4.2 可变字典(NSMutableDictionary) 121.4.3 如何遍历字典中的对象 121.4.4 NSArray与NSDictionary的应用 131.4.5 创建类的对象 131.5 iOS应用程序概述 141.5.1 应用程序的入口 141.5.2 应用程序委托(AppDelegate) 141.5.3 UIApplication应用场景 151.5.4 一种简单的永久数据存储方式 161.6 iOS定制化控件 171.6.1 定制化View的创建 171.6.2 小标签(UILabel),大用场 191.6.3 如何实现输入框随键盘上移 201.7 视图的层级管理 231.7.1 创建视图的方法 231.7.2 如何从父视图中移除子视图 251.7.3 登录页面的实现 261.8 iOS编程规范 281.8.1 代码的可维护性 291.8.2 面向对象的编程思想 291.8.3 优先编写轻量级的ViewController 301.9 小结 31第2章 视图控制器之间的传值 322.1 通过Delegate实现ViewController之间的传值 322.1.1 Delegate概述 322.1.2 学习Delegate的困惑 322.1.3 从一道经典的面试题说起 332.1.4 学习Delegate常出现的几个误区 332.1.5 Delegate技术难点在哪里 342.1.6 数据逆向传送一定要通过Delegate吗 342.1.7 Delegate应用五步曲 352.1.8 Delegate优势 382.2 通过单例实现ViewController之间的传值 382.2.1 单例的创建 392.2.2 单例的初始化 402.2.3 单例设计模式的本质 412.2.4 通过单例实现传值 412.2.5 单例模式在登录模块中的应用 422.2.6 单例模式的优势 442.3 通过KVO实现ViewController之间的传值 442.3.1 什么是KVC 442.3.2 什么是KVO 452.3.3 KVO的特点 462.3.4 使用KVO的步骤 462.3.5 KVO的实现方法 462.3.6 KVO应用注意事项 502.4 通过NSNotification实现ViewController之间的传值 502.4.1 NSNotification的定义 512.4.2 NSNotificationCenter 512.4.3 发出通知 512.4.4 接收通知 522.4.5 移除通知 522.4.6 异步模式下的通知操作 532.4.7 通过NSNotification实现ViewController之间的传值 532.4.8 NSNotification与Delegate的区别 552.4.9 监听系统自带的NSNotification 562.5 小结 58第3章 App与服务器接口的定义 593.1 关于JSON的认识 593.2 App与服务器接口的定义 613.2.1 App与后台的接口设计 613.2.2 后台返回的数据格式 613.2.3 后台返回的提示信息 623.3 JSON与Model的转换 623.3.1 JSONModel常见的用法 633.3.2 JSONModel的几个属性用法 673.4 小结 69第4章 CollectionView的应用 704.1 CollectionView与TableView孰优孰劣 704.1.1 TableView的应用场景 704.1.2 CollectionView的应用场景 714.1.3 CollectionView与TableView概念对比 714.1.4 CollectionView与TableView的性能对比 714.2 什么是UICollectionView 714.3 实现一个简单的UICollectionView 724.4 UICollectionViewCell视图层级 734.5 UICollectionViewDataSource 744.6 关于Cell的重用 744.7 UICollectionViewDelegate 754.8 UICollectionViewLayout 764.9 实现一个简单的瀑布流 774.9.1 通过手动编码创建UICollectionView 784.9.2 直接拖曳一个CollectionViewController 814.9.3 基于Xib创建一个UICollectionViewCell 864.10 自定义瀑布流的应用场景 884.11 自定义Flow Layout进行瀑布流布局 884.11.1 自定义瀑布流的应用场景 894.11.2 自定义瀑布流的实现思路 904.11.3 创建自定义的Flow Layout 904.11.4 创建自定义的CollectionViewCell 924.11.5 关于initWithFrame:方法的使用 934.11.6 自定义瀑布流的完整实现 944.11.7 UICollectionView相关的类图 964.11.8 如何实现UICollectionView的轮播 974.12 CollectionView与TableView的区别 984.13 图片轮播的实现思路 984.14 CollectionView注意事项 994.15 小结 100Web与Native混合开发模式第5章 Block的应用 1025.1 Block缘起 1025.2 Block概述 1035.3 Block的声明、实现与调用 1045.3.1 Block的声明 1045.3.2 Block的实现 1065.3.3 Block的调用 1085.3.4 Block外部变量的访问 1095.4 Block的应用场景 1105.4.1 Block用于completionHandler 1105.4.2 Block声明为实例变量 1135.4.3 typedef Block 1145.5 通过Block实现视图控制器之间的逆向传值 1155.5.1 应用场景 1155.5.2 代码实现 1155.6 小结 118第6章 iOS网络请求 1196.1 iOS网络请求概述 1196.2 AFNetworking的应用 1196.2.1 AFNetworking概述 1196.2.2 AFNetworking框架使用方法 1216.2.3 影响网络请求的几个条件 1226.2.4 善用URL宏定义 1246.2.5 URl接口应统一管理 1246.2.6 AFNetworking的二次封装 1266.3 AFNetworking的序列化问题 1266.3.1 AFNetworking请求格式 1276.3.2 AFNetworking响应格式 1286.4 异步请求数据并刷新UI页面 1286.5 远程文件下载 1306.5.1 基于AFNetworking的文件下载 1306.5.2 基于NSURLSession的文件下载 1326.5.3 网络安全访问设置 1336.6 小结 134第7章 JavaScript基础 1357.1 JavaScript语法 1357.2 变量的声明与赋值 1367.3 如何判断两个字符串是否相等 1377.4 创建JavaScript对象的三种方法 1387.5 函数声明与函数表达式 1407.6 可立即调用的函数表达式 1437.7 循环的实现 1457.8 防止JavaScript自动插入分号 1467.9 严格模式 1477.10 如何运行与调试JavaScript代码 1487.10.1 把JavaScript代码内嵌到HTML页面中 1487.10.2 通过Node.js运行JavaScript代码 1507.11 JavaScript的面向对象设计思想 1507.12 JavaScript的异步编程模式 1517.12.1 Promise对象 1527.12.2 生成Promise实例对象 1527.12.3 Promise原型方法 1547.12.4 Promise的catch方法 1547.13 如何在HTML中嵌入JavaScript 1557.13.1 <script>标签 1557.13.2 <script>标签的位置 1567.13.3 嵌入JavaScript代码与外部文件引用 1577.14 JavaScript与JSON 1577.15 小结 158第8章 Web与Native的交互 1598.1 混合开发模式概述 1598.1.1 Webkit简介 1598.1.2 JavaScriptCore简介 1608.1.3 Objective-C调用JavaScript 1608.2 网页调用iOS的原生方法 1628.2.1 应用场景 1628.2.2 技术实现思路 1638.2.3 代码实现 1638.2.4 代码解读 1648.2.5 Objective-C与JavaScript的数据类型 1668.2.6 Objective-C访问HTML文件 1678.3 iOS调用JavaScript 1688.3.1 Objective-C调用JavaScript代码 1698.3.2 Objective-C获取JavaScript中的变量 1708.3.3 在Objective-C中,调用带有参数的JavaScript函数 1708.3.4 在Objective-C中调用不带参数的JavaScript函数 1718.4 JavaScript调用Objective-C代码 1728.4.1 JavaScript调用Objective-C代码 1728.4.2 JavaScript调用Objective-C函数对象 1738.5 小结 174全栈开发技术第9章 Node.js入门指南 1769.1 概述 1769.2 Node.js生态 1769.3 Node开发环境的搭建 1779.4 Node.js验证 1779.5 **个Node.js工程 1789.5.1 创建Node.js工程 1789.5.2 运行Node.js工程 1799.5.3 Node.js服务的自动重启 1819.6 小结 182第10章 Express——后端框架 18310.1 概述 18310.2 Express工程的创建 18310.3 Express中的GET与POST请求 18410.3.1 GET请求 18410.3.2 POST请求 18510.4 小结 185第11章 AngularJS——Google前端框架 18611.1 AngularJS概述 18611.2 AngularJS指令概述 18811.2.1 AngualrJS指令:ng-app 18811.2.2 AngularJS指令:ng-init 18911.2.3 AngularJS指令:ng-model 18911.2.4 ng-app与ng-model示例 18911.2.5 AngularJS指令:ng-click 19111.3 AngularJS构建单页面应用 19111.3.1 单页面应用的优势 19111.3.2 轻松构建单页面应用 19311.3.3 单页面应用的实现 19411.4 AngularJS的加载 19911.4.1 AngularJS的引用 19911.4.2 加载AngularJS静态资源库 19911.5 AngularJS控制器 20011.5.1 AngularJS控制器的创建 20011.5.2 AngularJS控制器的应用 20011.5.3 AngularJS的数据绑定 20211.6 $scope用法 20411.7 小结 207第12章 MongoDB——文档数据库 20812.1 MongoDB概述 20812.1.1 关于MongoDB 20812.1.2 MongoDB的历史 20812.1.3 MongoDB的优势 20912.2

封面

iOS企业级应用开发技术

书名:iOS企业级应用开发技术

作者:和凌志

页数:237

定价:¥68.0

出版社:电子工业出版社

出版日期:2017-10-01

ISBN:9787121328282

PDF电子书大小:131MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注