解读TinyEngine低代码引擎2.0,如何改变前端二次开发模式

摘要:在华为云开发者空间体验YOLOV3。

本文分享自华为云社区《》,作者:OpenTiny。

自从TinyEngine开源以来,众多开发者已经将TinyEngine应用于生产环境,见证了其在实际项目中的表现。然而,随着项目的持续迭代和用户群体的不断扩大,我们发现用户在深度定制方面会遇到一些阻碍,其中最核心的问题集中在:源码二次开发管理问题以及定制化能力不够强大,想要深度定制必须修改源码,而当开发者们在TinyEngine的源码中融入了大量的定制业务逻辑,这又使得直接合并TinyEngine自身的新功能变得异常困难,常常引发代码冲突和错误。

为了解决用户的这些痛点问题,TinyEngine团队投入了大量的时间,对TinyEngine的架构进行了优化和调整。这次的调整不仅提升了其核心性能,还精心打磨了一系列创新功能,旨在为开发者提供更流畅、更高效的开发体验。

TinyEngine 2.0 版本的一大亮点是将源码开发变成了包引入的模式,并且与之相结合的提供了CLI工具,彻底改变了用户二次开发的方式。告别传统克隆源码模式,一键生成低代码平台项目。这里提供了 @opentiny/tiny-engine-cli 这个强大的 CLI 工具,只需执行一条简单的命令即可快速生成一个以 TinyEngine 为基础的低代码平台项目:

生成的项目中tiny-engine作为一个核心npm包,package.json 文件依赖包含:

· 核心依赖:@opentiny/tiny-engine、主题等。

· 开发依赖:@opentiny/tiny-engine-vite-config@opentiny/tiny-engine-mock 等,为开发提供便利。

这样的开发模式,主要有以下几个特点:

· 非侵入式开发 ,可以将二次开发内容与TinyEngine核心代码进行分离,避免对核心代码造成污染;

· 增强版本兼容性,摆脱源码修改管理迭代更新难问题,可以轻松同步TinyEngine的官方代码;

· 提高开发效率,CLI工具可以提供丰富的命令和脚手架,帮助开发者快速搭建低代码平台;

· 聚焦业务编码,提供了一种标准化的开发流程,使得开发者能够迅速进入编码状态。

在深入探讨该架构之前,大家可以先理解一个熟悉的计算机概念——Windows注册表。Windows注册表是一个中心化的数据库,它存储着系统、软件程序以及硬件设备的配置和设置信息,为操作系统提供了一个统一的机制来存储和检索关键数据,确保了系统的稳定性和程序的正确运行。这样的设计给TinyEngine也提供了灵感,TinyEngine也可以借助这样的概念,给开发者提供出一个这样的架构:

丰富的配置能力:架构应覆盖全面,能够对整个系统的组件、配置项、API等内容进行细致的定制化配置,以满足不同场景的需求。

灵活的替换机制:通过注册表机制,可以轻松地对组件、API等内容进行替换,实现灵活的插拔和定制。

函数级别的覆盖能力:当配置和替换能力无法满足特定需求时,提供函数级别的覆盖能力,作为最后的解决方案,确保用户可以实现个性化的功能。基于这样的原则,我们推出了我们TinyEngine的洛书架构。它拥有全局的内容存储,记录了所有可配置化的信息。这个架构允许进行插件的可插拔操作,实现插件的配置化管理,以及对插件API的集中管理。这样的设计不仅提高了系统的灵活性,也为开发者提供了极大的便利。

“洛书架构”为二次开发项目还提供了一种无缝对接最新特性的方式。在软件开发的实际操作中,将基座系统的新特性同步到定制系统中往往是一项复杂的任务。当一个系统已经积累了大量的定制业务代码时,尝试直接集成新功能不仅会面临巨大的技术挑战,还可能对现有业务逻辑的稳定性以及系统的可维护性造成不利影响。在TinyEngine 2.0版本中,这一问题得到了有效的解决。

TinyEngine 2.0引入了一系列创新的架构设计和功能增强,使得新特性的集成变得更加顺畅和高效。

