發表文章

目前顯示的是 4月, 2020的文章

[04] .NET Core 3.0 新朋友 System.Text.JSON

圖片
System.Text.Json 特色 強調效能 主要是啟用了 .NET Core 的祕密武器 - Span   低記憶體耗用量 效能比較 System.Text.Json 吞吐量(PRS)明顯都高於JSON.NET (Newtonsoft.Json)   撰寫方式的差異 JSON.NET (JObject) dynamic md = JsonConvert.DeserializeObject (strJSON); if (md != null) query.VipNo = md["VipNo"] == null ? "" : md["VipNo"].ToString(); System.Text.Json (JsonElement) dynamic md = JsonSerializer.Deserialize (strJSON,); if (md.ValueKind != null) { JsonElement TMP = new JsonElement(); if (Source.TryGetProperty(Name, out TMP)) query.VipNo = TMP.GetString(); }   撰寫方式的差異 JSON.NET (JObject) dynamic md = JsonConvert.DeserializeObject (strJSON); if (md != null) query.VipNo = md["VipNo"] == null ? "" : md["VipNo"].ToString(); System.Text.Json (JsonElement) // 自定義轉換器   var options = new JsonSerializerOptions { AllowTrailingCommas = true }; dynamic md = JsonSerializer.Deserialize (strJSON, options ); if (md.ValueKind != null) { JsonEle...

[03] Razor 、Brazor、Mobile Brazor

圖片
Razor Page  Razor Page是一個輕量化的框架,較 接近MVVM架構 。 它延續 WebForm 的簡約精神,是開發網頁的另一種選擇 WebForm 以單一網頁為核心的精神並非一無可取 對一些超小型應用而言,硬要拆分 Model、View、Controller 反而讓事情複雜化。 WebForm 的組成單純,靠一個 .aspx 放 HTML/CSS/JavaScript、一個 .aspx.cs 寫按鈕的 Server 端事件 兩個檔案搞定網頁完整流程 有些功能Razor Page實現不了,MVC更為靈活,但也更複雜 Razor Page的優勢就是它的簡單, Brazor - ASP.Net Core的新前端框架 Brazor為 Angular/React/Vue 的可能替代方式 讓.NET 的開發者使用原本熟悉的 C# + Razor 與 HTML Blazor是一種框架,可以讓我們 使用C#或.NET建構Web UI ,而不需要使用JavaScript開發前端的Web UI 使用 C# 而不是 JavaScript 來建立豐富的互動式 UI Mobile Brazor  以開發網頁的方式來開發APP,目前屬於 實驗性質 。 開發者可以使用網頁程式開發模式, 使用C#和.NET,建置iOS和Android原生行動應用程式 以Razor語法定義UI元件以及應用程式行為 UI元件是利用Xamarin.Forms原生UI控制元件作為基礎,因此可開發出精美的原生行動應用程式 TEST

[02] .NET Standard

圖片
跨平台類別庫 .NET Standard .NET Standard 的核心使命在於解決 .NET 跨平台時 基礎程式庫不一致的問題 此標準寫出來的程式庫可以在 .NET Framework、.NET Core、Mono、UWP、Xamarin.iOS、Xamarin.Android 等不同平台使用 各版本的對應 從 .NET Standard 2.1 開始,NET Framework 4.8 不再表列之中 不同版本的.NET Standard對應不同版本的平台

[01] .Net Core 介紹

圖片
.NET Core 現況 Core 1.0、Core 2.0均聚焦於跨平台與 Server-Side(ASP.NET)的支援 Core 3.x 開始轉移開發焦點至 Desktop部分,可以取代 NET Framework來進行 Windows GUI的開發, GUI 的部分依舊是維持在 Windows平台上,不具備跨平台的能力 。 目前看起來移轉到 .NET Core 上好處不多,.NET Framework 再戰十年也沒問題 畢竟 Microsoft 已經將重心移轉到 .NET Core 上 ,是時候該認真考慮改用 .NET Core 寫新專案,並評估將現有專案移植到 .NET Core。 .NET 5 - 下一代的 .Net Core 統一.NET的命名,目標就是只有一個.NET 利用.NET Core和Mono,建立了一個單一平臺 使開發者可以在任何地方,執行所有現代的.NET程式碼,統一執行行為和開發者的體驗。 .Net Core 特色 開源且免費 取得了更快速的發展 目前有來自超過3,700家企業的1.9萬開發者在為.Net Core做貢獻 達到真的跨平台 (Windows、Linux、macOS) 讓您能夠在多個平台上做開發,在Windows、Linux、Mac上執行 更可部署到Docker上執行 輕量化(快速啟動、佔用空間小、記憶體使用率低) 基本上.Net Core是一個更加模組化的平台,換句話說整體的速度和使用的資源更少。 發佈模式的不同 效能優勢 傳統的ASP.NET 受限於 IIS,功能豐富但較笨重, 在一些評測中 ASP.NET Core搭配Kestrel Web Server 的效能至少嬴過 ASP.NET on IIS 3-4 倍。 ASP.NET Core 內建就有 Kestrel 這個輕量化的網頁伺服器,不需要再依賴 IIS 也可透過IIS、Nginx 或 Apache 等網頁伺服器運行 .Net Core 、.Net Framework 該如何選擇?  NET Core偏向以微服務跨平台的程式開發 NET Framework則以Windows為主的架構 .NET Framewo...