码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 低代码如何实现插件化架构?


    大家好,本文介绍了实现插件化的低代码架构的思路,以及在Meta3D(开源Web3D低代码平台)中具体实现的方案

    需求

    有同学想做个编辑器,希望可以随意替换引擎、编辑器UI,能以插件的形式进行扩展,问该如何实现?

    下面,我们首先给出抽象的解决方案:

    抽象的解决方案

    image

    如上图所示,编辑器由多个积木组成,其中有引擎积木、UI积木等。各个积木之间互相独立,只依赖于彼此的抽象的积木协议。

    只要让编辑器组合不同的积木,就能实现替换积木,并且不影响其它的积木。

    想要扩展功能,则增加对应的积木,并让编辑器组合它即可。

    这里只是给了个大概的思路,具体要使用“积木模式”,详见:开源书《3D编程模式》->积木模式

    接着,我们来看下在Meta3D中是如何实现插件化的:

    具体的解决方案

    image

    如上图所示,在Meta3D中,编辑器由多个包组成,其中有引擎包、UI包等。包又由多个扩展组成,而扩展又可以通过组合不同的贡献来扩展自身。

    包、扩展、贡献都属于积木,只是层级不同。因为同层的积木之间互相独立,只依赖于彼此的抽象的积木协议,所以可以替换

    因此,如果要替换引擎,则只需要增加对应的引擎包,让编辑器组合它即可。具体来说,步骤如下:

    • 开发出对应的贡献和扩展,发布到Meta3D平台
    • 在Meta3D平台上,将它们组合为引擎包
    • 在Meta3D平台上,让编辑器改为组合这个新的引擎包,以替代原有的引擎包
    • 在Meta3D平台上,运行编辑器,即可看到已经替换了引擎

    更多

    更多的编辑器和引擎的编程模式,请详见:开源书《3D编程模式》

    Meta3D(开源Web3D低代码平台)目前发布了v1.0正式版,快速搭建Web3D编辑器,共建开放互助的Web3D生态。详见:
    Meta3D 1.0正式版发布-----开源的Web3D低代码平台

  • 相关阅读:
    亿万级分库分表后如何进行跨表分页查询
    商业智能系统的主要功能包括数据仓库、数据ETL、数据统计输出、分析功能
    rv1126-rv1109-环境搭建-全部编译的方法
    房屋租赁管理系统的设计与实现
    redis持久化机制
    计网学习笔记三 MAC与LAN
    请问我的html内部打开不了视频是什么原因
    Python实现从Labelme数据集中挑选出含有指定类别的数据集
    Linux使用一个脚本启用、停用springboot项目(本文带脚本)
    大一作业HTML网页作业:中华传统文化题材网页设计5页(纯html+css实现)
  • 原文地址:https://www.cnblogs.com/chaogex/p/17938919
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号