一个浏览器搞定前后端开发的低代码框架正式开放源码啦!

??本来想尽量做完美一点再开放,但个人能力实在有限,无法专注于实现内置分布式数据库,所以想借助社区的力量来验证与推进。

一、框架设计目标:

简单:能有更多的时间专注于业务领域;

灵活:不能有任何限制,能够灵活扩展;

快速:能够尽可能快的开发应用系统;

二、框架整体结构:

??左图为整体结构,右图为每个应用节点的组件结构:

目前关系数据库支持Postgresql, NoSql支持Cassandra or ScyllaDB

三、技术原理浅析:

模型驱动:

??框架将应用系统所涉及的数据结构、业务逻辑、用户界面等抽象为各类型的模型,通过组合模型形成完整的应用系统。

虚拟代码:

??框架内的服务模型与视图模型的相关代码皆为虚拟代码(类似于伪代码),在保存发布模型时都会经过转换编译为运行时代码,视图模型的代码由IDE的TypeScript执行转换,服务模型的代码由后端的Roslyn转换。

服务容器:

??编译好的服务组件类似于插件统一由AppContainer子进程加载调用,并且支持单独调试与热更新。

四、工程结构说明:

appbox.clr

??服务端C#工程,主要包括:

  • appbox.Core: 基础项目,包含模型定义、模型对应的数据结构、表达式定义、自定义序列化、缓存等;
  • appbox.Server: 服务端基础项目,主要包括通讯协议与存储api;
  • appbox.Design: IDE设计支持项目,主要处理前端IDE的各类命令;
  • appbox.Store: 存储项目,支持内置数据库及第三方数据库;
  • appbox.Host: 服务端主项目,引用上述项目,主要包含WebHost与前端通讯;
  • appbox.AppContainer: 服务端运行时的服务子进程,管理各服务模型的实例,通过共享内存与appbox.Host主进程通讯。

appbox.dev

??前端Web IDE工程,用于设计与发布各类模型。npm run build后复制到服务端wwwroot/dev目录下,通过浏览器访问服务端地址http://ip:port/dev进入。

appbox.app

??前端应用工程,npm run build后复制到服务端wwwroot/app目录下,通过浏览器访问http://ip:port进入开发好的应用界面。

相关编译及详细说明文档将陆续在源码README内说明。

Enjoy coding! Enjoy your life!

??差点忘了GitHub地址:github.com/enjoycode,别忘了点个星啊!

原文地址:https://www.cnblogs.com/BaiCai/p/12427364.html

时间: 2024-08-01 09:33:21

一个浏览器搞定前后端开发的低代码框架正式开放源码啦!的相关文章

java前后端开发需掌握的框架及技术

一.Java开发 1.J2EE架构及主流框架,spring4.spring boot.spring MVC.spring Security.spring cloud.struct2.hibernate5.mybatis3.maven.shiro等.2.前端:HTML5.Javascript.css.JQuery.bootstrap等.3.关系型数据库:MySQL.Oracle等设计.使用.优化等,熟悉分库分表.NoSQl数据库:redis.MongoDB等,熟悉MongoDB分片等.4.MQ产品

封装一个类搞定90%安卓客户端与服务器端交互

本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案.本例可以处理的场景如下: 1.与服务器端交互json数据. 2.Get方式与服务器端交互数据. 3.Post方式与服务器端交互数据. 4.HttpClient方式与服务器端交互数据. 5.上传文件到服务器端. 6.从服务器端下载文件. 7.从服务器端读取文本文件. 实例截图: 本篇文章将实例代码完整贴出,希望以本文作为一个交流的平台,大家集思广益封装出更好的处理类.交流地址: http://blog.

.NET Core WebApi 前后端开发分离后的配置和部署

转自博客:https://www.cnblogs.com/Vam8023/p/10670741.html 背景:现在越来越多的企业都采用了在开发上前后端分离,前后端开发上的分离有很多种,那么今天,我来分享一下项目中得的前后端分离. B/S Saas 项目:(这个项目可以理解成个人中心,当然不止这么点功能) 前端:node.js + vue 后端:.NET Core WebApi 前端安装 node.js 跟创建vue项目这些不是这篇文章的重点,重点在于项目完成后的部署. .NET Core We

ABP开发框架前后端开发系列---(11)菜单的动态管理

在前面随笔<ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理>中介绍了基于ABP框架服务构建的Winform客户端,客户端通过Web API调用的方式进行获取数据,从而实现了对组织机构.角色.用户.权限等管理,其中没有涉及菜单部分,本篇随笔介绍在ABP框架中实现菜单的管理,菜单是作为Winform或者Web动态构建界面的一个重要元素,同时也是作为角色权限控制的部分资源. 1.菜单的列表展示和管理 一般情况下,菜单的树形列表的显示可以分为多个节点,节点可以收缩也可以展开,当然节点

ABP开发框架前后端开发系列---(12)配置模块的管理

一般来说,一个系统或多或少都会涉及到一些系统参数或者用户信息的配置,而ABP框架也提供了一套配置信息的管理模块,ABP框架的配置信息,必须提前定义好配置的各项内容,然后才能在系统中初始化或者通过接口查询来使用,本篇随笔引入了另外一种配置信息的定义,实现更加简化的处理,本篇随笔着重介绍两者之间的差异和不同的地方. 1.ABP框架的配置管理 如下面是邮件配置信息,配置信息一般先继承自SettingProvider,初始化定义后,才能被系统所使用. EmailSettingProvider:继承自Se

一个系列搞定校招——简历篇

上一篇一个系列搞定校招——综合篇总体介绍了校招从简历到面试的各个环节,没看过的可以先看上一篇,接下来将分别从每一个环节详细介绍,本篇先说[简历篇]. 前面说过,简历是求职的敲门砖,一份好的简历必然会给你带来更多的机会,我们写简历尽量要做到一点: 一眼就可以看到这个人有什么技能或能力,过去取得了哪些成就,适合负责什么业务.注意是一眼,这样既能突出自身优势,也节约hr的时间,因为校招时期hr一天要筛选几百份简历,人家没时间去细看每一份简历,所以就要求我们写简历一定要突出重点,吸引眼球.下面将详细介绍

高逼格,超简单,实现App自动更新,一个方法搞定

前言 前段时间写了一个篇APP自动更新下载的文章自动更新,一个方法搞定,使用系统的DownloadManager 方法超简洁的实现了apk的下载,不过有好多网友反映有一些机型上面这个方法无法实现下载,经过小编的实验在部分机型上确实会有这个问题,所以其中下载的部分只能通过其它方法搞定了.正好看到网上好多关于使用Retrofit实现下载并且监听进度的文章,并且我一直在看Retrofit的东西但是一直没有机会用到,所以我正好拿这个练练手,最终我使用Retrofit + OkHttp + RxBus +

Spark技术内幕:一个图搞定Spark到底有多少行代码

Spark1.0.0发布一个多月了,那么它有多少行代码(Line of Code, LOC)? 注:代码统计未包含测试,sample. Spark技术内幕:一个图搞定Spark到底有多少行代码

前后端分离后台api接口框架探索

前言 很久没写文章了,今天有时间,把自己一直以来想说的,写出来,算是一种总结吧!  这篇文章主要说前后端分离模式下(也包括app开发),自己对后台框架和与前端交互的一些理解和看法.     前后端分离,一般传递json数据,对于出参,现在通用的做法是,包装一个响应类,里面包含code,msg,data三个属性,code代表状态码,msg是状态码对应的消息,data是返回的数据. 如  {"code":"10008","message":"