新書推薦:
《
世界航空地理(世界国别与区域地理研究丛书)
》
售價:NT$
1112.0
《
学术的中心:英法德美
》
售價:NT$
398.0
《
为什么要读人类学
》
售價:NT$
352.0
《
井邑无衣冠 : 地方视野下的唐代精英与社会
》
售價:NT$
434.0
《
星地融合移动通信系统与关键技术从5G NTN到6G的卫星互联网发展
》
售價:NT$
968.0
《
妈妈,你好吗?(一封写给妈妈的“控诉”信,日本绘本奖作品)
》
售價:NT$
194.0
《
保守主义:为传统而战
》
售價:NT$
704.0
《
不同境遇的36岁:无尽与有限+人生半熟
》
售價:NT$
510.0
|
編輯推薦: |
自2015年春天Facebook开源React Native以来,React Native就凭借其强大的可扩展性、良好的用户体验以及可拥有原生外观等优势得到开发者的关注和青睐。本书是一本实践指南,从基础知识入手,逐步深入,带领读者部署可100%代码复用的、成熟的跨平台移动应用。作者通过示例代码向Web开发者和前端工程师展示了如何使用移动组件构建界面并编写样式,以及如何调试和部署应用。除了框架本身的讲解,作者还探讨了如何使用第三方库,以及如何编写自己的Java或者Objective-C的React Native扩展。 - 了解React Native如何开放原生UI组件接口 - 类比HTML元素,了解该框架如何使用原生组件 - 创建自己的React Native组件和应用,并为它们编写样式 - 为该框架不支持的API和功能安装第三方模块 - 使用工具来调试代码,并解决JavaScript之外的问题 - 整合所学知识,开发一款高效记忆闪卡应用Zebreto - 部署应用至iOS应用商店和Google Play商店
|
內容簡介: |
本书通过丰富的示例和详细的讲解,介绍了React Native这款JavaScript框架。在React Native中利用现有的JavaScript和React知识,就可以开发和部署功能完备的、真正原生的移动应用,并同时支持iOS与Android平台。除了框架本身的概念讲解之外,本书还讨论了如何使用第三方库,以及如何编写自己的Java或Objective-C的React Native扩展。
|
關於作者: |
Bonnie Eisenman是Twitter公司的软件工程师,曾就职于Codecademy、Google和Fog Creek Software公司。她曾在多个会议上作过演讲,话题涉及React、音乐编程和Arduino。工作之余,她乐于开发电子乐器,喜爱使用激光切割巧克力,并且热爱学习各种语言。
|
目錄:
|
目录
前言 xi
第1章 初识React Native 1
1.1 React Native的优点 2
1.1.1 开发者体验 2
1.1.2 代码复用与知识共享 3
1.2 风险和缺点 4
1.3 小结 4
第2章 React Native工作原理 5
2.1 React Native是如何工作的 5
2.2 渲染周期 7
2.3 在React Native中创建组件 7
2.3.1 编写视图 7
2.3.2 使用JSX 9
2.3.3 原生组件的样式 10
2.4 宿主平台接口 11
2.5 小结 12
第3章 构建你的第一个应用 13
3.1 搭建环境 13
3.1.1 安装React Native 14
3.1.2 iOS依赖 14
3.1.3 Android依赖 14
3.2 创建一个新的应用 17
3.2.1 在iOS平台运行React Native应用 18
3.2.2 部署到iOS设备 20
3.2.3 在Android平台运行React Native应用 23
3.2.4 小结:创建并运行项目 24
3.3 探索示例代码 24
3.3.1 添加组件到视图中 24
3.3.2 React Native中的模块导入 25
3.3.3 FirstProject组件 26
3.4 开发天气应用 27
3.4.1 处理用户输入 28
3.4.2 展现数据 30
3.4.3 添加背景图片 34
3.4.4 从Web获取数据 36
3.4.5 整合 37
3.5小结 40
第4章 移动应用组件 42
4.1 类比HTML元素与原生组件 42
4.1.1 文本组件 43
4.1.2 图片组件 45
4.2 处理触摸和手势 46
4.2.1 使用TouchableHighlight 47
4.2.2 GestureResponder系统 49
4.2.3 PanResponder 52
4.3 使用结构化组件 58
4.3.1 使用ListView 58
4.3.2 使用Navigator 66
4.3.3 其他结构化组件 68
4.4 平台特定组件 69
4.4.1 iOS或Android特定组件 69
4.4.2 平台特定版本的组件 70
4.4.3 何时使用平台特定组件 74
4.5 小结 74
第5章 样式 75
5.1 声明和操作样式 75
5.1.1 内联样式 76
5.1.2 对象样式 76
5.1.3 使用Stylesheet.Create 77
5.1.4 样式拼接 77
5.2 组织和继承 79
5.2.1 导出样式对象 79
5.2.2 样式作为属性传递 80
5.2.3 复用和共享样式 81
5.3 定位和设计布局 81
5.3.1 使用flexbox布局 82
5.3.2 使用绝对定位 86
5.3.3 学以致用 86
5.4 小结 91
第6章 平台接口 92
6.1 使用定位接口 93
6.1.1 获取用户地理位置 93
6.1.2 处理权限问题 94
6.1.3 在iOS模拟器上测试定位 95
6.1.4 监听用户位置 96
6.1.5 限制 96
6.1.6 改进天气应用 96
6.2 使用用户图片与摄像头 99
6.2.1 相机模块 99
6.2.2 通过getPhotoParams获取图片 101
6.2.3 从相机渲染一张图片 101
6.2.4 展示照片列表 103
6.2.5 上传图片至服务器 107
6.3 AsyncStore持久化数据存储 108
6.4 智能天气应用 109
6.4.1 WeatherProject组件 111
6.4.2 Forecast组件 114
6.4.3 Button组件 115
6.4.4 LocationButton组件 116
6.4.5 PhotoBackdrop组件 117
6.5 小结 119
第7章 模块 120
7.1 使用npm安装JavaScript类库 120
7.2 iOS原生模块 121
7.2.1 导入第三方组件 122
7.2.2 使用视频组件 125
7.2.3 剖析Objective-C原生模块 125
7.2.4 RCTVideo的实现 128
7.3 Android原生模块 130
7.3.1 安装第三方组件 130
7.3.2 剖析Java原生模块 134
7.3.3 LinearGradient的Android实现 137
7.4 跨平台原生模块 139
7.5 小结 141
第8章 调试与开发者工具 142
8.1 JavaScript调试实践和解释 142
8.1.1 激活开发者选项 142
8.1.2 使用console.log调试 143
8.1.3 使用JavaScript调试器 145
8.1
|
|