首页 > 代码库 > 基于TypeScript的FineUIMvc组件式开发(简介)
基于TypeScript的FineUIMvc组件式开发(简介)
不熟悉FineUI的可以访问其官方网站(http://www.fineui.com),在这里我从我的个人角度说一下FineUI,FineUI有多个版本,但主要基于2种架构,一种是基于Asp.net WebForm,别一种是基于Asp.net Mvc。
在WebForm版本下,虽然FineUI是一个前端构架,但在一些常规简单项目中几乎不用写JS代码,除了首次请求页面,后续的操作都是基于Ajax的,而JS代码都是由服务器端动态生成,并放到客户端执行,这也是FineUI的一大特点。了解WebForm的都知道,WebForm存在一个ViewState的概念,为了使每一次回发服务器端都能知道客户端控件的状态,需要将客户端控件状态发送到服务器端,这样必然会在每一次请求时携带大量的数据。Mvc版本的出现解决了回发数据量大的问题,因为回发的数据是由你自己控制的,服务器端需要什么数据,你就提交什么数据即可。解决了回发数据的问题,但数据的回发还是需要你自己来控制,虽然FineUIMvc在回发数据方面也做了一些优化,但使用FineUIMvc不用写JS代码已经不可能了。
FineUIMvc虽然是基于Asp.net Mvc构架的,但也与WebForm版本一样,都是基于页面的开发方式(这一块会在下一篇文章详细介绍),这种独特的开发方式,也是我们组件式开发的基础。
TypeScript(后面简称TS)是JS的一个超集,由微软主导开发,中文官网(https://www.tslang.cn/)。TS与JS新版本保持着兼容,再加上TS可以编译成低版本的JS代码,这样我们在使用TS带来方便的同时,也能够适应不同浏览器,可以说TS推动了JS新版本的普及,关于TS的更多知识官网有详细的介绍。
TS能给FineUI带来什么呢?在WebForm版本中,应该用处不大,因为大部分的JS代码都是由服务端生成,需要书写的JS代码相对来说比较少,而Mvc版本就不一样了,虽然服务器端也能生成大量的JS代码,但同时也需要写大量的JS代码,再加上Mvc版本的灵活性,在Mvc版本中使用TS,已经是开发FineUIMvc的另一种方式了。
本系列文章并不是介绍TS与FineUIMvc的使用,而是借用TS能够进行模块开发的特性,再结合FineUIMvc本身的特点,最终产生出一种组件式开发的方法。这里的组件虽然具备了组件的一些特性,但与我们所了解的传统组件还是不一样的,而这里的组件更多的是指业务模块,而组件式的开发,更多是组件间的相互通信及操作。
基于TypeScript的FineUIMvc组件式开发(简介)