Magicodes.IE 3.0重磅設計暢談

Magicodes.IE 3.0重磅設計暢談

Magicodes.IE 3.0重磅設計暢談

Magicodes.IE 3.0重磅設計暢談
Magicodes.IE 3.0重磅設計暢談

總體設計圖

Magicodes.IE 3.0重磅設計暢談

Magicodes.IE導入導出通用庫,支持Dto導入導出、模板導出、花式導出以及動態導出,支持Excel、Csv、Word、Pdf和Html。

IE在去年年底重構一次之後,經過這麼長時間的迭代,又迎來了瓶頸。根據本人和HueiFeng的交流,我們決定逐步暫緩小版本的研發,開始IE 3.0的研發和重構之旅。這一次3.0的設計,我們主要考慮了以下方面:

主要解決痛點

在之前的版本迭代中,我們遺留了一些痛點一直並沒得到很好的解決,同時我們也有一些想法,也沒來及處理:

1.更友好的本地化支持,以及統一的多語言配置。在之前的版本中,我們雖然可以通過篩選器實現,但是並不太友好。

2.進一步簡化和加強動態導出。動態選擇列導出在很多業務中比較常見,我們希望通過更簡單的API給用戶提供更強大的動態導出功能,而無需用戶動態建立DTO並且轉換數據類型。

3.合併列頭。

Magicodes.IE 3.0重磅設計暢談

4.單元格合併。目前主要考慮同一個值自動合併的功能。

Magicodes.IE 3.0重磅設計暢談

5.重構並重新定義樣式。支持用戶能夠非常便捷的定義表樣式、列樣式(包含列寬、固定列)、行樣式(包含行高)以及單元格樣式(包含高寬、背景)。

6.脫離特性類重構底層導入導出的最基礎的API。以便支持除了特性類導入導出之外,還支持動態導出以及JSON、XML配置導出。

7.提供更多更簡單的鉤子函數,覆蓋導入導出的各個處理環節,方便用戶按需處理。

8.添加列模型封裝,支持日期列、圖片列、進度列、狀態列、開關列、標籤列、評星列、公式列等。

Magicodes.IE 3.0重磅設計暢談

為什麼要做IE?

其實在IE之前,我們有很多選擇,OpenXML、NPOI、EPPlus,為什麼我們選擇做IE呢?

在日常的業務開發之中,導入導出是非常常見的業務,甚至滲漏到了每個列表功能之中,但是就是這麼一個常見業務,我們往往需要花費一定精力,而且在很多時候都是重複開發。經驗豐富的開發者都清楚,寫一個導入導出並不難,但是寫好一個導入導出業務並不簡單,我們就拿一個普通的導入業務來說,往往我們要考慮到以下內容:

1. 針對當前導入業務編寫導入模板生成(寫死不易於維護)

2. 導入時需要先檢查相關列和格式是否有效

3. 數據校驗。對於Excel這種放開了限制的輸入方式,用戶的輸入內容會讓你懷疑人生。稍有疏漏,程序都會產生各種意外。並且,如果驗證不通過,我們還需要在UI界面上提示用戶哪裡有錯誤,甚至要在用戶的導入文件中標註出來。

4. 數據類型轉換和適配。

看了以上流程,那麼你還會覺得做一個導入簡單麼?正因為如此,Magicodes.IE應運而生,我們希望通過IE來幫助大家簡化導入、導出業務,並且代碼更簡潔、更友好以及更易於維護和擴展。

需求是無止境的,IE經過長久的迭代,目前最新版本為2.5版本。功能已經夠多了,但是還是不夠滿意。經過我們的再三思考,我們決定暫緩小版本迭代,直接開始3.0的設計和研發。我們希望在3.0進一步重構,打好基礎,一方面徹底解決一些之前未實現的功能,另一方面,讓部分API更友好,同時極大的提升IE的擴展性。

貢獻邀請

對於3.0版本目前我們還處於設計和思考階段,當然3.0也是IE里程碑中的一項重大的更新,是值得記錄的,我們很期待3.0版本的發佈,但是由於該版本我們要做一個歷史性的大更新,我們開發團隊人數也不足,目前缺少貢獻者的參與,我們發自內心的希望大家能夠加入我們,一起來建設IE,沒有時間不要緊,只要每週抽出來幾個小時。能力達不到不要緊,一方面我們可以先實現功能,再優化代碼;另一方便,我們開發團隊以及群裡的小夥伴均可提供思路以及一對一的支持。

最後

3.0版本我們目前還在設計和思考階段,歡迎大家多多提供寶貴意見和建議,如果合理我們會一併納入。

不過,由於我們精力實在有限,也非常發自內心的希望大家能夠加入我們,一起來建設IE。沒有時間不要緊,只要每週抽出幾個小時。能力達不到不要緊,一方面我們可以先實現功能,再優化代碼;另一方面,我和HueiFeng以及群裡的小夥伴均可提供思路以及一對一的支持。

針對IE,我們是認真的,也希望認真的你能夠加入我們!

最後,發起一個求助:

https://github.com/dotnetcore/Magicodes.IE/issues/171

【翻譯求助】教程翻譯求助。Tutorial translation help #171,希望有人能夠抽空幫忙整理教程並且主導翻譯工作。

轉載是一種動力 分享是一種美德

Magicodes.IE 3.0重磅設計暢談

如果喜歡作者的文章,請關注【麥扣聊技術】訂閱號以便第一時間獲得最新內容。本文版權歸作者和湖南心萊信息科技有限公司共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

文檔官網:docs.xin-lai.com

編程交流群<85318032>

產品交流群<897857351>

Magicodes.IE 3.0重磅設計暢談


分享到:


相關文章: