.NET Core:面向将来的开源跨平台开发技术





  做为一种全新的开源和跨平台的开发平台,.NET Core 历经两年多的开发,终于在于2016年6月27日针对全部主流服务器和桌面操做系统发布了1.0 RTM 版本。.NET Core是一种通用开发平台,它包含了自动内存管理和现代化高级开发语言等重要特性,这些都能让面向多个平台开发静态类型的高质量应用程序变得轻松。.NET Core自己采用MIT协议开源,所以能够免费用于各类类型的商业和闭源项目。
全新的 .NET Core
  不一样于内置于Windows系列操做系统上的.NET框架,.NET Core是微软从2013年启动新开发的一项技术,它与此前的.NET框架是不能直接兼容的。此外,与此前.NET的框架之间更显著的不一样多是,.NET Core的彻底开源,以及跨平台的能力。
  .NET Core是开源和跨平台的
  .NET Core自己的开发工做是基于开源项目代码大本营GitHub网站的,.NET Core核心的代码都采用了MIT受权协议,也有少数项目采用了Apache协议。在前不久的“开发者论坛”活动现场,针对笔者提出的.NET Core开源理念的询问,微软开发工具事业部副总裁潘正磊女士回答说“它一开始就被设计为开源的”,这一理念很真诚地表达了.NET Core开源的决心,在过去两年多时间之内,核心开发团队也以行动证明了这一点。
  在GitHub上,与.NET Core相关的代码库有一百来个,分布在多个帐户中。来自世界各地、包括中国的大量开发者都参与了.NET Core的开发过程:开发团队会每周与社区跟进进度、讨论计划,随时在线上回答其余开发者的提问,合并其余开发者贡献的代码。笔者也有幸见证这一过程,并实际参与到其中几个项目的贡献中。
  跨平台的说法,在各类开发技术上一直以来饱受争议。从前,人们提出“编写一次,处处运行”的理念到最后变成“编写一次,处处调试”的笑话。以致于如今一提跨平台,你们都持一种怀疑的态度。事实上,对跨平台的需求是真实存在的:咱们使用Windows或macOS从事开发工做,而使用Linux系统做为服务器环境;咱们开发一套运行在服务器上的软件产品,但愿将服务器平台的选择自由留给客户……
  所以对于现代化的轻量级开发技术栈而言,跨平台也成为一个基本要素。典型的轻量级开发平台大可能是基于动态语言的,好比PHP、Python或Node.js,这类动态语言正是因为“动态语言”的特性,在一些场合显得过于灵活、难以掌控,在工程的内建质量和开发效率上取得平衡并不容易。
