React Native移动开发实战( 第2版 ) - (EPUB全文下载)
文件大小:0.36 mb。
文件格式:epub 格式。
书籍内容:
React Native移动开发实战( 第2版 )
第1章 React Native背景知识
第2章 React Native入门基础
第3章 React Native基础语法
第4章 React技术详解
第5章 React Native组件详解
第6章 React Native API
第7章 React Native开发进阶
第8章 网络与通信
第9章 服务器开发基础
第10章 React Native测试
第11章 应用发布与热更新
第12章 电影购票App开发实战
第1章 React Native背景知识
1.1 React Native的诞生与发展
自从“大前端”的概念被提出以来,移动端和前端的边界变得越来越模糊,并且,近年来流行的移动跨平台技术也让前端和移动端开发人员的职责范围变得越来越模糊。从多年前流行的PhoneGap、inoic等混合开发技术,到现在火热的React Native、Weex和Flutter等跨平台技术,无不体现着移动端开发的前端化。
作为目前流行的跨平台技术框架之一,React Native是Facebook技术团队于2015年4月在早先的React前端框架基础上开源的一套移动跨平台开发框架,可以同时支持iOS和Android两大移动平台。
截至2019年6月,React Native在GitHub网站上已获得大量开发者的支持,如图1-1所示。
图1-1 托管在GitHub上React Native项目
说到React Native,就不得不说一下它的诞生过程。早期,Facebook曾致力于推动HTML 5移动端应用的开发,但最终无法实现媲美原生App的用户体验,并且设备性能越差,体验差距越明显。最终,Facebook放弃了HTML 5方案,转而开始使用React Native框架来开发移动端应用。
在React框架的基础上,React Native框架前台的JavaScript代码通过调用封装的Android和iOS原生平台的代码来实现界面的渲染操作,因而调用原生代码的App的性能远远优于使用HTML 5开发的App性能。
由于React Native使用React前端语法来开发移动Android和iOS跨平台应用,因此,对于熟悉React框架的前端开发者来说,不需要再系统学习Android和iOS的特定语法即可开发出媲美原生体验的移动应用。
同时,React Native使用流行的JSX语法来替代常规的JavaScript语法,提高了代码的可阅读性。JSX是一种XML和JavaScript结合的扩展语法,因此对于熟悉Web前端开发的技术人员来说,只需很少的学习就可以上手移动应用开发。
React Native框架的优势在于,只需要使用一套代码就可以覆盖多个移动平台,真正做到“Learn Once,Write Anywhere”。React Native框架底层使用的是JavaScriptCore引擎,基本上只需要更新一下JavaScript文件,即可完成整个App的更新操作,非常适合用来开发App的热更新功能。
除此之外,React Native框架提供的开发和调试环境也是非常友好的,如图1-2所示。尚在开发的App在模拟器或真机中运行时,开发者只需要像刷新浏览器一样,就可以即时查看到代码修改后的效果,并且还可以在Chrome浏览器中查看控制台输出、加断点、单步调试,等等,整个过程完全就是JavaScript开发调试的体验,非常畅快。
图1-2 React Native开发调试程序
1.2 移动跨平台技术横评
1.2.1 阿里巴巴Weex
Weex是由阿里巴巴技术团队研发的一套移动跨平台技术框架,初衷是解决移动开发过程中的频繁发版和多端研发难题。使用Weex提供的跨平台技术,开发者可以很方便地使用Web技术来构建高性能、可扩展的原生级别的性能体验,并支持在Android、iOS、YunOS和Web等多平台上部署。
作为一个前端跨平台技术框架,Weex建立了一套源码转换以及原生端与JavaScript通信的机制。Weex框架表面上是一个前端客户端框架,但实际上它串联起了从本地开发、云端部署到资源分发的整个链路。
具体来说,在开发阶段编写一个.we文件,然后使用Weex提供的weex-toolkit转换工具将.we文件转换为JS bundle,并将生成的JS bundle上传部署到云端,最后通过网络请求或预下发的方式加载至用户的移动客户端应用中。同时,集成了Weex SDK的客户端接收到JS bundle文件后,调用本地的JavaScript引擎执行环境执行相应的JS bundle,并将执行过程中产生的各种命令发送到原生端进行界面渲染,整个工作流程如图1-3所示。
图1-3 Weex工作流程示意图
如图1-3所示,Weex框架中最核心的部分就是JavaScript Runtime。当需要执行渲染操作时:在iOS环境下,使用基于JavaScriptCore内核的iOS系统提供的JSContext;在Android环境下使用基于JavaScriptCore内核的JavaScript引擎。
当JS bundle从服务器下载完成之后,Weex的Android、iOS和HTML 5会运行相应的JavaScript引擎来执行JS bundle,同时向终端的渲染层发送渲染指令,并调用客户端的渲染引擎进行视图渲染、事件绑定和处理用户交互等操作。
由于Android、iOS和HTML 5等终端最终使用的是原生的渲染引擎,也就是说使用同一套代码在不同终端上展示的样式是相同的,并且Weex最终使用原生组件来渲染视图,所以在体验上要比传统的WebView方案好很多。
尽管Weex已经提供了开发者所需要的常用组件和模块,但面对丰富多样的移动应用研发需求,这些常用基础组件还是远远不能满足开发的需要,因此Weex提供了灵活自由的扩展能力,开发者可以根据自身的情况开发自定义组件和模块,从而丰富Weex生态 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » React Native移动开发实战( 第2版 ) - (EPUB全文下载)