AppBoxFuture(低代码快速开发框架)- Hello Future!(低代码开源框架)

AppBoxFuture是一个低代码快速应用框架(Rapid Application Framework),是作者十几年从事信息化建设的经验结晶。框架具备以下一些特色:

  • 极简的分布式系统架构:

根据需要可单节点或集群部署,如下图所示:

AppBoxFuture(低代码快速开发框架)- Hello Future!(低代码开源框架)

  • 模型驱动开发(MDD):

框架将应用系统所涉及的数据结构、业务逻辑、用户界面、工作流、报表、权限等抽象为各类型的模型,通过组合模型以形成完整的应用系统,通过调整模型以适应业务的需求变更。由于模型具备抽象性开发人员可以快速根据业务需求构建相应的模型;由于模型具备规范性约束,可以有效的保障不同技能的开发人员开发出高质量的系统;由于模型具备关联性约束,可以有效的保障调整模型时不引入新的缺陷。

  • 集成强一致性数据存储:

框架基于Raft及RocksDB实现了分布式强一致性的存储引擎,由于分布式存储天生的特性,随着数据量的不断增长可以通过低成本的方式横向扩展(Scaleout)节点,并且在集群的多数派节点存活的条件下可保障系统连续不间断运行。

目前框架还在开发过程中,现就已完成的部分做一个技术预览,让我们开始体验吧:

安装与启动:

注意:目前仅支持Ubuntu18.04

安装依赖包

$> sudo apt install libjemalloc ragel libhwloc libnuma libpciaccess libcrypto libboost-all libxml2 xfslibs libgnutls28 liblz4 libsctp systemtap-sdt libyaml-cpp libc-ares

安装运行时

$> git clone https://github.com/enjoycode/appbox.deploy.git

启动集群的第一个节点

$> sudo ./appbox –init=10.211.55.10:9000 –peer=1.1.1

–init 指明初始化集群的第一个节点,请修改为本机地址;

–peer 指明本节点的编号, [数据中心编号].[机架编号].[机器编号]

开发体验

打开浏览器(建议新版Chrome),输入http://10.211.55.10:5000/dev/index.html

出现登录界面,输入用户名:Admin,密码:760wb,登录后跳转至框架集成开发环境界面。

实体模型(EntityModel对应数据结构)

暂用系统内置的员工模型作为示例(注意:Account成员上有惟一索引)。

AppBoxFuture(低代码快速开发框架)- Hello Future!(低代码开源框架)

服务模型(ServiceModel对应业务逻辑)

在左侧模型树内选择Services节点,点击主菜单“New->Service”,弹出新建对话框输入服务名称:EmpService后点击OK,然后从左侧模型树内展开并选择新建的EmpService,出现服务模型编辑界面,输入以下示例服务代码:

AppBoxFuture(低代码快速开发框架)- Hello Future!(低代码开源框架)

注意:服务代码编辑时有智能提示,在IDE底部的\”Problems\”会提示代码错误

using System;using System.Threading.Tasks;namespace sys.ServiceLogic{ public class EmpService { public async Task<Entities.Emploee[]> GetAll(string name) { var q = new TableScan<Entities.Emploee>(); if (!string.IsNullOrEmpty(name)) q.Filter(t => t.Name == name); return await q.ToListAsync(); } }}

点击主菜单“Save”保存,并点击主菜单“Publish”弹出发布对话框,点击Ok将变更的模型发布至运行时。此时框架会将虚拟的业务逻辑代码编译转换为运行时代码,并由运行时容器管理。

视图模型(ViewModel对应用户界面)

在左侧模型树内选择Views节点,点击主菜单“New->View\”,弹出新建对话框输入视衅名称:EmpList后点击OK,然后从左侧模型树内展开并选择新建的EmpList,出现视图模型编辑界面,输入以下示例代码:

注意:视图模型包括模版(Template)、脚本(Script)及样式(Style)代码,另点击\”Preview\”可展开实时预览界面。

  • 模版示例代码:

<div> <e-button-group> <e-button type=\”primary\” icon=\”fas fa-plus-circle\”> 新建</e-button> <e-button type=\”primary\” icon=\”fas fa-search\” @click=\”loadData\”> 查找</e-button> </e-button-group> <e-input v-model=\”qname\” placeholder=\”查询关键词\” icon=\”search\” style=\”width:150px\” size=\”small\”> </e-input> <e-table :data=\”emps\” border highlight-current-row> <e-table-column prop=\”Name\” label=\”名称\” width=\”220\”> </e-table-column> <e-table-column prop=\”Account\” label=\”帐号\”> </e-table-column> </e-table></div>

  • 脚本示例代码

