1. 程式人生 > >基於TypeScript的FineUIMvc組件式開發(簡介)

基於TypeScript的FineUIMvc組件式開發(簡介)

spa viewstate 不同 type 架構 http 做了 基於 ajax

不熟悉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組件式開發(簡介)