网易云音乐 RN 低代码体系建设思考与实践
发布网友
发布时间:2024-10-19 23:54
我来回答
共1个回答
热心网友
时间:2024-10-30 05:31
在构建低代码平台时,Tango是一个用于快速构建低代码平台的低代码设计器框架,以源代码为中心,执行和渲染前端视图,为用户提供低代码可视化搭建能力。借助Tango构建的低代码工具或平台,可以实现源码进,源码出的效果,无缝与企业内部现有的研发体系进行集成。当前,Tango设计引擎部分已经开源,正在积极推进中,欢迎大家加入社区共同参与建设。
RN(React Native)作为主流的跨端方案,具有建全的社区生态,每周下载次数稳步上升,下载量相比5年前已翻倍,GitHub Star数量超过11万。RN具有较低的上手成本,可以快速迁移React技术栈,减少客户端开发同学的编译时间,提高开发效率。同时,RN提供了丰富的组件库和API,支持动态更新,满足跨端、动态更新以及复杂业务需求的场景。在国内,动态更新能降低产品的试错成本,快速上线和修复线上问题。重构已久的RN新架构已经确定将在2022年正式推出,将为RN开启一个全新的阶段,带来了更好的启动性能和渲染机制、通信性能的提升。
云音乐在RN场景下的研发现状显示,RN具有众多优势,云音乐也有大量的RN需求。在需求迭代和研发投入的过程中,暴露了一些问题。基于C端场景的特点,云音乐在开发过程中的核心流程包括:准备开发环境、静态页面开发与还原视觉(交互)稿、进入业务开发阶段。然而,在实际操作中,云音乐遇到了DSL方案的局限性,即在面对灵活性高的移动端场景时,DSL无法满足业务需求,导致需要开发介入定制DSL或升级组件,增加了研发成本。为解决这些问题,云音乐引入了Tango,通过AST驱动提供源码为中心的RN在线搭建能力,支持快速交付,并提供标准化的线上研发流程。
在移动端搭建上,云音乐面临一系列问题,包括DSL方案的局限性、传统搭建平台的问题等。为解决这些问题,云音乐采用Tango提供的源码为中心的在线搭建能力,支持RN应用快速交付,并通过标准化的线上研发流程提升效能。此外,云音乐还构建了在线真机预览调试环境,解决了模拟器运行环境和实时画面传输问题,实现与现有RN研发生态的融合。
云音乐在构建在线真机预览调试环境时,考虑了多种方案,最终选用SRS流媒体服务器、OBS进行窗口捕获及推流,并利用WebRTC进行拉流。经过实践,实现了0.5s至2s内的平均响应速度。此外,云音乐还构建了基于Socket网关的云手机调度与通信交互方案,实现了高并发下的云手机分配与一致性的保证,为在线联调提供了必要的工具。
在与低码结合方面,云音乐通过Tango提供了多维度的可视化搭建模拟,包括节点选中效果、结构树可视化编排等。同时,云音乐也提供了双模式切换、源码模式下的开发体验增强、多形式的代码生成等能力,以降低从0搭建成本。此外,Tango低码生态建设旨在构建一个以源码为中心的完整低码研发生态体系,包括运行时框架、组件、数据资产沉淀与可视化编排等,以提升开发效率。
云手机的应用场景丰富,可以平替依赖物理手机的扫码类场景,远程联调客户端协议,查看应用程序在不同设备和屏幕尺寸上的显示效果,以及用于测试回归等。在低码平台的构建中,平衡点的寻找是一个持续探讨的问题,如何在通用性和贴合业务场景之间找到最佳平衡,以实现高内聚、低耦合的T型架构,是低码从业者需要不断思考和实践的。