1、作者對winform的情懷
從2013來到上海后的第一份工作便開始了做winform相關(guān)項目,那時候winform的控件托來托去的很快就可以寫一個界面,非常的快,非常容易入手,這份工作一做就是6年,奈何winform用的人越來越少,同時微軟也開發(fā)出其他UI技術(shù)比如wpf、Win32 API,或者套一個html,winform確實也有很多不足的地方,界面很難構(gòu)建現(xiàn)代化風格,同時自定義成本太高,gdi+繪制方法也有限,基于此作者想定義一套基于2D繪圖引擎開發(fā)一套基礎的UI框架彌補winform,給予愛好winform以及前端桌面編程的學友借鑒
2、開發(fā)的思路
本人的思路最開始源至于繪制一個矩形,所有元素都是由一個矩形組成,在矩形上繪制背景色、邊框、圓角、陰影、文字、圖片等,我們只要定義一套如何繪制以及排列這些矩形以及文字、圖片等,就能完全的構(gòu)建一套屬于自己的UI框架
3、實踐與實現(xiàn)
作者已經(jīng)按照自己思路構(gòu)建了一套完全基于2D繪圖引擎UI框架,2D繪圖引擎現(xiàn)實定義的繪制方法,核心庫實現(xiàn)定義界面元素、如何排列這些元素、以及如何用代碼更方法編寫,這個核心庫使用.net core完成,同時也可以定義在wpf、Win32 API、Xamarin.Forms以及其他技術(shù)框架上,這些技術(shù)框架只需要對接對應繪圖函數(shù)然后就可以使用同一套方法構(gòu)建方式去寫去是現(xiàn)實,當前作者使用winform作為窗口應用、SkiaShrap做為2d引擎來實現(xiàn)這套UI,后續(xù)可以移植到其他技術(shù)框架上。
學友們可以使用2中方式使用此框架來構(gòu)建winform,第一個是全部在一個winform控件里面構(gòu)建繪制元素、第二個是按照自己需求構(gòu)建一個一個的winform控件。
4、不足之處
這項工作完全由作者興趣愛好所致,也是作者個人業(yè)余時間開發(fā),由于時間以及精力有限,沒法寫的很全很強大。不好的地方需要學友們指出與理解。