@Componentexport default class EmpList extends Vue { qname: string //查询关键词 emps = [] //员工列表 // 调用服务加载员工列表 loadData() { sys.Services.EmpService.GetAll(this.qname).then(res => { this.emps = res }).catch(err => { this.$message.error(\’加载失败\’) }) }}

此时在预览界面点击“查找”按钮,即可看到列表结果,在“查询关键词”输入“Admin“即可过滤。

AppBoxFuture(低代码快速开发框架)- Hello Future!(低代码开源框架)

小结

本篇主要体验框架的集成开发环境如何快速开发一个列表视图,并绑定调用相应的业务服务,下篇“Say goodbye to Sql“将介绍框架集成的强一致性分布式存储。如果您有问题或Bug报告,请留言或在https://github.com/enjoycode/appbox.deploy提交Issue。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年7月5日 下午3:39
下一篇 2024年7月5日 下午3:50

相关推荐

  • 信息系统项目管理师3版 pdf

    信息系统项目管理师3版 pdf 信息系统项目管理师3版 pdf 是一套由世界知名的信息系统项目管理师协会(ISMSPO)发布的最新的信息系统项目管理师培训课程。该课程旨在帮助学员掌…

    科研百科 2025年1月24日
    1
  • 河南省2022年民营企业社会责任100强名单公布如下:(2020河南民营企业社会责任100强)

    1 牧原实业集团有限公司 农、林、牧、渔业 南阳市 2 建业控股有限公司 房地产业 郑州市 3 河南省矿山起重机有限公司 制造业 新乡市 4 卫华集团有限公司 制造业 新乡市 5 …

    科研百科 2023年5月28日
    265
  • 民营科研项目申请报告

    民营科研项目申请报告 尊敬的评审委员会: 我谨以此报告申请贵院支持民营科研项目,旨在通过科研项目的开展,推动科学技术的进步和发展,为社会发展做出贡献。 我所在的公司是一家专注于科技…

    科研百科 2025年5月16日
    1
  • 销售合同管理制度完整版

    销售合同管理制度完整版 随着社会主义市场经济的不断完善,销售合同管理制度也在不断更新和完善。销售合同管理制度是保证销售活动的顺利进行,维护公司形象和声誉,提高市场竞争力的重要手段。…

    科研百科 2025年1月12日
    0
  • 结合科研项目发言材料

    结合科研项目发言材料 近年来,随着科技的不断发展,科研项目也在不断地进行中。在这些项目中,有许多都是与人类健康和福祉相关的。其中,一项名为“基于基因编辑的免疫治疗研究”的项目备受关…

    科研百科 2025年3月28日
    3
  • erp系统项目管理模块

    erp系统项目管理模块 ERP系统项目管理模块是ERP系统中非常重要的一个模块,它负责协调整个ERP系统的开发、实施和维护工作。在这个模块中,项目经理需要与项目团队密切合作,制定项…

    科研百科 2025年6月6日
    0
  • 企业科研项目立会决议

    企业科研项目立会决议 随着科技的不断发展,企业科研项目已经成为了企业创新能力的重要体现。为了加强企业科研项目的管理,提高科研项目的质量和效率,我们于近日召开了一场关于企业科研项目立…

    科研百科 2025年4月1日
    2
  • 武汉大学学生科研项目

    武汉大学学生科研项目 近年来,随着人工智能技术的不断发展,越来越多的学生开始投入到人工智能领域的研究中。在武汉大学,有许多学生正在积极参与人工智能相关的科研项目,为人工智能技术的发…

    科研百科 2025年4月9日
    0
  • 广讯通项目管理系统

    广讯通项目管理系统 随着数字化时代的到来,企业对项目管理的要求也越来越高。传统的项目管理方式已经无法满足现代企业的需求,因此广讯通项目管理系统应运而生。本文将介绍广讯通项目管理系统…

    科研百科 2025年6月9日
    0
  • 李静科研项目怎么样

    李静科研项目怎么样 李静教授是一位杰出的科学家,他的科研项目涉及多个领域,包括神经科学,计算机科学和物理学等。他的科研项目在学术界和社会生活中都有着广泛的影响。 李静科研项目的研究…

    科研百科 2025年4月9日
    1