時間總是過得很快,而我幾乎沒有時間來安安靜靜的寫博客和完善文檔。不過總算是框架在一直前進,而我的計划是在今年年底(公歷)前,讓此框架成熟穩定。
在很長一段時間里,我嘗試了很多我之前沒有接觸的技術或者沒用過的技術,比如knockoutJs、OData、T4等等,也許走了很多彎路,也許對框架作用並不大,但是卻對我而言卻很有價值。只有用過了才知道其可用程度和適用場景,沒有使用過就沒有發言權。
框架也在不斷的重構,我不想照抄別人的路子,我只想做一款有特色的框架,安安靜靜編碼,踏踏實實前進,怎么個特色法呢?如:
- 插件式框架
- 響應式布局以及前后端對移動設備的支持
- 便捷的業務代碼生成,比如CRUD生成,並且表單支持根據不同數據類型或特性生成相應的展示組件。
- 從框架到插件包括代碼生成模板均走開源路線,便於理解和定制
- 一次開發多次使用:即納入常用的業務插件、策略與模型(日志異常、支付策略、后台權限管理、CMS、流程引擎、微信平台、文檔在線查看器等等)
- 多套前后端主題
- WebAPI & OData 的靈活接口
- 基於CodeFirst模式的數據訪問,將數據結構更改納入每一次代碼遷移之中
- 開發人員面板
現在再來說下最近的些許事吧。
開源
代碼已經兩個月前不聲不響的遷移到了GitHub,為什么是不聲不響,因為我只想做一個安靜的美男子默默地編碼。這年頭不會用Git的程序員肯定不是好程序員,我差點也落伍了,趕緊跟上。哈哈。 試了試還不錯。
新的UI
官網UI已重新設計,並且購買了Ace bootstrap,在這里非常感謝tjcccc對本項目的貢獻。
官網飛機票:http://www.magicodes.net/
設計師:tjcccc
后台UI:
貢獻者:tjcccc
只是初具輪廓,東西還在不斷地改,目前感覺Iframe用着不是很爽,可能整個后台UI會使用新的架構。~~~~
博客
博客設計稿已經出來了,表結構設計也基本完成,不過還沒開始綁~~~
界面搶先看:
地址:http://www.magicodes.net/blogs
首席設計師:tjcccc
文檔&文檔查看器
文檔?哎,又來催更啦!
文檔已經編寫了一部分,並會不斷地進行完善。(PS:最悲劇的莫過於,當我寫好一部分,發現這部分又被重構了)
之前打算將文檔托管到OneDriver的Web Office App的,結果發現被牆了,於是~~
於是框架集成了一個文檔查看器,便於在線查看文檔。目前只實現了PDF查看器插件。
后面會考慮對接Web Office Web App Server以實現Office的在線打開與編輯。
后面會支持更多的文件類型,有興趣的朋友幫搞搞吧~~~
數據丟失
這是一個沉重的話題,這年頭沒錢確實不好干事,雖然之前承諾了不刪檔測試,但是很不幸,因為回家辦滿月期間忘記了對香港服務器的續費,超過3天虛擬機被刪除了!!!所以很抱歉的通知您,之前注冊和登錄的數據已經全部丟失。
代碼生成
代碼生成這塊一直是我比較核心關心的問題,如何減少重復邏輯的業務開發,一直是我孜孜不倦的追求。那么Magicodes.NET現在已經可以生成簡單的CRUD代碼了~~
口號先響起:還在加班寫代碼?還在不斷地重寫業務邏輯?還在一個一個的打補丁?太Low了,讓Magicodes.NET幫你來編寫代碼吧。凝聚Magicodes.NET團隊的智慧,讓Magicodes.NET幫您編寫代碼。
解決方案核心目錄:
具體介紹請參閱:
不過我還沒來得及寫完,各位客戶還是先看代碼吧。T4生成這塊我走了很多彎路,所以我決定在月底左右開始再次重構。先看看目前的成果:
配置View和控制器生成效果:
相關T4模板位置:
從控制器到UI均是代碼生成哈,生成即用~~
剛才是配置生成,我們再看看CRUD生成:
這僅僅是起步嘗試,再看一個:
我們再看看T4模板:
我們看看Users.tt的具體內容:
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ output extension=".cshtml" encoding="utf-8" #>
<#@ assembly name="$(TargetPath)" #>
<#@ import namespace="Magicodes.Mvc.Default.Areas.Admin.Models" #>
<#@ include file="$(SolutionDir)\T4\Magicodes.T4\ODataGrid\Header.tt" #>
<#
ODataGridHelper oDataGridHelper=new ODataGridHelper(typeof(UserViewModel));
oDataGridHelper.Params["_param_title"]="用戶管理";
oDataGridHelper.Params["_param_url"]="/odata/Users";
oDataGridHelper.Params["_param_addModel"]=JsonConvert.SerializeObject(new UserViewModel(){Id=Guid.NewGuid().ToString()});
#>
<#@ include file="$(SolutionDir)\T4\Magicodes.T4\ODataGrid\Footer.tt" #>
可以看出,這里僅僅是傳參而已~~
代碼生成先告一段落吧,這里我進行了很多嘗試,花費了很多精力,但是也體會到了很多。目前打算再擠擠時間重構下,下次見面時,T4代碼生成將會更加驚艷。同時我也希望有興趣的朋友Join with me!!
其他
其他細節修改與優化~~懶得一一想了。
客官可是看完了?如果可以的話,就打賞下吧。我們的服務器來自您的支持。





















