.NET Core 1.0发布:微软开源跨平台大布局序幕
在6月27日的紅帽DevNation峰會上,微軟正式發布了.NET Core 1.0、ASP.NET 1.0和Entity Framework Core 1.0,這些產品將全部支持Windows、OS X和Linux三種操作系統。其中.NET Core最受矚目,這是一款跨平臺、開源且模塊化的.NET平臺,可以用來搭建web應用、微服務、創立應用庫和控制臺。
本次發布的包括.NET Core Runtime、框架庫及相關工具,和ASP.NET Core庫。
.NET Core開源的由來
早在2004年,Xamarin公司的前身,Novell就開始研發如何實現.NET的跨平臺化研發。Mono Project開源項目應運而生,陸續實現了在大部分Linux版本、Android甚至一些游戲開發平臺上運行.NET應用。.NET Framework作為專利產品,Mono Project在一定程度上觸犯了微軟;這種做法因此也曾一度引起開源社區的廣泛爭議。
2014年,微軟改變了.NET技術的發展策略,在connect();大會上發布開源.NET Core,稱.NET Core的愿景是成為所有平臺的單一代碼庫。2016年3月,微軟正式收購Xamarin公司,其所有的Mono Project采用 MIT協議開源。
2016年6月27日,微軟正式發布.NET Core 1.0。經過微軟與紅帽一年的合作,Linux企業版已支持.NET Core 1.0的全部特性;微軟終于用實際行動證明了其打破Windows封閉局面的決心。
.NET Core的技術細節
.NET Core由以下組成:
.NET runtime:提供運行環境,匯編碼加載,垃圾回收等基礎服務。
框架庫:完全整合傳統的.NET標準庫。提供基礎數據類型和不同類型應用的基礎組件等。
.NET Core SDK:相關系列的SDK工具和語言編譯器
.NET Core應用的命令行工具集。
而.NET Core的開發工具及平臺,除了傳統開發工具集的Visual Studio,開發人員還可使用紅帽公司OpenShift的PaaS平臺和微軟的跨平臺Visual Studio Code編輯器,后者可以運行于Linux、OS X和Windows系統。需要說明的一點是.NET Core 1.0目前僅支持紅帽的企業版Linux。
.NET Core被視為.NET Framework的新一代版本。與現有的.NET Framework在使用上的區別是:.NET Framework采用大包式安裝的方式,而.NET Core則是采用套件化(Packages)的管理方式,寫應用程序只需要調用所需組件即可。
給開發人員和企業帶來的好處
對開發者而言,這意味著更多的開發自由度:開發人員可以通過使用.NET Core快速搭建跨平臺的應用。同時,還可以充分發揮.NET發展十四年來沉淀下來的特有優勢。
微軟在GitHub上面公布了與同類語言工具的對比檢測結果,稱使用.NET Core構建的應用運行速度是Node.js的八倍,Go的三倍,將會縮短響應時間、減少系統資源消耗。
此外,還可以使用C#支持的LINQ語言集成查詢,少量代碼即可實現對數據源執行復雜的篩選、排序和分組操作。以查詢數據庫的方式操作內存數據,使用基本查詢表達式模式進行查詢和轉換 SQL 數據庫、ADO.NET 數據集、XML 文檔和流以及 .NET 集合中的數據。
對于企業而言,.NET Core跨平臺意味著,在不改變架構的前提下,非Windows Server也可以運行.NET應用,.NET Core的工作流,可以被導入到Red Hat企業版Linux或者Windows Server;并且,這將為微服務構架提供更多的可能性,組件的語言開發可以是既有.NET又有Java,并運行同一個平臺。
微軟和紅帽的初衷
對于微軟而言,首先,這與微軟擴張跨平臺云愿景相符。微軟稱其重新梳理.NET,為的是順應當今的云應用、微服務和容器技術技術趨勢。其次,也可延續微軟現有項目和產品,如Xamarin的微軟開源項目、Windows Phone的開發、.NET Framework和ASP .NET等。
而對于紅帽,這可以幫助其商業版的Linux以及OpenShift平臺的推廣。紅帽博客上指出,只有商業版的Linux才全面支持.NET所有特性,并滿足企業級別的需求。紅帽認為,對那些尋求在Linux或者容器環境下使用.NET技術的企業而言,這將是一種新的平臺選擇。
開發社群的響應
總體上,社群的反應分為積極支持和中立觀望兩方。
一些已經使用過 .NET的 開發人員稱開發總體感覺很好,C#具備快速、多線程、豐富標準庫、泛型、支持動態靜態語言等優點。Mono的使用者則認為.NET Core 1.0可以做得比Mono更好。因此這兩類人群對于.NET Core持積極態度。不過,一些使用.NET Core的開發人員反應微軟未能做到及時更新文檔,偶爾會導致一些bug。此外,Visual Studio Code中的開發體驗仍然不及Visual Studio。
對于尚未在技術棧中使用.NET的開發團隊而言,大部分將持觀望態度。技術棧應該不會立刻發生變化,團隊不會緊隨1.0最初版本開展研發工作。
未來還會有哪些變化
微軟稱將會繼續在跨平臺上努力,就硬件層面而言,除了已經完成的跨操作系統的X64和WindowsX 86平臺, .NET Core正在向Arm64和ARM32平臺發力。
相關文章:
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峰會上正式發布
.NET Core:面向未來的開源跨平臺開發技術
微軟說它深愛著Linux,現在它用行動證明了
移植.NET Core計劃,整合各平臺變得更簡單了!
ASP.NET Core 介紹
通過幾個Hello World感受.NET Core全新的開發體驗
ASP.NET Core 運行原理剖析1:初始化WebApp模版并運行
.NET Core系列 : 1、.NET Core 環境搭建和命令行CLI入門
Asp.Net Core 發布和部署( MacOS + Linux + Nginx )
Asp.Net Core 發布和部署(Linux + Jexus )
學習ASP.NET Core,你必須了解無處不在的“依賴注入”
.NET Core應用類型(Portable apps & Self-contained apps)
原文地址:http://www.infoq.com/cn/news/2016/06/NET-Core-1-0-publish
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的.NET Core 1.0发布:微软开源跨平台大布局序幕的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core应用类型(Portab
- 下一篇: asp.net ajax控件工具集 Au