SREWorks云原生数智运维工程实践-SREWorks 介绍篇-SREWorks前端低代码工程设计(中)

简介: SREWorks云原生数智运维工程实践-SREWorks 介绍篇-SREWorks前端低代码工程设计

四、 菜单树与路由

 

sw-frontend以用户创建的各个应用为一级路由构建起整个前端工程的菜单体系,所有的页面都是依托“应用”为节点进行挂载的。下图为应用运维桌面,用户可以点击应用快捷方式进入运维应用。

 

image.png

 

运维桌面同时也是我们应用维度的其中一员即在sw-frontend的总体设计概念上:一切皆是应用。

 

image.png

 

1. 菜单节点树

 

我们将运维应用前端页面中的菜单以树形节点(nodeTree)的形式组织起来,根结点映射为应用ID。从根节点创建的子节点,则作为一级菜单,以此类推孙子节点为二级菜单。如下图数据运维平台(appID:dataops)应用所示,一级菜单为“主页、资产目录、数据资产、数据管理、数据服务、数据质量”。该页面是dataops应用前端的渲染态。

 

image.png

 

进入到dataops应用的开发态,在前端开发编辑器中,我们可以从左侧菜单节点树看到与上面菜单一一对应的内容,每个节点上挂载了该页面的具体配置,每个页面配置包含一个主页面和多个页面区块配置,维护管理在页面设计器中。

 

image.png

 

2. 动态路由生成

 

每个应用的页面菜单都抽象为一个页面节点树nodeTree,并在Node节点上可以对节点类型和菜单页布局以及权限等信息进行配置菜单/Link作为嵌套路由使用。我们将挂在在该节点的主页面和页面区块的相关配置:属性、数据源、编排等进行配置,我们称之为节点配置(nodeConfig)。

 

image.png

 

在一级路由页运行渲染时,根据应用idappId拉取对应nodeConfig,如下以“运营中心”为例,对应的应用配置如下:其中children所代表的为二级路由;config代表的是该级节点的属性配置;nodeTypePath字段作为描述节点树的上下级关联关系key每一级子路由进行渲染挂载都会依据nodeTypePath先去索引其下一级子路由nodeModel,用于装载子级的动态路由。

 

image.png

 

nodeTypePath也是作为子节点获取对应节点页面配置的索引key,用以拼接组装该节点的动态子路由。

 

image.png

 

五、 前端设计器

 

swadmin作为内置应用的一员,同时也是其他应用的母应用,一生万物,所有应用的都是通过前端设计器设计配置而来;在此可以对组件/页面进行业务字段、UI和数据源的配置,对当前应用的节点树进行编辑,以及对每级节点对应页面的组件进行属性配置、数据源绑定和布局编排工作。

 

swadmin提供了两种交互编辑方式

 

1. 可视化交互编辑

 

如下图就是在对staticPage这一应用下的一级子路由“pageScreen”页面进行开发编辑,下方弹窗区为对页面内大屏组件的属性进行可视化配置。

 

image.png

 

2. 源码编辑(JSON编辑)

 

除了可视化设计界面外,同时也提供了源码编辑,直接修改映射配置,以提供更大的灵活性;且可以在源码编辑和可视化编辑之间进行灵活切换,并保持同步的编辑态。

 

image.png

 

六、 页面布局

 

sw-frontend内置两种页面布局类型:自定义布局和流式布局自定义布局当前只在内置应用使用,暂未对外部应用开源使用。对于流式布局我们将页面抽象成一行行的容器,在新增行容器时可以自定义分割成若干区块并确定分割占比,每个区块对应一个组件容器位。

 

image.png

 

对于自定义布局,可以根据业务需要对添加进入的区块组件任意拖拉改变宽高以及布局位置:

 

image.png

 

七、 组件体系

 

sw-frontend采取声明式组件注册机制,每个内置组件由meta元数据文件和主文件两份文件构成,其中meta以json格式用来描述该组件的一些可配置属性及组件的属性默认值和组件名称、组件ID等信息用于组件的注册和loader加载;主文件则用来承接用户对组件的配置信息和数据源数据及一些外部嵌入的逻辑代码。


image.png


同时页面提供自定义组件入口,供用户自行设计一些简单的组件以JSXRender方式进行渲染,且用户可以对自定义组件进行添加删除和编辑管理。

 

image.png

 

相关文章
|
3天前
|
运维 Kubernetes Cloud Native
云原生技术入门及实践
【10月更文挑战第39天】在数字化浪潮的推动下,云原生技术应运而生,它不仅仅是一种技术趋势,更是企业数字化转型的关键。本文将带你走进云原生的世界,从基础概念到实际操作,一步步揭示云原生的魅力和价值。通过实例分析,我们将深入探讨如何利用云原生技术提升业务灵活性、降低成本并加速创新。无论你是云原生技术的初学者还是希望深化理解的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
3天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
20 5
|
4天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
4天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
18 3
|
4天前
|
运维 Kubernetes Cloud Native
深入理解云原生架构:从理论到实践
【10月更文挑战第38天】本文将引导读者深入探索云原生技术的核心概念,以及如何将这些概念应用于实际的软件开发和运维中。我们将从云原生的基本定义出发,逐步展开其背后的设计哲学、关键技术组件,并以一个具体的代码示例来演示云原生应用的构建过程。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和实操指南。
|
5天前
|
Cloud Native 持续交付 云计算
云原生技术入门与实践
【10月更文挑战第37天】本文旨在为初学者提供云原生技术的基础知识和实践指南。我们将从云原生的概念出发,探讨其在现代软件开发中的重要性,并介绍相关的核心技术。通过实际的代码示例,我们展示了如何在云平台上部署和管理应用,以及如何利用云原生架构提高系统的可伸缩性、弹性和可靠性。无论你是云原生领域的新手,还是希望深化理解的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
|
3天前
|
弹性计算 Kubernetes Cloud Native
云原生技术的实践与思考
云原生技术的实践与思考
17 2
|
4天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
18 3
|
4天前
|
存储 Cloud Native 持续交付
云原生入门:从理论到实践
【10月更文挑战第38天】云原生技术正在重塑软件开发和运维的面貌。本文将带你走进云原生的世界,理解其核心理念,并探索如何将这些理念应用于实际项目中。我们将一起学习容器化、微服务架构、持续集成与持续部署(CI/CD)等关键概念,并通过代码示例加深理解。无论你是云原生新手还是希望深化知识的开发者,这篇文章都将为你提供宝贵的知识和启示。
15 3
|
4天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####