開源Asp.Net Core小型社區系統


源碼地址:Github

前言

盼星星盼月亮,Asp.Net Core終於發布啦!!

Asp.Net發布時我還在上初中,沒有趕上。但是Asp.Net Core我從beta版本便一直關注。最初項目名叫Asp.Net VNext,然后改名叫Asp.Net 5。最煎熬的是RC1發布后,官方繼續發布了改名RC2延期的通告。這期間我已經做了一些demo項目,但是由於beta到RC2之間涉及到大量API的改動,包括dnx->dotnet cli,包括各種命名空間和工具名稱的改動等等,因此這部分demo都已刪掉。5月份,Github Asp.Net Core更新路線圖,確定RC2於5月中旬發布,同時確定RC2會作為最終發布的版本基礎。那段時間我瘋狂的關注着Github,即使在國外度蜜月,也會在晚上蹭Wifi關注着動態(這里提一下,有空看一下各個項目的issue,可以積累很多知識。同時很多小道消息都可以在members的回復中看出來)。好在接下來沒有再次跳票,開源、跨平台、高性能的Asp.Net Core終於來啦!

小型社區系統

首先看下項目截圖:

項目布局參考了CNodeJS 前端采用了Bootstrap,數據庫訪問用了EntityFramework Core,同時自己用Middleware實現了一個簡單的身份認證功能

目前完成的功能:注冊,登錄,發帖,回帖,收藏,置頂,精華等功能。

項目地址:GitHub

如何運行:

1. 首先安裝基礎環境

2. clone或者下載項目,先設置連接字符串,然后還原數據庫,最后運行即可

詳細流程請點擊上方連接查看項目主頁

開發感受

1. 對於初學者,Asp.Net Core的入門門檻還是挺高的。

沒有了WebForm,無法再拖拖控件就完成一個Hello World Page。

MVC和WebApi合二為一,那么至少對這2種技術應該有些基礎了解。

處理HTTP請求從傳統的Handler、Page變成了Middleware,如果不熟悉nodejs(express)的話又是個新鮮事物。

搭建一個web項目,首先就用到依賴注入容器,又有多少初學者接觸過依賴注入呢?

2. 對於.Net開發者,還有很多東西要學。

新的TagHelper和ViewComponent,看來是要培養起面向組建編程的習慣了。

前端可以方便的集成bower, gulp等,那么NodeJS, npm, bower, gulp等等都是需要學的。

project.json里面的東西涉及到編譯、發布、部署等等一系列配置,再結合dotnet命令,可以很簡單的實現自動化,想起來是不是很激動?

新的EntityFramework Core Migration,直接基於命令生成和更新數據庫,看起來是不是很酷?

整個AspNet Core Framework都開源了,基礎源碼難道不想去看看?

最最最重要的是跨平台!現在我們再也沒法逃避Linux啦,大家趕緊裝虛擬機,從最基本的ls開始linux之旅吧!

3. 對於Asp.Net Core,還有很長的路要走

性能:從官方的性能測試看出,目前Asp.Net Core可以超過NodeJS,但是比JAVA的Netty還是差了太多(這個測試看起來還是RC1的版本)。首先我覺得大家應該培養起異步編程的好習慣,這篇文章講述了異步編程是如何提升並發效率的;其次只能寄希望於微軟繼續提升性能,或者有第三方高性能web框架出現。

框架:Asp.Net Core從出生起就聲明了只是.Net Framework的子集,但是部分基礎框架的缺失還是帶來了很大的不便。最最不方便的就是System.Drawing。

第三方庫:作為一個嬰兒,Asp.Net Core才剛出生,又經歷跳票,因此這方面資源少得可憐。幾大熱門項目:Dapper,AutoMapper,Nlog等倒是很早就開始支持了。

開發人員流失:誰敢說身邊沒有從.Net轉Java,轉Android,轉IOS的??

后記

昨天加班到3點,今天早上繼續上班,頭都是暈的。個人技術不好,見解不夠,以上都是自己的想法,希望大家多多交流,一起為.Net社區出力!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM