背景介绍RND,全称ReactNodeDesktop,起源于RN在爱奇艺PC端的实现,采用ReactJSframework+node.JSruntime+nativeUIengine架构,目标是成为最轻量的JS开发桌面应用的跨平台方案。目前爱奇艺PC客户端的大多数页面都是基于RND开发的。传统的JS开发native应用的方案都是将native组件注入到JS,JS会按照native的开发模式开发应用,更多的是开发语言从C++换到了JS,开发思想还是native的。ReactJS带来了全新的开发思路,非常好地隔离了JS层和native层,业务开发基于ReactJS开发范式而不用受native约束。为了适配自研的lyra引擎以及为业务层提供更方便的开发设施,团队对ReactJSFramework做了深度的适配,接下来将带着大家深入了解ReactJSFramework,帮助大家理解这个优雅的view层框架。ReactFiber撰写本篇文章时RN的最新版本是0.57.8,团队适配的RN版本是0.51.0,它依赖的React版本是16.0.0。本文主要针对0.51.0进行说明,0.51.0与0.57.8的差别不大,基本原理是一样的。React16除了将备受争议的BSD+Patents协议改为MIT协议之外,还带来了许多新特性,比如:1.允许在render函数中返回节点数组2.提供更好的错误处理机制:
转载请注明:http://www.0431gb208.com/sjszlff/7971.html