凭吊一下ASP.NET 5,然后跨平台,越跨越开心
ASP.NET 5 is dead
ASP.NET 5在今年早些时候被宣判死刑了。但是这并不影响我们之前在ASP.NET 5乃至ASP.NET MVC平台上的经验累积——没错,微软改名部门又立功了!他们觉得ASP.NET 5会让人觉得是4.6的升级版,所以改名成了ASP.NET Core 1.0...顺带把.NET Core 5.0重命名为了.NET Core 1.0,EF7也随着变为了EF Core 7。
其实M$这次改名不算错,的确,5是与4.6的关系不是升级而是另起炉灶全新开发,应该是并排关系而非演进关系。改为1.0更容易让人明白这是重装出发。不过依然继承了ASP这个头头,所以可以预计的未来,有更多人分不清ASP、ASP.NET、ASP.NET MVC、ASP.NET vNext、ASP.NET 5、ASP.NET Core...
跨平台,越跨越开心
根据微软的的Tempo来看,16'Q1就应该要发布ASP.NET Core 1.0了,在这之前我发过一篇博文是说第一个ASP.NET vNext程序,那么这个程序其实只在Windows和OS X上运行测试,那么一发布就立下跨平台Flag的ASP.NET Core 1.0到底能不能跨到Linux上呢?
在Ubuntu 15和CentOS 7上测试结果很让人满意,没错,跨过去了。
不过啊,CoreCLR只能在Ubuntu的Docker容器内才起作用,甚至都不支持CentOS!但是怎么说让人满意呢?那肯定是软粉的自嗨一直在努力耕耘的Mono啦!
Mono在两年以前其实就能跑ASP.NET啦,那个时候依赖xSP技术。同时Mono也没有很多人想象中那么糟糕,也是蛮早就支持WindowsForms程序的执行(可以使用MoMA来检测一下有没有不兼容的),同时WCF的支持也做了很大一部分,所以M$做不完的事情交付给这个*nix界的.NET来解决的话就类似在DNX451上跑一样一样的,所以表现的结果是非常不错。
至此,ASP.NET Core 1.0 RC1-update1就能跨:
- Windows:使用CoreCLR/.NET Framework)
- OS X:使用CoreCLR/Mono)
- Linux:使用Mono/CoreCLR(仅Ubuntu的Docker),官方暂时只公布了CentOS和Ubuntu的部署方法
做为“第一代”还算不错啦!
P.S.:对比一下OS X和Linux可以发现,同样都是*nix,富二代和穷二代受到的态度差距就是大。
SQL Server love Linux
其实关于SQL Server的槽点一直都有,很多人都认为SQL Server腊鸡,连MySQL都不如...这里为了不引起拉锯战我们就不讨论数据库孰优孰劣,这里说的是SQL Server预计会在2017年支持Linux,目前已经面向一小撮(别有用心的)测试申请人士发放了Ubuntu的SQL Server for Linux。那么按照M$的传统,目测会有Express版本,也就是说搭个博客或者是说搞点啥小程序什么的就能直接上SQL Server了,也不用事事都靠MySQL辣。
EF Core 1.0 支持更多数据库
没关系,对SQL Server就是苛刻,还是觉得腊鸡怎么办呢?那么,在本文保存时,EF Core 1.0已经支持以下数据库:
- Microsoft SQL Server
- SQLite
- Microsoft SQL Server Compact Edition
- Npgsql (PostgreSQL)
- IBM Data Servers
- InMemory (for testing)
除了IBM Data Servers
不支持.NET Core 1.0(DNX5)以外,其余的都是支持的。
MySQL叻?
这个得问Oracle,毕竟这上面也没有Oracle。不过PostgreSQL不失为一个不错的解决方案。
好了安利就到此结束吧。给个ASP.NET Core 1.0的Demo:猛基这里。
怎么打不开?
可能阿里云服务器没续费了吧,我就开一个来做个CentOS的测试而已。