首页 > 其他分享 >新一代软件开发平台

新一代软件开发平台

时间:2024-10-16 10:50:54浏览次数:3  
标签:平台 软件开发 代码 元素 新一代 Jit 开发 可视化 开发者

今天来给大家介绍一下极态云平台,极态云,也叫Jit、极态。是一个基于全新的软件设计理论开发平台。他继承了经典软件开发理念理论、技术和方法,结合了最新的可视化零代码开发的价值,开创性地创造了面向元素开发方法论、元素动态管理和分层机制、应用继承、通用系统模型可扩展的可视化工具框架,彻底解决了产业界一直以来非常棘手的许多难题和冲突,大大提升业务系统软件开发和维护的效率,也必将给产业带来更加健康的发展,可以说,是近20年来,软件开发技术最重大的一次进步。

一、极态云(Jit)产生的背景

在行业SaaS标品和行业erp/crm解决方案系统的开发运营中,都会面临客户的各种各样的个性化定制化开发的需求、私有化部署的需求、私有化部署后的持续更新等未知的问题。这些问题已经是老问题,我们不过多赘述,大家都懂。

为了解决这些问题,这几年出现了低代码平台这样的产品。但是,这样的产品目前并没有广泛的应用,特别是在专业开发者团队里,几乎不会去使用。

其实,低代码开发平台的目标是非常好的,在常见功能开发中,也的确是非常高效的。但是,因为其内生的致命问题,导致其不可能被广泛应用,也不可能会有未来。

从低代码平台的设计原理来谈谈低代码平台的内生致命问题。

一切提高软件开发效率的方法都要回到“复用”上来,低代码平台的复用方法是,把一些常见的技术实现集成到他们的引擎里,比如常见的数据库表的创建,针对数据库表的增删改查的读写访问,数据的UI界面显示,把这些各种类型的技术实现集成进引擎中,然后提供一个可视化工具来生成配置数据,用配置数据来组合表达特定的业务功能要用到的内置技术以及怎么用这些内置技术,然后引擎根据配置数据来运行内置的技术实现。

这里的核心问题:低代码平台只支持内置了的常见技术,这些常见的比如数据库增删改查类技术,的确是被用的最多最高频的,几乎占到了正常的一个信息系统的80%以上的工程量。但是,作为技术门类,这些常见技术只占真实现实开发中可能要用到的技术门类的1%,还有99%的技术门类是低代码平台不具备的,这些技术门类,单看其中一种技术,是被用的肯定性是很小的,低代码平台也不可能去集成,但是,开发者开发任意一个系统,都有99%的概率碰到这99%的就是技术门类中的一个或多个。

这也是为什么,基于低代码平台来开发业务系统,绝大部分时候都会碰到有一些功能开发不出来情况。而且,那剩下的99%的技术门类,不可能在某一个平台里全部内置,而且,即便是已经内置的内容,其本身也会面临不适应的问题,当需要微调时,也是没办法改的。这也是为什么低代码平台开发出来的系统“千人一面”的原因。

另一方面,低代码平台这类产品,都是把它要集成内置的技术做成一个固态/固化的运行引擎来“运行/调用"业务应用,这必然导致业务应用受限于这个固态引擎,这个引擎的表达能力以及其集成的技术就是业务应用的边界,必然受限。可以把引擎类比为舞台,把内置集成的技术类比为舞台上的道具,开发者只能在这个有限边界的舞台内、用舞台上有限的道具来表演,必然是受限的。

现在低代码平台产品,是走不通的。但是,这类产品,有一点是非常可取的,就是做各种常见的功能开发效率大幅提升,这类功能用到的技术只占所有技术门类的1%,但是这类功能的工程量确实一般系统的80%的工程量,大幅提升了这80%的工程量,也是非常可取的价值。

所以,可视化开发技术本身是不应该轻易被否定和放弃的的。关键是,怎么创新地把价值保留和发扬,把问题完美解决。

二、Jit是怎么思考和解决的

首页,解决能力边界的问题

基本原则:作为一个开发平台,最基本的,应该让业务应用能完全基于原生编程语言的解释器(无边界的舞台),还给开发者一个无边界的舞台。