这种架构允许项目动态地注册和使用TinyEngine的新功能,无需复杂的升级过程。这意味着开发者可以立即使用TinyEngine的最新成果,这种同步机制不仅提高了开发效率,还确保了项目能够快速响应TinyEngine的更新,保持技术的先进性。

“洛书架构”是TinyEngine的一大创新,它提供了一种灵活的架构系统,允许开发者根据业务需求自由定义整个设计器的布局。在调研使用TinyEngine的开发者的过程中,发现TinyEngine被用于各种项目中,这也导致了布局非常多样化。例如:有在底部加上schema面板、有在画布旁边加上流程相关面板、创建页面时弹窗展示页面模板等丰富的布局。

为了兼容多种布局,“洛书架构”的推出可以满足开发者可以轻松地创建复杂的页面布局,而无需担心底层实现的复杂性。

这种灵活性使得TinyEngine成为一个强大的工具,能够满足从简单到复杂的各种开发需求。

除了设计器布局类型比较丰富以外,画布的类型也是非常多的。例如,在需要快速布局的页面编排场景中,可以选择文档流式画布;而在需要精确控制的流程平台中,则可以使用图元编排的画布。

TinyEngine的“洛书架构”支持根据应用场景灵活切换技术栈画布,这意味着开发者可以根据项目的具体需求选择最合适的技术方案。

这种灵活性使得TinyEngine能够适应不同的开发需求,提供高效的定制化开发支持。

TinyEngine默认导入的组件库是华为云开源的TinyVue组件库。在开源之后,收到了部分小伙伴的反馈:“公司目前是使用elementUI组件库的。能不能支持我们导入第三方组件库。”这个答案是肯定的。得益于TinyEngine的渲染机制,TinyEngine支持导入其他的组件库,如elementUI和Ant Design Vue(antdUI),极大地简化了集成流程。除此以为,TinyEngine还提供组件复用方案,提供了区块的能力。开发者能够将业务系统中可复用的组件提取出来,打包并上传到平台的资产管理库中,集中管理版本,使其更灵活、更易用。相关的区块局域网部署方案也已经放到官网文档里面了,大家可以查阅。