开源跨平台的.NET Core
  对于.NET Core来讲,跨平台这个目标并无多少历史包袱。在开发.NET Core自己的过程当中,开发团队很早就使用了持续集成的实践来保障代码针对多个平台的兼容能力。在开发进程中,团队同步维护多个示例项目,例如经典的MusicStore,及时回归核心特性、保障稳定性。从两年以前开始,就陆续有alpha、beta和RC版本发布出来,让开发者提早体验到新运行时的同时,也借助GitHub开源平台及早收到来自社区的监督和帮助。借助这些一系列的措施,.NET Core跨平台的能力有着充分的事实保障。
  .NET Core是适应趋势的生产力平台
  新打造的.NET Core 有一些关键特性,颇具吸引力。例如与特定操做系统无耦合,可编译为原平生台代码,运行效率极高;彻底模块化,内置包管理器用于管理依赖项;提供完整而标准化的命令行工具集,与Docker等新近技术能无缝集成。它虽然是全新的开发平台,却直接使用C#这样的明星静态语言的最新版本做为开发语言,充分运用.NET平台十几年积累的设计理念,汲取过去数十年各类编程语言和开发模型中的精华,才最终锻炼成适用于下一代开发工做的新平台。
  因为它是一项新兴的技术,过往的类库不能直接与它兼容。为了解决一开始应用这项技术可能存在的框架和类库缺少的问题,在开发.NET Core框架的同时,微软还投入资源以开源的方式重写了大量开发框架和经常使用类库,好比 ASP.NET MVC、EntityFramework等。不只如此,一套面向非Windows环境的生态系统工具也在同期陆续地发布了出来,包括跨平台的编辑器Visual Studio Code,高性能Web服务器Kestrel以及持续集成编译工具Cake等。从这些举动能够看出,微软在.NET Core上投入的诚意实在真挚可见。
  在国外,很多开发者已经在积极响应.NET Core的路线,发布基于.NET Core的运行时的类库,提供兼容.NET Core的SDK等。经常使用的XUnit.net、Moq、Autofac、MongoDB和RavenDB 等流行的类库和工具已经提供了对.NET Core的支持,或正在积极地开发新的版本。在国内.NET Core在社区中的交流学习也正在稳步铺开。
  不少开发人员已经着手文档翻译、源码学习,以及实践分享等工做。在博客园网站上已经出现很多关于.NET Core的文章,而在颇受关注的公众帐号“.NET跨平台”中,也已经发布了与.NET Core相关的文章。这些都预示着一个重要的新平台的来临,并且.NET Core这项新技术的成长必定是与社区合做密不可分的。
  展望
  软件工程在走过了野蛮生长,到达了基于云的互联网产业形态日趋成熟的今天,开发技术的发展已经从现实中收获了很多经验。从活跃的Web开发技术的发展足以反映出开发者对新技术的向往了。然而在大谈了B/S架构十余年以后的今天向回看,服务器端的基础开发技术在过去的五年、十年乃至更久的时间以内,并无发生大的改善。新入门的开发者,仍然走着上一代开发者的老路,一步一步摸着石头过河——在网上搜索着上一代人写下的伴随他们成长留下的严重过期、版本错乱,甚至漏洞百出的文章和贴子,彷佛津津有味,倒是疑惑不解。
  咱们都须要新技术,那种能让新一代开发者认为“属于这个时代,而且面向将来”的新技术。请相信,.NET Core就是你期待的那个新技术。它刚刚产生,却已胸怀古今,诗与远方唾手可得!





  做为一种全新的开源和跨平台的开发平台,.NET Core 历经两年多的开发,终于在于2016年6月27日针对全部主流服务器和桌面操做系统发布了1.0 RTM 版本。.NET Core是一种通用开发平台,它包含了自动内存管理和现代化高级开发语言等重要特性,这些都能让面向多个平台开发静态类型的高质量应用程序变得轻松。.NET Core自己采用MIT协议开源,所以能够免费用于各类类型的商业和闭源项目。
全新的 .NET Core
  不一样于内置于Windows系列操做系统上的.NET框架,.NET Core是微软从2013年启动新开发的一项技术,它与此前的.NET框架是不能直接兼容的。此外,与此前.NET的框架之间更显著的不一样多是,.NET Core的彻底开源,以及跨平台的能力。
  .NET Core是开源和跨平台的
  .NET Core自己的开发工做是基于开源项目代码大本营GitHub网站的,.NET Core核心的代码都采用了MIT受权协议,也有少数项目采用了Apache协议。在前不久的“开发者论坛”活动现场,针对笔者提出的.NET Core开源理念的询问,微软开发工具事业部副总裁潘正磊女士回答说“它一开始就被设计为开源的”,这一理念很真诚地表达了.NET Core开源的决心,在过去两年多时间之内,核心开发团队也以行动证明了这一点。
  在GitHub上,与.NET Core相关的代码库有一百来个,分布在多个帐户中。来自世界各地、包括中国的大量开发者都参与了.NET Core的开发过程:开发团队会每周与社区跟进进度、讨论计划,随时在线上回答其余开发者的提问,合并其余开发者贡献的代码。笔者也有幸见证这一过程,并实际参与到其中几个项目的贡献中。
  跨平台的说法,在各类开发技术上一直以来饱受争议。从前,人们提出“编写一次,处处运行”的理念到最后变成“编写一次,处处调试”的笑话。以致于如今一提跨平台,你们都持一种怀疑的态度。事实上,对跨平台的需求是真实存在的:咱们使用Windows或macOS从事开发工做,而使用Linux系统做为服务器环境;咱们开发一套运行在服务器上的软件产品,但愿将服务器平台的选择自由留给客户……
  所以对于现代化的轻量级开发技术栈而言,跨平台也成为一个基本要素。典型的轻量级开发平台大可能是基于动态语言的,好比PHP、Python或Node.js,这类动态语言正是因为“动态语言”的特性,在一些场合显得过于灵活、难以掌控,在工程的内建质量和开发效率上取得平衡并不容易。
