iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0
Modern Web

.NET教我做人系列 第 1

Day 1 .NET壺裡到底賣了甚麼藥

  • 分享至 

  • xImage
  •  

嗨~大家好,又到了一年一度的鐵人賽時間,可能又要開始開心(痛苦)的30天紀錄

由於小弟我最近剛開始有再碰 .NET 這很有趣的東東,所以今年想把自己學到的東西拿來分享給各位大老看看,如果有任何地方可以改進的麻煩各位大神指點

在接觸 .NET 之前我是完全不知道他有哪些功能,看完官網介紹後我才知道他不是單純簡單的寫寫程式語言,裡面的功能多到不知從何下手,幸好官網很體,有幫我這菜鳥做出個分類,看到這後大概有個方向知道要怎麼下手第一步

在開始之前要先知道 .NET 是免費的跨平台開放原始碼開發人員平臺來建置許多種類的應用程式。 .NET 是以許多高階應用程式在生產環境中使用的高效能執行時間為基礎所建置

主要分類

在.NET有這麼強大的系統下,由於不可能把所有功能都放在一起,所以在這裡主要可以分成四大類別來給大家知道一下

  • 雲端應用程式

    • 主控台應用程式
    • 雲端中的無伺服器函式
    • Web 應用程式、Web API 和微服務
    • 跨平臺用戶端應用程式
  • 跨平臺用戶端應用程式

    • 傳統型應用程式
    • 遊戲
    • 行動應用程式
  • Windows 應用程式

    • Windows 傳統型應用程式
    • Windows Forms
    • 通用 Windows 平台 (UWP)
    • Windows 服務
  • 其他應用程式類型

    • 機器學習
    • 物聯網 (IoT)

WoW~這也太多了吧,要是全部我都會我可能不用怕沒飯碗!!!!

我擔心大家看到上面可能心臟受不了,幸好官網有比較好的版本讓大家理解。話先說,畢竟我不是甚麼大老,我可能就從簡單的Web開始來介紹,要是我有讀到其他功能大話我再來補充給各位!

(圖片來源:https://dotnet.microsoft.com/zh-cn/?utm_source=developermscom)

一些好用的東東,帶你快速的寫好專案

在開發一個專案時不太可能只用一種語言來選寫,所以在微軟下有提供了很多好用的功能來提升開發人員的生產率同時也能讓程式碼的效率性,這裡的話我會在之後挑選幾的比較會用的功能來做個介紹,那就請大家拭目以待

  • 非同步程式碼
  • 屬性
  • 反射
  • 程式碼分析器
  • 委派和 Lambda
  • 事件
  • 例外狀況
  • 垃圾收集
  • 泛型類型
  • LINQ
  • 平行程式設計
  • 類型推斷 - C#、 F#、 Visual Basic。
  • 類型系統
  • Unsafe 程式碼

.NET Core VS .NET Framework

一說起 .NET 的歷史我的頭就開始痛起來了,其實我也不太清楚微軟為甚麼 .NET 要一直分出那麼多不同的版本,而且差異在哪裡我也不太清楚,但我能確定的事是,越新的版本一定會相對較舊的版本來的穩定(應該吧)

(圖片來源:https://time.graphics/line/291016)

看完了上面那張圖應該可以到四種不同顏色的東西,分別為 .NET、 .NET Core、 C#,對了忘記先說,除了 .NET 5、.NET 6 以外的 .NET 我們應該要在後面要再加個Framework,哪是因為這兩個東西可以說有關西也可以說沒關系

.NET Core

前面說過它是個開源通用開發平台,可以在 Windows、Linux 和 macOS 等系統上開發基於雲的現代軟件應用程序。它在多個平台上運行,並經過改進以使 .NET 快速、可擴展和現代

.NET Framework

是的微軟開發的軟件框架,在他的第一版出來時功能可能就始能說是一台虛擬機,用於編譯和執行用 C#、VB .Net 等不同語言編寫的程序。它用於form-based 、web-based services

(資料來源:https://www.geeksforgeeks.org/differences-between-net-core-and-net-framework/)

最後來說一下 .NET Core和 .NET Framework在不同情況下的應用

.NET Core

  1. 有跨平台需求
  2. 針對微服務或使用 Docker 容器
  3. 需要高性能和可擴展的系統
  4. 每個應用程序同時需要 .NET 版本

.NET Framework

  1. 應用程序將被構建為僅在 Windows 上運行
  2. 如果應用程序使用 .NET Core 不可用的 .NET 框架技術
  3. 已在 .NET Framework 上運行的應用程序

今天過得好快,看來要來去好好準備明天的挑戰,那麼大家就明天見囉~~~~~~~~~~


下一篇
Day 2 在開始打怪前先了解C#
系列文
.NET教我做人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言