2017到了,咱们学点啥啊,要想知道学点啥,先弄清.NET Framework 与 .NET Core  这两个概念

.当今 net 生态系统如下:

从上面图中我们可以看到.net  主要分为三个部分 .net FrameWork,.net Core ,Xamarin

  • XAMARIN  主要用来构建APP的(包括IOS,Android Windows)主要用的是C#语言
  • The .NET Framework  这个是我们现在经常用的,用这个可以创建windows应用程序还有web applications ,现在你可以用它创建Winform ,UWP ,wpf 等等相关的应用程序 ,web 方面就是Asp.net MVC
  • .NET Core   是微软推出的最新的开源的,跨平台的框架,用它可以创建的应用可以运行在MAC,Linux上 。 .net core  支持UWP  和 ASP.NET Core,UWP即Windows 10 中的Universal Windows Platform简称。即Windows通用应用平台,在Win 10 Mobile/Surface(Windows平板电脑)/PC/Xbox/HoloLens等平台上运行,uwp不同于传统pc上的exe应用也跟只适用于手机端的app有本质区别。它并不是为某一个终端而设计,而是可以在所有windows10设备上运行。

我们该咋选呢,用哪个框架呢

这俩框架该咋选呢, .NET Core和.net framwork 各有优缺点,两者都不能取代对方 。现在说说他俩的优点和缺点

.net framwork 主要适用于:

  • 没时间学习新技术
  • 需要一个很稳定的运行环境,最近学习发布稳定版本
  • 已经在使用现有的应用程序并扩展其功能。
  • 现在已经有专门的.net团队来实现客户所需要的功能
  • 不想经常更新程序

     .net core 更适用于以下几个方面:

  • 程序需要多系统运行,包括MAC,windows和Linux等系统
  • 不怕学习新东西,不怕出现的各种疑难杂症,毕竟.net core 刚出生没多久,肯定很多东西考虑的不是特别全面
  • 热爱开源,最好是刚接触.net 的

说了这么多画个图表给大家看看吧

Docker容器支持 都支持,.net Core就是以Docker为基础的
 
在命令行上重复回复
.net Core更快
跨平台 仅.net Core支持
Windows client applications using Windows Forms and WPF .net  framwork 
已经有一个预配置的环境和系统 .net  framwork 
系统稳定性 .net  framwork 更胜一筹,毕竟.net  core才刚发布
是否有一个成熟的团队 .net  core 需要一个学习曲线
未来咋样 .net core 就是未来

注意,并不是所有的.net Framework 都可以直接运行在.net  core 上

参考文献

1.http://www.hanselman.com/blog/WhatNETDevelopersOughtToKnowToStartIn2017.aspx

2.http://www.c-sharpcorner.com/article/difference-between-net-framework-and-net-core/

喜欢我的文章记得留言,粉我哦,我再这儿等你来粉哦

浅谈 .NET Framework 与 .NET Core 的区别与联系的更多相关文章

  1. [转]浅谈 .NET Framework 与 .NET Core 的区别与联系

    本文转自:http://www.cnblogs.com/huchaoheng/p/6295688.html 2017到了,咱们学点啥啊,要想知道学点啥,先弄清.NET Framework 与 .NET ...

  2. 浅谈Nginx负载均衡和F5的区别

    前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处 ...

  3. 浅谈Nginx负载均衡与F5的区别

    前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问 ...

  4. 【转】浅谈Nginx负载均衡与F5的区别

    前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问 ...

  5. 转 浅谈C++中指针和引用的区别

    浅谈C++中指针和引用的区别 浅谈C++中指针和引用的区别   指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法. 1.指针和引用的定义和性 ...

  6. 浅谈 HTTP中Get与Post的区别

    浅谈 HTTP中Get与Post的区别 存在的误区 有人说 HTTP 协议下的 Get 请求参数长度是有大小限制的,最大不能超过XX,而 Post 是无限制的,看到这里,我想他们定是看多了一些以讹传讹 ...

  7. 浅谈Java中set.map.List的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  8. 浅谈Entity Framework中的数据加载方式

    如果你还没有接触过或者根本不了解什么是Entity Framework,那么请看这里http://www.entityframeworktutorial.net/EntityFramework-Arc ...

  9. 【深入.NET平台】浅谈.NET Framework基元类型

    什么是基元类型? 初学者可能很少听说过这个名词,但是平时用得最多的肯定是基元类型.先看下面两行代码: System.Int32 a = ; ;  上面两行代码都表示声明一个int类型的变量,但在平时写 ...

随机推荐

  1. Dos命令 WIN10 WIFI命令

    设置WIFI命令: netsh wlan set hostednetwork ssid=T key=123456798 mode=allow netsh wlan start hostednetwor ...

  2. SQL数据库查询语言(1)

    目录 MySQL数据库 MySQL安装与配置 DDL数据定义语言 创建数据库 查看.删除数据库 修改.备份.恢复数据库 创建表 修改表 MySQL常用数据类型 DML数据操纵语言 Insert语句 m ...

  3. kali linux之手动漏洞挖掘一

    默认安装漏洞 phpmyadmin/setup默认安装 ubuntu/debian默认安装php5-cgi phpmyadmin/setup默认安装 使用?-d+allow_url_include%3 ...

  4. 【转】C# datagridview大小跟随窗口动态改变

    源地址:https://blog.csdn.net/fengxing11/article/details/52527715

  5. Win通过端口号结束进程

    准备: 01在cmd中查看命令使用 格式:命令名称 /? 02netstat 03findstr C:\Users\Good>findstr /? 在文件中寻找字符串. ...... strin ...

  6. 《Java并发编程实战》第十章 避免活跃性危急 读书笔记

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/love_world_/article/details/27635333 一.死锁 所谓死锁: 是指两 ...

  7. python实现对象'+'操作符

    python对象实现__add__,__radd__方法即可实现'+'操作符 demo: # coding=utf-8 class Person(object): def __init__(self, ...

  8. 原生JS实现返回顶部和滚动锚点

    ;(function (window,doc,undefined) { function rollingAnchor(){ this.timer =''; } rollingAnchor.protot ...

  9. css类选择器中 空格 逗号 啥都不填的区别及其他笔记

    .a.b 代表 一个元素上 同时 有 a 类 和 b 类 .a .b (中间有空格) 代表 .b 是 .a 的子元素选择. .a,.b 代表 class='a' 和 class='b' 都会被选择上.

  10. POJ - 3696 同余

    给定\(L\),求最小的\(x\)满足$ L|8\frac{10^x-1}{9} $ /*H E A D*/ inline ll gcd(ll a,ll b){return b?gcd(b,a%b): ...