开源跨平台的.NET Core
  对于.NET Core来讲,跨平台这个目标并无多少历史包袱。在开发.NET Core自己的过程当中,开发团队很早就使用了持续集成的实践来保障代码针对多个平台的兼容能力。在开发进程中,团队同步维护多个示例项目,例如经典的MusicStore,及时回归核心特性、保障稳定性。从两年以前开始,就陆续有alpha、beta和RC版本发布出来,让开发者提早体验到新运行时的同时,也借助GitHub开源平台及早收到来自社区的监督和帮助。借助这些一系列的措施,.NET Core跨平台的能力有着充分的事实保障。
  .NET Core是适应趋势的生产力平台
  新打造的.NET Core 有一些关键特性,颇具吸引力。例如与特定操做系统无耦合,可编译为原平生台代码,运行效率极高;彻底模块化,内置包管理器用于管理依赖项;提供完整而标准化的命令行工具集,与Docker等新近技术能无缝集成。它虽然是全新的开发平台,却直接使用C#这样的明星静态语言的最新版本做为开发语言,充分运用.NET平台十几年积累的设计理念,汲取过去数十年各类编程语言和开发模型中的精华,才最终锻炼成适用于下一代开发工做的新平台。
  因为它是一项新兴的技术,过往的类库不能直接与它兼容。为了解决一开始应用这项技术可能存在的框架和类库缺少的问题,在开发.NET Core框架的同时,微软还投入资源以开源的方式重写了大量开发框架和经常使用类库,好比 ASP.NET MVC、EntityFramework等。不只如此,一套面向非Windows环境的生态系统工具也在同期陆续地发布了出来,包括跨平台的编辑器Visual Studio Code,高性能Web服务器Kestrel以及持续集成编译工具Cake等。从这些举动能够看出,微软在.NET Core上投入的诚意实在真挚可见。
  在国外,很多开发者已经在积极响应.NET Core的路线,发布基于.NET Core的运行时的类库,提供兼容.NET Core的SDK等。经常使用的XUnit.net、Moq、Autofac、MongoDB和RavenDB 等流行的类库和工具已经提供了对.NET Core的支持,或正在积极地开发新的版本。在国内.NET Core在社区中的交流学习也正在稳步铺开。
  不少开发人员已经着手文档翻译、源码学习,以及实践分享等工做。在博客园网站上已经出现很多关于.NET Core的文章,而在颇受关注的公众帐号“.NET跨平台”中,也已经发布了与.NET Core相关的文章。这些都预示着一个重要的新平台的来临,并且.NET Core这项新技术的成长必定是与社区合做密不可分的。
  展望
  软件工程在走过了野蛮生长,到达了基于云的互联网产业形态日趋成熟的今天,开发技术的发展已经从现实中收获了很多经验。从活跃的Web开发技术的发展足以反映出开发者对新技术的向往了。然而在大谈了B/S架构十余年以后的今天向回看,服务器端的基础开发技术在过去的五年、十年乃至更久的时间以内,并无发生大的改善。新入门的开发者,仍然走着上一代开发者的老路,一步一步摸着石头过河——在网上搜索着上一代人写下的伴随他们成长留下的严重过期、版本错乱,甚至漏洞百出的文章和贴子,彷佛津津有味,倒是疑惑不解。
  咱们都须要新技术,那种能让新一代开发者认为“属于这个时代,而且面向将来”的新技术。请相信,.NET Core就是你期待的那个新技术。它刚刚产生,却已胸怀古今,诗与远方唾手可得!




