本系列文章的目标是讲述ExtJs开发MIS的一些设计思路和技巧,本文假定你已经了解ExtJs,熟悉ExtJs中的主要类且有较强的Js编程能力,缺乏的仅仅是应用的技巧。关于ExtJs的基本内容,请参阅ExtJs官方网站、Google和园里的相关文章。文中的一些技巧和方法不限于 ExtJs,在很多基于富客户端框架——例如SilverLight、Flex等的系统设计中,都可以使用。
本系列主要包括以下内容:
(1)基于ExtJs的MIS构架设计。
该篇介绍了系统总体架构,包含客户端和服务器端的交互方式和客户端构架。
(2)Js的动态加载。
介绍了如何动态的加载Js,避免不必要的网路开销和浏览器渲染,提升系统性能,改善用户体验。
(3)使用数据库保存客户端状态。
我们都知道,Vs.Net这样的工具每次打开时都会记住我们上次关闭时的状态:各个窗口的位置、大小;工具栏状态;自定义菜单项等。这无疑是一个使用的功能。ExtJs也包含提供了状态保存机制,其主要的控件:GirdPanel,FormPanel等,都提供了状态保存的功能。我们需要的仅仅是为其提供适当的Provider。
(4)轮询。
众所周知,Http是无状态的,每次请求结束后,客户端都会和服务器端断开连接。请求总是从客户端发起的,除非客户端发起请求,否则服务器端没有办法主动地向客户端传递任何数据。然而对于MIS,常常需要从服务器端推送数据给客户端,例如当用户提交了一个新的申请后,需要管理员去审批。解决办法就是客户端 “锲而不舍”的询问服务器,是否有新的事情要做,也就是所谓轮询技术。
(5)使用Action抽象客户端操作。
在客户端系统中,或者说在任何系统中,同样的操作是可以通过不同的方式激发的,比如说我们使用的浏览器,刷新当前页面可以点击刷新按钮,可以在右键菜单中选择刷新,还可以按F5快捷键。但不管操作方式如何变化,操作本身是不变的,所以我们可以把这些操作抽象出来。
(6)客户端MVC。
MVC结构大家都很熟悉,利用ExtJs提供的数据和显示控件,很容易实现基于Js的客户端MVC。
(7)ExtJs性能浅析
在使用ExtJs过程中,性能一直是一个比较头疼的问题,从用户的角度来看,就一个字:慢。从技术的角度来说,这个“慢”字可以分为两种,加载“慢”和渲染“慢”。
(8)示例代码下载
演示项目,包括文中提到的所有代码及部分后台程序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?