天天看點

從.net開發做到雲原生運維(一)——從.net framework過渡到.net core

1. 前言

序篇講了自己的一些感悟和經曆,從這章開始就開始講一些.net技術棧的東西了。

2. .net framework和.net core對比

.NET Framework 概述

.NET Framework 是一種技術,支援生成和運作 Windows 應用及 Web 服務。 NET Framework 旨在實作下列目标:

提供一個一緻的面向對象的程式設計環境,而無論對象代碼是在本地存儲和執行,還是在本地執行但在 Web 上分布,或者是在遠端執行。提供可執行以下操作的代碼執行環境:将軟體部署和版本控制沖突最小化。

提高代碼(包括由未知的或不完全受信任的第三方建立的代碼)執行安全性。

消除腳本環境或解釋環境的性能問題。

使開發人員的經驗在面對類型大不相同的應用(如基于Windows 的應用和基于 Web 的應用)時保持一緻。

按照工業标準生成所有通信,確定基于 .NET Framework 的代碼可與任何其他代碼內建。

.NET 簡介 .Net Core (後期以.net 6.0為準了)

.NET 是一種用于建構多種應用的免費開源開發平台,例如:
  • Web 應用、Web API 和微服務
  • 雲中的無伺服器函數
  • 雲原生應用
  • 移動應用
  • 桌面應用
  • 遊戲
  • 物聯網 (IoT)
  • 機器學習
  • 控制台應用
  • Windows 服務

使用類庫在不同應用和應用類型中共享功能。

使用 .NET 時,無論你正在建構哪種類型的應用,代碼和項目檔案看起來都一樣。 可以通路每個應用的相同運作時、API 和語言功能。

跨平台

開源

注意

.Net Framework 最高版本為4.8(目前隻處于維護的狀态沒有新特性了) .Net Core最高版本為3.1,從5.0開始,.Net Core就命名成.Net + 數字,以後隻有一個.Net。最新的長期支援版本為.net 6.0。

從.net開發做到雲原生運維(一)——從.net framework過渡到.net core

Announcing .NET 6 — The Fastest .NET Yet

3. 為什麼推薦遷移到.net core

.Net Core的一些優點

  • 跨平台
  • 開源

.Net Framework隻能在Windows系統上運作是有很大的局限性。 最新的.Net跨平台架構擁有很多的新特性,Asp.net core更能适應雲原生和微服務。而且開源并持續更新,保證能夠快速的添加一些新特性。

4. 舊程式享受容器化帶來的便利

當然如果一些web程式有曆史包袱,不能很好的遷移到.net最新的跨平台架構上,可以采用windows容器,将傳統應用固化到容器裡,這樣就可以享受到容器帶來的一些便利了。再結合容器編排如k8s這類工具,搭建出windows和linux的混合叢集,這樣服務和現代化的微服務沒什麼差別了。

繼續閱讀