(官网文档:https://opentiny.design/tiny-engine)

TinyEngine的核心优势在于其对多种技术栈的深度支持。无论是前端开发中的主流框架Vue和React,还是为鸿蒙系统量身打造的ArkTS语言,TinyEngine都能够灵活定制并输出相应技术栈的代码。这种多技术栈的支持,使得TinyEngine能够适应各种开发需求。我们的开发者现在可以根据项目的具体需求,选择最合适的技术栈,增强了项目的适应性和扩展性。

TinyEngine低代码引擎的灵活代码输出能力,为开发者提供了一个强大的开发环境,可以根据系统自身的需要定制出需要的出码语言。

TinyEngine能够高效集成至各垂直领域业务系统,实现与第三方系统的无缝对接和参数流转。这种集成能力,使得TinyEngine在多种业务场景中都能使用,无论是AI、流程管理还是教育领域,都能提供量身定制的解决方案。这种集成使得TinyEngine成为一个强大的工具,能够满足各种业务需求。

TinyEngine 2.0 的发布,也让TinyEngine自我迭代更新之路迈出了重要一步,希望全新的灵活定制扩展能力能够助力开发者更好的构建自己的低代码平台。未来,TinyEngine也计划引入更多功能,增强低代码编排能力,让开发过程体验更友好。

目前TinyEngine在规划中不仅支持模型驱动开发,还允许开发者轻松实现模型事件的绑定,快速构建多样化的业务页面。通过模型驱动架构,TinyEngine提升了代码的一致性和可读性,使得开发过程更加高效,同时也降低了后期维护的难度。这种架构的优势在于,它将业务逻辑从代码中抽象出来,使得开发者可以更加专注于业务本身,而不是深陷代码的细节。开发者可以利用TinyEngine的模型驱动开发功能,快速构建业务页面,大大减少了代码编写的工作量,加速了整个开发流程。

TinyEngine深度融合AI辅助开发,通过AI的深度集成,用户可以迅速响应业务需求,从设计到代码实现一键转换,优化开发流程,缩短项目周期。目前,AI辅助开发依赖于大模型的生成能力。大模型的生成能力其实时好时坏。有时候生成的代码渲染在画布上面是非常高效的, 几句话就能生成一个交互页面,但是有时候生成的代码又是不可用的,导致画面渲染不出来。这功能我们内部也在持续孵化完善中。

对于TinyEngine低代码引擎有更多想要了解的,欢迎观看TinyEngine低代码引擎系列直播课(第1讲——第6讲):https://space.bilibili.com/15284299

点击关注,第一时间了解华为云新鲜技术~

逆向pyinstaller打包的exe软件,获取python源码(2)

2021年的时候写了第二个安全运营小工具是统一运营,这是给驻场运营管理员使用的,它需要配套第一个小工具安全事件分析(ailx10:逆向pyinstaller打包的exe软件),这个安全事件分析小工具会产生了一个db文件,它存储了客户态势感知平台上的安全事件信息,统一运营小工具对多个客户的数据进行横向AI聚类分析和纵向历史基线分析,并构建分析报表,自动生成邮件,这里横向对比我用了一个很卷的算法,那就是9:1开,强制10%的安全驻场不及格,最近因为遇到一个beacon加密程序,被同事破解了,激发了我对逆向的兴趣,于是进行小试牛刀,逆向pyinstaller打包的exe软件,获取python源代码~

提醒:故事有后续,逆向出pyinstaller打包的exe软件的所有源代码:ailx10:逆向pyinstaller打包的exe软件,获取python源码(5)

ailx10

网络安全优秀回答者

网络安全硕士

去咨询

【自动化运营周报小工具】说明:

  1. 请选择一个合适的工作目录,里面放置各个局点的文件夹,用于存储db文件
  2. db文件来自【安全事件分析小工具】输出的db文件
  3. 请使用人对局点的db文件,重命名打上1、2、3这样的顺序标记
  4. 本工具可以自动快速分析db文件,并自动发送运营周报
  5. 可以快速构建安全事件处置的象限模型和历史趋势模型

第一个软件前12个字节,第二个软件只有前8个字节相同,不知道为啥,不过我这里并未处理

非常遗憾,暂时只能看到主函数,看不到最核心的my_core函数,不知道咋弄

  1. ^pyinstxtractor https://github.com/extremecoders-re/pyinstxtractor

尴尬!因源代码丢失,《冰风谷2》重制版开发陷入停滞,游戏粉已哭晕

7月7日,外媒Kotaku报道称,制作了《博德之门》和《异域镇魂曲:折磨》重制版的加拿大开发商Beamdog近日正准备重制《冰风谷2》,但近日他们发现,原作的源代码似乎找不着了。

Beamdog的CEO Trent Oster表示,没有这份源代码,他们不可能开发出《冰风谷2》的重制版。

Oster在邮件中向Kotaku的记者透露,“我们查找了所有我们能够查找的数据,包括Atari交给Wizards of the Coast的数据,但找不到《冰风谷2》的源代码。我们还向Obsidian的朋友们寻求帮助,他们之中很多人曾参与《冰风谷2》的开发,但是他们也没有保存源代码。除非我们能找到源代码,否则这个项目的开发就没办法继续了。现在我们已经将工作重心转移到其他项目。”

《冰风谷2》发布于2002年,是基于BioWare的Inifinity Engine开发的最后一款游戏。游戏发售后一年,黑岛工作室倒闭,部分成员重组了Obsidian。也许正是因此,《冰风谷2》的源代码才会遗失。

Beamdog此前重制《博德之门》、《异域镇魂曲:折磨》和《冰风谷》时都从BioWare处直接获得了源代码。但当他们寻找《冰风谷2》源代码时却一无所获,甚至连内部测试版代码都找不到。

现在在GOG上依然可以买到《冰风谷2》,但游戏的代码经过压缩,几乎不可能从中反编译得到源代码。

【来源:Kotaku 记者:Jason Schreier 游戏葡萄编译】

【原标题:《冰风谷2》源代码丢失,重制版开发陷入停滞】

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。