前言
众所周知,传統的原生Android、iOS开发技术虽然比较成熟,但是多端重复开发的成本和开发效率的低下也是很多企业不愿意看到的,而不断崛起的跨平台技术让企业看到了曙光,“一次编写,处处运行”也不再是难以企及的目标。
目前,市面上流行的跨平台技术主要分为三种:一种是基于Web浏览器的Hybrid技术方案,采用此种方案时只需要使用 HTML 及JavaScript进行开发,然后使用浏览器加载即可实现应用跨平台;第二种则是通过在不同平台上运行某种语言的虛拟机来实现应用跨平台,采用此种方案的跨平台技术主要有React Native 和 Weex;第三种则是使用自带渲染引擎实现的跨平台渲染方案,代表技术有QT Mobile和Flutter。
不过,不管是哪种技术,相比传统的移动原生开发技术来说,都是质的提升,不仅降低了开发的难度,还提升了开发的效率和手段。事实上,作为目前流行的跨平台技术方案之一,React Native 是Facebook技术团队于 2015 年4 月开源的一套跨平台开发框架,开发的应用可以同时运行在Android、iOS两大移动平台。并且,经过近8年多的发展,React Native 不仅可以支持开发移动跨平台应用,还支持开发Web应用,是一款名副其实的前端跨平台开发框架。
为了最大限度的提升应用体验,React Native 抛弃了传统的浏览器加载的思路,转而采用调用原生API的思路来实现界面的渲染,最终获得了媲美原生移动应用的使用体验。同时,React Native 使用JavaScript作为开发语言,也降低了开发的成本,让更多的前端Web开发者融入跨平台开发的行列。
当然,React Native 也并不是完美无缺,比如社区反应比较明显的缺点有首次加载慢、调试不友好、需要定期升级等,不过这些问题相对于跨平台的先进性来说都是可以克服的。并且,随着最近两年React Native 开启了大规模的重构和优化,React Native 在性能和兼容性方面都得到了大幅度的提升。并且,在最新的架构中,React Native使用的Hermes替换了传统的JavaScriptCore渲染引擎,使得页面的渲染速度方面更是得到了质的改善。
“路漫漫其修远兮,吾将上下而求索”,通过 React Native 跨平台技术的学习和本书的写作,我深刻地意识到学无止境的含义。2015 年4月,React Native发布了第一个社区版本,不过那时候使用的人数并不多,直到2016年才慢慢有公司接入,也就是在那个时候我们第一次接触到了React Native,并被它“一次编写,处处运行”的跨平台编程思想所吸引,于是在2017年我出版了人生的第一本书,也就是本书的第1版,并在2020年进行了升级,出版了本书的第2版。时过境迁,2021年到2022年, React Native对架构进行了大量的升级,本着学无止境的态度,我对本书再次进行了升级。
本着与时俱进的思想,如今本书在理论和实战方面都得到了加强,知识体系和架构都进行了升级。相信学习本书,定会对您学习 React Native 带来帮助和启发。
本书主要内容
本书分为入门,进阶和实战三个部分,细分为8章,围绕React Native知识点和实战案例进行讲解。
React Native入门与基础(第1章~第3章)
这部分内容主要包含 React Native 背景知识、环境搭建、基础语法、React基础知识以及 React Native常用的组件和 API 等。同时,这部分内容还配备了大量的实例讲解。学习此部分内容,读者将会对 React Native技术有一个基本的认识。
React Native进阶(第4章、第7章、第8章)
这部分内容主要由网络通信、服务器开发基础知识、第三方插件、热更新和应用打包发布等内容组成,是React Native 开发中的进阶知识。这部分内容更加偏向于应用工程化的开发与实战,是开发 React Native项目开发所需的必备技能。
React Native实战(第5章~第6章)
这部分内容主要由影院实战项目构成,是React Native 基础知识的综合运用。学习此部分内容之后,将具备独立开发React Native商业应用的能力。
本书特色
1.侧重基础,循序渐进
本书涵盖React Native 跨平台开发各方面的知识点,并且对知识点和技术要点由浅入深地进行讲解,非常适合初学者。
大量项目实例,内容翔实
本书在讲解 React Native的各个知识点时,运用了大量的实例并配有运行效果图。读者在自行练习时可以先编写代码,而后查看实际运行效果。
实例贴近实际开发场景
本书采用的实例大多贴近实际开发场景,通俗易懂的文字描述也有助于读者理解。
文末抽奖
当然,本帖最重要的环节还是抽奖。为了回馈新老读者,我在这里给大家带来了6本《RN移动开发实战》,关注微信公众号就可以抽奖,中奖的用户请填写信息,周一公布中奖结果后,统计快递发送个大家。