本文来源;http://bbs.ichunqiu.com/thread-9875-1-1.html?from=csdn-shan


  做为一种全新的开源和跨平台的开发平台,.NET Core 历经两年多的开发,终于在于2016年6月27日针对全部主流服务器和桌面操做系统发布了1.0 RTM 版本。.NET Core是一种通用开发平台,它包含了自动内存管理和现代化高级开发语言等重要特性,这些都能让面向多个平台开发静态类型的高质量应用程序变得轻松。.NET Core自己采用MIT协议开源,所以能够免费用于各类类型的商业和闭源项目。
全新的 .NET Core
  不一样于内置于Windows系列操做系统上的.NET框架,.NET Core是微软从2013年启动新开发的一项技术,它与此前的.NET框架是不能直接兼容的。此外,与此前.NET的框架之间更显著的不一样多是,.NET Core的彻底开源,以及跨平台的能力。
  .NET Core是开源和跨平台的
  .NET Core自己的开发工做是基于开源项目代码大本营GitHub网站的,.NET Core核心的代码都采用了MIT受权协议,也有少数项目采用了Apache协议。在前不久的“开发者论坛”活动现场,针对笔者提出的.NET Core开源理念的询问,微软开发工具事业部副总裁潘正磊女士回答说“它一开始就被设计为开源的”,这一理念很真诚地表达了.NET Core开源的决心,在过去两年多时间之内,核心开发团队也以行动证明了这一点。
  在GitHub上,与.NET Core相关的代码库有一百来个,分布在多个帐户中。来自世界各地、包括中国的大量开发者都参与了.NET Core的开发过程:开发团队会每周与社区跟进进度、讨论计划,随时在线上回答其余开发者的提问,合并其余开发者贡献的代码。笔者也有幸见证这一过程,并实际参与到其中几个项目的贡献中。
  跨平台的说法,在各类开发技术上一直以来饱受争议。从前,人们提出“编写一次,处处运行”的理念到最后变成“编写一次,处处调试”的笑话。以致于如今一提跨平台,你们都持一种怀疑的态度。事实上,对跨平台的需求是真实存在的:咱们使用Windows或macOS从事开发工做,而使用Linux系统做为服务器环境;咱们开发一套运行在服务器上的软件产品,但愿将服务器平台的选择自由留给客户……
  所以对于现代化的轻量级开发技术栈而言,跨平台也成为一个基本要素。典型的轻量级开发平台大可能是基于动态语言的,好比PHP、Python或Node.js,这类动态语言正是因为“动态语言”的特性,在一些场合显得过于灵活、难以掌控,在工程的内建质量和开发效率上取得平衡并不容易。
