摘要: 目前很多低代码平台都是基于Web用拖拽方式生成界面,确实可以极大的提高开发效率,但也存在一些问题: 大部分平台灵活性不够,特殊需求需要较大的自定义开发; 解析json配置的执行效率不是太高; 大部分平台缺乏后端支持或复杂的业务逻辑支持; 与后端的数据结构及业务服务不存在强关联,修改后端容易造成前端配 阅读全文
posted @ 2024-02-21 21:29 白菜园 阅读(500) 评论(1) 推荐(7) 编辑
摘要: 最近框架中的可视化界面设计需要使用到表达式引擎(解析代码字符串并动态执行),之前旧框架的实现是将表达式字符串解析为语法树后解释执行该表达式,本文介绍如何使用Roslyn解析表达式字符串,并直接转换为Linq的表达式后编译执行。 一、语法(Syntax)与语义(Semantic) C#的代码通过Ros 阅读全文
posted @ 2024-01-08 11:34 白菜园 阅读(350) 评论(0) 推荐(2) 编辑
摘要: 作者之前介绍了开发中的PixUI,为了适配Web应用采用了将C#通过Roslyn语法语义分析后转换为Javascript的方案,但是这样带来的问题是工程量较大,在短时间内无法达到生产级质量。因此在简单评估了Blazor技术后决定暂使用Blazor WebAssembly来实现PixUI的Web端。本文记录一些Blazor链接原生(C/C++)库过程中所踩过的坑,同时为了庆祝儿子考完10年内最难中考提前宣布PixUI正式开放源码 阅读全文
posted @ 2023-06-19 10:15 白菜园 阅读(2732) 评论(28) 推荐(27) 编辑
摘要: 一、源起 作者是名超大龄程序员,曾涉及了包括Web端、桌面端、移动端等各类前端技术,深受这些前端技术的苦,主要但不限于: 每种技术编写代码的语言及技术完全不同,同样呈现形式的组件各端无法通用; 大部分前端开发语言跟后端开发语言不同,不能共用一些数据结构; 前端UI的本质是在显示器上呈现由像素点组成的 阅读全文
posted @ 2023-03-14 13:21 白菜园 阅读(2083) 评论(11) 推荐(18) 编辑
摘要: 前一阵子拜访了一些小伙伴,大家都表示苦前端太久了,需要花费不少时间在前端开发上。本着在不损失灵活性的前提下尽可能提高开发效率的原则,作者尝试在框架内集成了拖拽方式生成Vue用户界面的功能作为补充,以方便快速生成增删改查界面,也可以用于大屏展示及简单的网页制作。 一、技术原理 1.1 布局 目前仅实现 阅读全文
posted @ 2021-03-29 15:12 白菜园 阅读(2587) 评论(8) 推荐(3) 编辑
摘要: 异步响应式编程可以极大的提高系统的并发呑吐量,但由于Java没有类似于其他语言的Async/Await机制,所以只能通过CompletableFuture.thenXXX()来串联各个异步任务,这给习惯了写同步增删改查的小伙伴们带来了些小麻烦。如果说C#基于状态机在编译时实现了await转换,那么J 阅读全文
posted @ 2021-01-18 14:08 白菜园 阅读(1640) 评论(4) 推荐(1) 编辑
摘要: Java的ORM框架有很多,但由于Java语言的限制大部分都不够优雅也不够简单,所以作者只能另辟蹊径造轮子了。照旧先看示例代码了解个大概,然后再解释实现原理。 一、ORM示例 1. Insert public CompletableFuture<Void> insert() { var obj = 阅读全文
posted @ 2021-01-13 16:30 白菜园 阅读(3597) 评论(35) 推荐(10) 编辑
摘要: "微服务"加个引号是因为这不是传统定义的微服务架构,顶多算是"小服务"架构,因为服务实例由集群节点统一加载,非独立部署。下面以图说明一下服务调用流程。 一、服务调用流程 节点主进程:类似于Istio的SideCar,负责对外网络及集群内节点间的通信,另外提供内置分布式的存储引擎(目前元数据均存储于此 阅读全文
posted @ 2020-12-24 19:58 白菜园 阅读(892) 评论(0) 推荐(2) 编辑
摘要: 企业应用需要打印各类单证及报表,为了方便开发此类应用作者在框架内集成了报表引擎,并且实现了基于Canvas的Web在线报表设计及基于PDFJS的报表查看与打印。 一、原理浅析 报表模型:由Xml描述各类报表元素组成(表格、图形、条码等),通过报表设计器生成; 数据源:通过推(Push)或拉(Pull 阅读全文
posted @ 2020-04-24 11:37 白菜园 阅读(1559) 评论(0) 推荐(6) 编辑
摘要: 框架是用抽象模型驱动的方式来生成应用系统的,这样可以将这些模型序列化为相应的模型包文件,通过反序列化导入至其他部署环境内,从而实现开发环境与生产环境的同步,包括对应的数据库结构的同步。下面通过示例来演示如何操作: 一、准备测试应用 通过New Application创建一个新应用,名称如:erp; 阅读全文
posted @ 2020-03-12 13:16 白菜园 阅读(636) 评论(3) 推荐(5) 编辑