在这个舞台上,开发者仍然能使用传统编程语言原生开发和使用传统的庞大开发生态,再在此基础上,把平台能提供的技术做成“被集成、被调用”的编程框架、工具库,开发者的业务应用可以选择用你或不用你、可以改写你、可以增强你。

总之,你是可有可无的,业务应用才不被你限制。这就解决了被限制的问题。

而且,这样做还有个非常大的好处:开发者是基于编程语言来调用、集成、组合你提供的“道具”,而不是发明自有规则来组合调用你的“道具”,开发者更熟练,其调用和组合能力和灵活性也更强,这是远超过低代码平台提供的组合能力的。

这样的原则,本质上就回到经典的主流的  {【解释器 + 编程语言 + 编程框架 + 生态库】+ 业务应用 } 的主流技术方向上,以编程框架的形式来内置集成的常见技术,同时,支持任意替换、改写、扩展,能原生编码,并且,开发者生成的代码要与内置集成的代码在同一个体系结构,而不是两个完全不同的两个世界,但是又互不干扰。

第二,解决可视化开发的问题

开发者在基于原生编程语言 和 内置的编程框架的基础上开发应用代码,为了支持可视化开发,应用代码必须简单。本质上,要通过编程框架的技术实现封装,把技术复杂度封装到编程框架中,以大幅度大规模地降低业务应用层代码的技术复杂度,尽可能地只剩下业务复杂度。

即,基于 {【解释器 + 编程语言 + 编程框架 + 生态库】+ 业务应用 } 模式,通过编程框架的创新设计,把技术实现类的代码大规模地封装到编程框架层,使得业务应用代码尽可能地简单,大幅度地降低开发者的复杂度和工程量;同时,通过可视化技术,支持零代码可视化搭建方式生成 极简的业务应用的代码。

当然,零代码可视化开发不必谋求能生成任何业务应用代码,只需做到能生成圈定范畴(1%)内的常见代码就能大大提高效率(80%),同时,“圈定范畴”,其本身是具备技术实现范式的范畴,随着技术实现范式总结越来越多,该范畴必然是不断的扩展的,从而支持让零代码可视化支持的范畴不断扩大。

实现上述两个方面,就完美解决了 可视化开发能力 和 完全原生开发能力的完美结合,极态云就是基于这个理念原理设计的,现在来介绍一些Jit。

三、Jit 产品介绍

Jit包括三大部分:Jit应用运行平台、Jit编程框架、Jit可视化开发工具

1、Jit 应用运行平台(JitNode)

Jit 应用运行平台是一个由python解释器、web服务器、元素容器等基础部件构成的,用来运行Jit应用的集成化的平台底座。其本身不包含任何与业务应用相关的技术实现,而是一个应用加载、运行的底座,并且安装启用都非常简单。

Jit体系中,应用是一个专门的概念,每个应用都有其源码目录、编译打包结果目录。应用由元素构成,元素是构成Jit应用的基本单元,可以类比传统编程的module、class、function,是一种能用于编写任何模块的模块化规范,只是颗粒度更大,特性更丰富。

一般一个元素一个文件夹,也可以一个文件夹里包含多个元素。每个元素都有其声明文件和实现文件,声明文件是json文件,实现文件可以是任意文本文件,可以是任意编程语言代码文件,具体是什么内容,由该元素的type元素决定。

应用运行平台中内置了元素容器,元素容器用于加载应用中的元素,元素支持即时增删改和动态加载,能通过可视化工具可视化显示一个应用的所有元素。

元素分为加载类元素(meta元素)、技术类元素(type类元素)和业务类元素(实例类元素),可以理解为父类和子类,更应该理解为 类型 和 实例,总之就是 type元素中包含了技术实现(比如,表单表格这些组件的技术实现,包括数据的UI显示、数据的读写等逻辑代码),实例类元素用来表达业务(比如,某个业务页面的表格,其要显示哪个表、哪些字段等)。