开源跨平台的.NET Core
  对于.NET Core来讲,跨平台这个目标并无多少历史包袱。在开发.NET Core自己的过程当中,开发团队很早就使用了持续集成的实践来保障代码针对多个平台的兼容能力。在开发进程中,团队同步维护多个示例项目,例如经典的MusicStore,及时回归核心特性、保障稳定性。从两年以前开始,就陆续有alpha、beta和RC版本发布出来,让开发者提早体验到新运行时的同时,也借助GitHub开源平台及早收到来自社区的监督和帮助。借助这些一系列的措施,.NET Core跨平台的能力有着充分的事实保障。
  .NET Core是适应趋势的生产力平台
  新打造的.NET Core 有一些关键特性,颇具吸引力。例如与特定操做系统无耦合,可编译为原平生台代码,运行效率极高;彻底模块化,内置包管理器用于管理依赖项;提供完整而标准化的命令行工具集,与Docker等新近技术能无缝集成。它虽然是全新的开发平台,却直接使用C#这样的明星静态语言的最新版本做为开发语言,充分运用.NET平台十几年积累的设计理念,汲取过去数十年各类编程语言和开发模型中的精华,才最终锻炼成适用于下一代开发工做的新平台。
  因为它是一项新兴的技术,过往的类库不能直接与它兼容。为了解决一开始应用这项技术可能存在的框架和类库缺少的问题,在开发.NET Core框架的同时,微软还投入资源以开源的方式重写了大量开发框架和经常使用类库,好比 ASP.NET MVC、EntityFramework等。不只如此,一套面向非Windows环境的生态系统工具也在同期陆续地发布了出来,包括跨平台的编辑器Visual Studio Code,高性能Web服务器Kestrel以及持续集成编译工具Cake等。从这些举动能够看出,微软在.NET Core上投入的诚意实在真挚可见。
  在国外,很多开发者已经在积极响应.NET Core的路线,发布基于.NET Core的运行时的类库,提供兼容.NET Core的SDK等。经常使用的XUnit.net、Moq、Autofac、MongoDB和RavenDB 等流行的类库和工具已经提供了对.NET Core的支持,或正在积极地开发新的版本。在国内.NET Core在社区中的交流学习也正在稳步铺开。
  不少开发人员已经着手文档翻译、源码学习,以及实践分享等工做。在博客园网站上已经出现很多关于.NET Core的文章,而在颇受关注的公众帐号“.NET跨平台”中,也已经发布了与.NET Core相关的文章。这些都预示着一个重要的新平台的来临,并且.NET Core这项新技术的成长必定是与社区合做密不可分的。
  展望
  软件工程在走过了野蛮生长,到达了基于云的互联网产业形态日趋成熟的今天,开发技术的发展已经从现实中收获了很多经验。从活跃的Web开发技术的发展足以反映出开发者对新技术的向往了。然而在大谈了B/S架构十余年以后的今天向回看,服务器端的基础开发技术在过去的五年、十年乃至更久的时间以内,并无发生大的改善。新入门的开发者,仍然走着上一代开发者的老路,一步一步摸着石头过河——在网上搜索着上一代人写下的伴随他们成长留下的严重过期、版本错乱,甚至漏洞百出的文章和贴子,彷佛津津有味,倒是疑惑不解。
  咱们都须要新技术,那种能让新一代开发者认为“属于这个时代,而且面向将来”的新技术。请相信,.NET Core就是你期待的那个新技术。它刚刚产生,却已胸怀古今,诗与远方唾手可得!


  做为一种全新的开源和跨平台的开发平台,.NET Core 历经两年多的开发,终于在于2016年6月27日针对全部主流服务器和桌面操做系统发布了1.0 RTM 版本。.NET Core是一种通用开发平台,它包含了自动内存管理和现代化高级开发语言等重要特性,这些都能让面向多个平台开发静态类型的高质量应用程序变得轻松。.NET Core自己采用MIT协议开源,所以能够免费用于各类类型的商业和闭源项目。
全新的 .NET Core
  不一样于内置于Windows系列操做系统上的.NET框架,.NET Core是微软从2013年启动新开发的一项技术,它与此前的.NET框架是不能直接兼容的。此外,与此前.NET的框架之间更显著的不一样多是,.NET Core的彻底开源,以及跨平台的能力。
  .NET Core是开源和跨平台的
  .NET Core自己的开发工做是基于开源项目代码大本营GitHub网站的,.NET Core核心的代码都采用了MIT受权协议,也有少数项目采用了Apache协议。在前不久的“开发者论坛”活动现场,针对笔者提出的.NET Core开源理念的询问,微软开发工具事业部副总裁潘正磊女士回答说“它一开始就被设计为开源的”,这一理念很真诚地表达了.NET Core开源的决心,在过去两年多时间之内,核心开发团队也以行动证明了这一点。
  在GitHub上,与.NET Core相关的代码库有一百来个,分布在多个帐户中。来自世界各地、包括中国的大量开发者都参与了.NET Core的开发过程:开发团队会每周与社区跟进进度、讨论计划,随时在线上回答其余开发者的提问,合并其余开发者贡献的代码。笔者也有幸见证这一过程,并实际参与到其中几个项目的贡献中。
  跨平台的说法,在各类开发技术上一直以来饱受争议。从前,人们提出“编写一次,处处运行”的理念到最后变成“编写一次,处处调试”的笑话。以致于如今一提跨平台,你们都持一种怀疑的态度。事实上,对跨平台的需求是真实存在的:咱们使用Windows或macOS从事开发工做,而使用Linux系统做为服务器环境;咱们开发一套运行在服务器上的软件产品,但愿将服务器平台的选择自由留给客户……
  所以对于现代化的轻量级开发技术栈而言,跨平台也成为一个基本要素。典型的轻量级开发平台大可能是基于动态语言的,好比PHP、Python或Node.js,这类动态语言正是因为“动态语言”的特性,在一些场合显得过于灵活、难以掌控,在工程的内建质量和开发效率上取得平衡并不容易。
