XAF新手入门 - 前言
很多小伙伴在第一次接触XAF时,会被它的丰富功能及开箱即用的特点所吸引,即使在不了解XAF的情况下,也能够依葫芦画瓢创建一个功能丰富的应用,但当应用到实际项目中时,你会发现与之前的愿景差距很大,很多都是从入门到放弃,其实官方也认为XAF的学习曲线比较陡峭,再加上官方文档更像一个手册,对新手来说并不友好,增加了新手入门的难度。对于曾经的新手,我也深知XAF入门不易,所以想通过自己对XAF的理解,用自己的语言来讲解XAF的概念,使新手也能够快速的入门。
本系列文章虽然针对XAF新手,但不是针对XAF小白,你至少已经亲手创建过XAF项目并了解XAF所具备的一些功能。文章的顺序会以XAF启动加载的过程为主线,在这个过程中结合XAF源码引出XAF中的一些概念。
XAF入门难主要体现在XAF引入了很多概念,虽然XAF自成体系,但引入的概念也都是软件项目开发中常用到的。再结合最近比较火的低代码开发,你会发现XAF虽然已经发展了十几年,但概念上与它们高度相似,组件化、模块化、可配置化、MVC、MVVM等等在XAF中都有体现。现今低代码开发比较主流方式是基于表单驱动与基于模型驱动,XAF是基于模型驱动的,灵活性更高,功能更强大。
在使用XAF的过程中,很多小伙伴会感觉XAF像是一个黑盒子,一般的使用问题可以在官网中找到答案,一但有所偏离或想改造XAF的一些功能,你会发现XAF这也不行那也不行。我想说XAF是开放的,大部分提供的功能都能进行重构,并且有的还提供了多种方式。当你了解了XAF的运行机制,你会发现XAF的设计之美。
说了这么多XAF的好,也要简单说一下XAF适应场景,XAF主要应用在与数据库结合比较紧密的管理类项目,当然也不限于此。如果你的是WinForm项目并且与数据库直连,按照官方建议的优化方案,应该不会出现性能上的瓶颈,但如果是Blazor项目,由于XAFBlazor是一个单体应用,并且是有服务器状态的,这样会有并发限制,如果你真想在XAFBlazor中处理高并发,可能还需要结合其它的技术,官网提供了一个基于K8S的方案。
由于XAF涉及到知识体系比较多,再加上我本人接触XAF时间也比较短,难免有出错误的地方,也请各位小伙伴包涵,同时也希望你们留下宝贵的建议。
文章目录还在整理中,大家有什么建议可以在评论区留言。
XAF新手入门 - 前言的更多相关文章
- XAF新手入门 - 模块(Module)
模块概述 谈到模块大家应该都不会感到陌生,不管是前端还是后端都有模块的概念,XAF中的模块概念与大多数框架中的模块概念是相通的.XAF模块首先是一个.NET类库,同时它还包含一个继承自ModuleBa ...
- XAF新手入门 - 类型子系统(Types Info Subsystem)
类型子系统概述 类型子系统是XAF的核心概念,但我们平时却很少关注它,它集中存储了模块中的类型,它是生成应用程序模型(Application Model)的基础,它与XAF中其它的概念都有所关联,了解 ...
- 【原创】新手入门一篇就够:从零开发移动端IM
一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员 ...
- jmeter安装教程与新手入门(附jdk安装教程)
一.前言 最近要对网站做性能测试,提到了并发数测试,查了下,还是决定使用jmeter来完成这项测试,这里总结了jmeter完整的安装教程,附上新手使用教程. 二.jmeter安装 1.jdk安装(jm ...
- 《IM开发新手入门一篇就够:从零开发移动端IM》
登录 立即注册 TCP/IP详解 资讯 动态 社区 技术精选 首页 即时通讯网›专项技术区›IM开发新手入门一篇就够:从零开发移动端IM 帖子 打赏 分享 发表评论162 想开 ...
- git新手入门问题总结
git新手入门问题总结 前言 本人为2019年6月份刚刚毕业,大三暑假中旬来到上海,实习时间大致为十个月,在这十个月里面学到了许多关于git使用方面的知识 经常会逛开源中国水水动态,看看技术帖子学习知 ...
- 新手入门指导:Vue 2.0 的建议学习顺序
起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script> ...
- Flume NG Getting Started(Flume NG 新手入门指南)
Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...
- 原创:从零开始,微信小程序新手入门宝典《一》
为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的 ...
随机推荐
- vue项目打包后使用reverse-sourcemap反编译到源码(详解版)
首先得说一下,vue项目中productionSourceMap这个属性.该属性对应的值为true|false. 当productionSourceMap: true,时: 1.打包后能看到xxx ...
- 2020/12/9 酒etf
2020/12/9 2.315建仓酒etf,之后陆续加仓,拿到年底看看 2020/12/12 2.36卖出部分,目前成本2.106,盈利百分之9.449,白酒应该是没问题,但感觉年前应该有波调整. 2 ...
- dotnet 设计规范 · 数组定义
✓ 建议在公开的 API 使用集合而不是数组.集合可以提供更多的信息. X 不建议设置数组类型的字段为只读.虽然用户不能修改字段,但是可以修改字段里面的元素.如果需要一个只读的集合,建议定义为只读集合 ...
- for--else大坑问题
这是一次偶然发现的问题,做一下记录 a = [{'w0', 'b0', 'v0'}, {'w1', 'b1', 'v1'}, {'w2', 'b2', 'v2'}] for i in a: for j ...
- KingbaseES interval 分区表介绍
KingbaseES从V008R006C005B0041版本开始支持Oracle的Interval分区表功能. Interval分区表是一种特殊的范围分区表.当执行INSERT或者UPDATE时,若数 ...
- Job And Schedule (V8R6C3)
KingbaseES 数据库提供了 kdb_schedule 扩展,使得用户能通过类似oracle job 的方式进行job调用.kdb_schedule 提供了三个Schema :dbms_job ...
- Spark 写 Hbase
package com.grady import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.c ...
- Grafana Mimir:支持乱序的指标采集
Grafana Mimir:支持乱序的指标采集 译自:New in Grafana Mimir: Introducing out-of-order sample ingestion 很早之前在使用th ...
- haodoop新特性
Hadoop2.x新特性 scp实现两个远程主机之间的文件复制 scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt // 推 push sc ...
- js之页面列表加载常用方法总结
导语:最近由于一些事情需要处理,所以没来得及写技术总结了.今天终于可以坐下来好好的梳理一下脉络,说一下那个在日常前端开发过程中,常用到的页面列表加载的方法总结.这里介绍三种方法,分别是分页加载.按钮加 ...