基于该设计原则,把大规模复杂技术范式封装到type元素,极大简化业务实例元素的表达/开发。在app的划分上,Jit把已经开发好的各类type元素都设计在Jit 编程框架(baseApp)中,开发者的业务应用app,只需基于这些type元素开发自己的实例元素即可。

2、Jit 编程框架(BaseApp)

Jit编程框架(BaseApp)内置了大量的meta元素和type元素(比如 微信登录、微信支付、支付宝支付、钉钉组织、企业微信组织等等),开发者的业务应用只需要继承 Jit BaseApp,就拥有了所有这些type元素。

而且,Jit的应用继承机制,跟面向对象的类继承的原理一样,开发者可以在自己的业务应用中改写覆盖BaseApp中的某一个type元素,也就是说,Jit提供给你的type元素,你可以用,也可以不用。当然,也可以创建你自己的新的type元素。

3、Jit可视化开发工具(IDEApp)

type元素,是大规模高复杂度的技术实现范式的封装,为了使得相应的实例元素尽可能的不包含技术复杂度,一般会把技术复杂度尽可能地封装到type元素,这样必然导致type元素的“功能强大但是庞大”、“接口复杂”。比如,一个UI表格,为了让业务层元素的简单,有关数据读写、数据显示、规则判断、操作事件、翻页、排序、编辑等技术代码都封装到表格type元素中,功能非常强大,这势必导致在实例层元素中定义如何调用和驱动该type元素的也变得复杂。

这个时候,Jit的零代码可视化开发技术派上用场,针对每个type元素,Jit都支持其有一个可视化editor编辑器,用于生成基于该type元素的实例元素代码,这样就完美地解决了该type元素对应的实例元素构造复杂度的问题,也实现了高频常见功能的零代码开发。

当然,这些实例元素代码,当然也完全是可以手写手改的,可以调试的。editor编辑器、可视化开发技术,也是可有可无的不会限制开发者原生开发的。

Jit IDEApp,Jit专门提供了一个叫做IDEApp的应用,用于可视化开发,开发者的业务应用app只需要继承Jit ideApp,就拥有了IDEApp的所有能力。

IDEApp中,为Jit编程框架中所有type元素都提供对应的editor编辑器,基于这些可视化编辑器,开发者可以可视化开发自己的业务应用app的各种实例元素,从而完成app的开发。

当然,开发者也可以在自己的app中扩展和改写这些编辑器。 从Jit可视化开发技术的原理可以看出,type元素可以无限扩展,对应的editor编辑器可以无限扩展的,可以把任何具备范式的技术领域的业务逻辑开发都零代码可视化。

4、其他技术产品

再回过来谈一下Jit的其他技术产品,为了实现零技术门槛的应用部署运维,Jit提供 AdminApp运维管理工具和云端服务。

AdminApp是用来管理一个安装了Jit应用运行平台的服务器和服务器集群的,开发者不需要登录服务器机器,就可以远程地通过AdminApp在一个机器上创建app、安装app,创建集群以及在集群中安装部署app、设置app在该集群中的参数、设置负载均衡分流等运维操作。然后,Jit应用运行平台会自动下载部署app、以及后续自动加载app的升级更新。

云端服务,为了辅助开发者管理自己的所有app和服务器(节点),开发者可以在桌面端开发app,开发测试完成后发布到Jit云端服务,然后通过AdminApp,就可以在自己的任一服务器端安装部署已经上传到云端的app。

这里要说一下,JitNode应用运行平台,Jit官方开发的AdminApp、IDEApp、BaseApp,以及开发者自己的开发MyApp,都是私有化的,而且都是支持自动部署更新的。

四、总结

Jit的基本内容就介绍到这里,Jit里还有大量简单而精妙的设计值得你去体验和挖掘,Jit的原理和理念,是用一种更好的机制,把常见的通用的技术范式封装成可拿来即用的“轮子”。作为一个开发者,不要在这些把自己的精力和天赋浪费在捣鼓这些现成的轮子上,而是用好这些轮子,去解决业务问题、满足客户需求、创造市场价值,或者,发明Jit上还不存在的轮子,帮助到其他的开发者。

总结梳理一下,