开源跨平台的.NET Core
  对于.NET Core来讲,跨平台这个目标并无多少历史包袱。在开发.NET Core自己的过程当中,开发团队很早就使用了持续集成的实践来保障代码针对多个平台的兼容能力。在开发进程中,团队同步维护多个示例项目,例如经典的MusicStore,及时回归核心特性、保障稳定性。从两年以前开始,就陆续有alpha、beta和RC版本发布出来,让开发者提早体验到新运行时的同时,也借助GitHub开源平台及早收到来自社区的监督和帮助。借助这些一系列的措施,.NET Core跨平台的能力有着充分的事实保障。
  .NET Core是适应趋势的生产力平台
  新打造的.NET Core 有一些关键特性,颇具吸引力。例如与特定操做系统无耦合,可编译为原平生台代码,运行效率极高;彻底模块化,内置包管理器用于管理依赖项;提供完整而标准化的命令行工具集,与Docker等新近技术能无缝集成。它虽然是全新的开发平台,却直接使用C#这样的明星静态语言的最新版本做为开发语言,充分运用.NET平台十几年积累的设计理念,汲取过去数十年各类编程语言和开发模型中的精华,才最终锻炼成适用于下一代开发工做的新平台。
  因为它是一项新兴的技术,过往的类库不能直接与它兼容。为了解决一开始应用这项技术可能存在的框架和类库缺少的问题,在开发.NET Core框架的同时,微软还投入资源以开源的方式重写了大量开发框架和经常使用类库,好比 ASP.NET MVC、EntityFramework等。不只如此,一套面向非Windows环境的生态系统工具也在同期陆续地发布了出来,包括跨平台的编辑器Visual Studio Code,高性能Web服务器Kestrel以及持续集成编译工具Cake等。从这些举动能够看出,微软在.NET Core上投入的诚意实在真挚可见。
  在国外,很多开发者已经在积极响应.NET Core的路线,发布基于.NET Core的运行时的类库,提供兼容.NET Core的SDK等。经常使用的XUnit.net、Moq、Autofac、MongoDB和RavenDB 等流行的类库和工具已经提供了对.NET Core的支持,或正在积极地开发新的版本。在国内.NET Core在社区中的交流学习也正在稳步铺开。
  不少开发人员已经着手文档翻译、源码学习,以及实践分享等工做。在博客园网站上已经出现很多关于.NET Core的文章,而在颇受关注的公众帐号“.NET跨平台”中,也已经发布了与.NET Core相关的文章。这些都预示着一个重要的新平台的来临,并且.NET Core这项新技术的成长必定是与社区合做密不可分的。
  展望
  软件工程在走过了野蛮生长,到达了基于云的互联网产业形态日趋成熟的今天,开发技术的发展已经从现实中收获了很多经验。从活跃的Web开发技术的发展足以反映出开发者对新技术的向往了。然而在大谈了B/S架构十余年以后的今天向回看,服务器端的基础开发技术在过去的五年、十年乃至更久的时间以内,并无发生大的改善。新入门的开发者,仍然走着上一代开发者的老路,一步一步摸着石头过河——在网上搜索着上一代人写下的伴随他们成长留下的严重过期、版本错乱,甚至漏洞百出的文章和贴子,彷佛津津有味,倒是疑惑不解。
  咱们都须要新技术,那种能让新一代开发者认为“属于这个时代,而且面向将来”的新技术。请相信,.NET Core就是你期待的那个新技术。它刚刚产生,却已胸怀古今,诗与远方唾手可得!