React Native SDR 实践

一、SDR简述

SDR(server driven rendering)服务器驱动渲染, 将组件的定制渲染移至后端, 重点是创建可以从后端完全控制和更改的组件,它可以极大地帮助公司解决以下问题:

1. 微型前端
2. 针对具有不同设计的受众
3. 有针对性的移动应用的 A/B Test
4. 不同应用程序版本的组件版本控制
5. 发布后在生产中编辑组件(动态更新,codepush、webview)
6. 修正了一些错误,但没有将新的应用程序版本发布到应用商店(动态更新,codepush、webview)

与Codepush不同的是, CodePush的功能非常广泛,远程配置主要用于原始值,并且可以解决由于热更进度导致的视图不能及时同步的问题 。同时SDR的实现过程也将会面临如下问题:

1. 安全更新我们的组件定义,同时保持向后兼容性。
2. 跨平台共享我们组件的类型定义。
3. 在运行时响应事件,例如单击按钮或用户输入。
4. 渲染在构建时没有现有实现的完全自定义组件。(尝试Lona格式)
5. 解析到生成组件过程的耗时时长

SDR所带来的优势与问题,基本可以满足我们在日常开发中较为轻量级的页面组件建设。如何搭建一个SDR容器, 使其使用方便、易扩展、拥有安全健壮性变的异常重要。
 

二、SDR构建分析

在RN中构建SDR容器前, 我们先来分析RN中的组件是如何构成的。先来看一个简单的例子


    
        sdr
    

代码中, 定义了基本的View组件, 在View组件中定义Text组件, 并分别

你可能感兴趣的:(Android,iOS,React,Native,实践进阶)