Jit还有哪些特点呢?

  1. 简单快速、可视化、易管理、低成本:降低技术复杂度、极简开发、可视化开发、可视化管控、门槛低、效率高,极大降低成本

  2. 更稳定、质量高:技术实现重用,业务系统代码量大幅降低,bug大幅减少,质量更高、系统更稳定。

  3. 统一的标准架构:免架构、统一标准、易于换人,开发者拥有了统一的“架构语言”,可以轻松地“进出”任何一个软件项目。

  4. 易于部署、运维、更新升级:跨平台、自动部署/升级,集群物理关系与应用逻辑关系隔离、脱离物理环境,云端管理

Jit能用于开发哪些系统?

  1. 适用于开发各类需个性化定制的业务系统、数据分析系统,包括ERP/CRM/OA/EHR/BI/项目管理等,极大降低企业构建数字化系统实现数字化转型的难度、成本和风险。

  2. 也适用于开发具备通用性但易于面向特定客户定制调整的行业解决方案模板系统、SaaS标准应用,彻底解决通用标品无法有效满足客户个性化需求的矛盾,大大降低软件公司的个性化需求的交付成本。

  3. 还适用于开发开发者自身所在特定领域的编程框架、零代码开发工具/功能,有效降低该领域的技术开发成本

Jit能给开发者的工作带来哪些改变呢?

  1. 即时开发:不需要概要设计、详细设计,甚至不需要详细的需求文档。可以与客户边讨论需求边开发,即时呈现运行效果、所见即所得,及时确认需求。大幅减少业务需求传递/反馈/确认的工作量和时长。基于客户需求,实时调整修改系统,极速交付

  2. 可视化开发和维护:系统结构清晰规范、开发门槛低,出错率低。需求分析人员、产品经理、项目管理者、新手,都能参与到大部分功能的设计和开发中。大大降低系统做错返工、出错修改的概率。

  3. 面向元素极简开发:统一标准系统架构模型、无需做架构设计,技术实现类层极限封装和隔离、无需编写技术实现类代码,只关心业务层的极简开发,代码更简单、代码量更少、更规范。开发难度和工作量大幅降低,开发工作变得极其敏捷,

  4. 应用继承机制,远程部署/升级更新:应用级复用,大幅降低行业解决方案的不同客户系统的工程量。远程自动部署和自动升级更新,使得有几十、几百、几千个私有化部署的客户系统的维护运维的变得轻而易举

Jit能给软件开发公司(行业解决方案公司和SaaS)带来哪些变革呢?

  1. 量化管理、交付保障:软件系统模型的标准化、开发产物的可视化、可量化,软件项目的管理人员,能轻易地理解、评估、决策、量化项目的所有开发任务。使得项目管理量化、透明、可控。同时,标准化、可视化,也大幅提升了开发工作的可移交性,项目的新成员可以快速接收开发任务,保持项目进度连续性。

  2. 开发者独立核算:基于Jit技术,使得业务系统的开发/运维的复杂度和工程量都大幅降低,使得单个开发者能完全搞定一个系统。基于此,公司可简单明确地核算单个员工创造的产值,进而为员工设计简单、有力、无争议的激励制度,大大提升开发者的获得感、积极性,并大幅降低公司管理成本。

  3. 定制业务的标准化&实现业务规模化扩张:定制开发服务的工作内容、工程量,可以通过构成业务系统的元素的类型和数量来标准化定义;以及与之对应的开发者能力模型的标准化,员工产出考核的标准化,客户合同报价的标准化。使得定制开发业务标准化,从而得到可复制的业务模型、利润模型,使得业务规模化复制扩张成为现实。

  4. 通用能力沉淀和复用:基于Jit应用级继承技术,使得通用业务功能和个性化业务功能完全隔离、独立升级。彻底解决通用化和个性化的矛盾,使得软件公司可以最大化构建共性能力、落地为可直接复用的软件资产,成为公司的核心生产力来源,进而降低个性化定制化服务的成本。

所有软件公司和开发者,都应该尽快把Jit用起来。Jit是非常容易上手入门,在有一些基本概念后,基于可视化工具就能很快开发出各类复杂系统。通过查阅可视化开发工具生成的代码,能够非常直观快速地理解Jit编程框架、编码风格。其实,即便全部是基于全代码开发,基于Jit框架,也会使得整个系统更规范、清晰。

进一步了解Jit, 点击查看 Jit 介绍和开发指南 。

标签:平台,软件开发,代码,元素,新一代,Jit,开发,可视化,开发者
From: https://blog.csdn.net/wandayun01/article/details/142956309

相关文章

  • 火山引擎数智平台 VeDI:A/B 实验互斥域流量分配体系上线
    近日,火山引擎A/B测试平台(DataTester)完成了一次重要升级,推出互斥域流量分配体系,这一功能意味着企业在产品优化策略上有新的突破空间。此次升级的核心亮点是允许企业根据实际需求,灵活地将用户流量分割成多个独立的区块,每个区块都能独立开展一项或多项实验,打破了传统A/B测试中......
  • java计算机毕业设计汉服文化交流平台(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着中华文化的复兴,汉服作为传统文化的重要载体,正逐渐从历史的尘埃中走出,焕发出新的生机。近年来,汉服爱好者群体迅速扩大,他们不仅在日常生活中穿着汉......
  • 积木链无代码开发平台是怎么解决系统间的数据孤岛问题的?
    什么是数据孤岛?数据孤岛是指在企业或组织中,相互独立的信息系统或数据存储之间无法进行有效的数据共享和交互,从而形成一个个孤立的数据“岛屿”。企业数据孤岛的产生怎么形成的?首先,从技术层面来说,可能原因是不同系统采用不同的数据格式和存储方式,导致数据难以整合。例如,一......
  • 【开题报告】基于Springboot+vue猫咪交流平台的设计与实现(程序+源码+论文) 计算机毕业
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着宠物文化的兴起,猫咪作为家庭宠物的地位日益显著,越来越多的家庭选择猫咪作为生活的伴侣。然而,猫咪与人类之间存在天然的沟通障碍,猫咪无法用人类的......
  • 【开题报告】基于Springboot+vue校园物品私人订制平台(程序+源码+论文) 计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和高校校园生活的日益丰富,学生们对于个性化、便捷化的校园服务需求日益增长。传统的校园购物模式往往局限于固定的商店和商品,......
  • Nginx UI:全新的 Nginx 在线管理平台
    前言Nginx在程序部署中扮演着至关重要的角色,其高性能、高安全性、易于配置和管理的特点,使得它成为现代Web应用部署中不可或缺的一部分。今天大姚给大家分享一款实用的NginxWebUI工具,希望能够帮助到有需要的同学。工具介绍NginxUI一个功能丰富、易于使用的NginxWebUI工具,它......
  • Nginx UI:全新的 Nginx 在线管理平台
    前言Nginx在程序部署中扮演着至关重要的角色,其高性能、高安全性、易于配置和管理的特点,使得它成为现代Web应用部署中不可或缺的一部分。今天大姚给大家分享一款实用的NginxWebUI工具,希望能够帮助到有需要的同学。工具介绍NginxUI一个功能丰富、易于使用的NginxWebUI工......
  • python+flask计算机毕业设计在线教育平台(程序+开题+论文)
    文件加密系统的设计与实现tp835本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,教育领域正经历着前所未有的变革。在线教育平台作为互联网+教育的重要产物,已经逐......
  • AMIS低代码平台,前端开发常见问题(一)
    1.快速进去系统快捷键Ctrl+q2.CRUD(增删改查)添加序号。"tpl":"${index+1}"代码如下:{ "type":"text", "label":"序号", "placeholder":"-", "body":[ ], "id":"u:......
  • 标题:民峰金融:全球投资者的智能化财富管理平台
    在全球经济数字化的浪潮中,金融服务行业也迎来了全新的变革。作为一家致力于全球化投资服务的创新平台,民峰金融通过智能化技术、优质的客户服务和全球化的资产配置,帮助投资者在复杂的市场环境中轻松实现财富增值。本文将探讨民峰金融如何通过科技赋能,助力投资者把握全球机遇。......