您的位置:首页 > 编程语言 > ASP

开源Asp.Net Core小型社区系统

2016-06-29 07:13 489 查看

前言

盼星星盼月亮,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社区出力!!
相关文章:
ASP.NET Core 1.0 入门——了解一个空项目

ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

.NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0简介

云服务器下ASP.NET Core 1.0环境搭建(包含mono与coreclr)

使用VS Code开发ASP.NET Core 应用程序

dotnet run是如何启动asp.net core站点的

ASP.NET Core提供模块化Middleware组件

“dotnet restore"和"dotnet run"都做了些什么?

探秘 dotnet run 如何运行 .NET Core 应用程序

.NET Portability Analyzer 已开源

ASP.NET Core的配置(1):读取配置信息

ASP.NET Core的配置(2):配置模型详解

.NET Core 1.0 RC2 历险之旅

使用VS Code开发 调试.NET Core 应用程序

让我们Core在一起:ASP.NET Core & .NET Core

.NET Core VS Code 环境配置

官方博客明确了 .NET Core RC2/RTM 时间表

.NET Core全新的配置管理[共9篇]

利用记事本创建一个ASP.NET Core RC2 MVC应用

微软.NET 正式劈腿成功,横跨所有平台

.NET Core 1.0 CentOS7 尝试

解读发布:.NET Core RC2 and .NET Core SDK Preview 1

[.NET Core].NET Core R2安装及示例教程

ASP.NET Core 开发-中间件(Middleware)

结合Jexus + Kestrel 部署 asp.net core 生产环境

通过Jexus 部署 dotnetcore版本MusicStore 示例程序

ASP.NET Core 中文文档 第一章 入门

用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序

用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API

用 Visual Studio 发布一个 Azure 云 Web 应用程序

ASP.NET Core MVC 与 Visual Studio 入门

第二章指南(4.2)添加 Controller

DotNet Core 介绍

asp.net core 中间件详解及项目实战

教你实践ASP.NET Core Authorization(免看文档教程)

asp.net core 使用 Redis 和 Protobuf 进行 Session 缓存

asp.net core 中间件详解及项目实战

第二章 指南(4.3)添加 View

dotnet core开发体验之开始MVC

dotnet core 开发体验之Routing

聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer

简析.NET Core 以及与 .NET Framework的关系

.NET Core 使用Dapper 操作MySQL

使用 CommandLineApplication 类创建专业的控制台程序

简析 .NET Core 构成体系

.NET Core也可以使用MongoDB了

.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布

原文地址:http://www.cnblogs.com/scheshan/p/5622904.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: