很多小伙伴在第一次接触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,入门 From: https://www.cnblogs.com/haoxj/p/16827840.html