極限效能最佳化 – 與 Dapper 為敵

在擔任技術顧問時最常遇到兩件事,一件是系統架構調整,另一件則是最大化產品價值,前者是用來維護、奠定日後的發展,後者則是在面對競爭者。一般來說,多數的產品在開發初期就會有假想敵,如果你遇到的是沒有假想敵的產品,那麼恭喜你,你拿到了商業模式中最有利的籌碼,就是稀缺性,但不幸的是,這樣的機率很低,在這個年代,多數的商業模式都已經被找出來,差別在於執行細節及價值的定義。本篇文章以 Dapper 做為假想敵,將追趕它的最有價值部分做一個紀錄,結果其實不是那麼重要,過程才是有趣的部分。

...繼續閱讀 »

.NET Core 3.0 的 ReadyToRun

.NET Core 從2016 年發展至今四年了,前陣子的.NET Core 3.0補上了Windows Forms、WPF桌面應用程式支援,讓其應用範圍擴及桌面應用程式,接著的preview 6 則帶來了ReadyToRun的部署模式,這是一個類似.NET Framework NGEN的技術,用來加快.NET Core應用程式的啟動效能,結合preview 5的單一執行檔模式,可以編譯出單一執行檔,又有更好啟動速度的.NET Core 3.0 程式。

...繼續閱讀 »

初探 .NET Core 3於Desktop的支援

.NET Core 第一次 (2016/6) 出現,到第一版的 RC 1(2016/9),至今已過了兩年,正式版本號也推進到了 2.2,前兩個主要版本開發標的均聚焦於跨平台與 Server-Side(ASP.NET)的支援,隨著基礎建設 (BCL)的日趨完善,.NET Core 3.0 開始轉移開發焦點至 Desktop部分,納入了 WPF、WinForm、UWP,還有 Entity Framework 6。也就是說未來的 .NET Core 3.0可以取代 NET Framework來進行 Windows GUI的開發,以目前披露的訊息及實作來看,GUI 的部分依舊是維持在 Windows平台上,不具備跨平台的能力。

...繼續閱讀 »

Build Desktop Application with Electron (4) - Call to .NET

憑藉著Node.JS豐富的資源,傳統Desktop Application能做的事,Electron幾乎都做得到,前提是你能找到適用的套件,但總有些時候,能找到的套件雖然能達到你要的目的,但卻附帶一些不想要的後果,例如複雜的使用架構,或是效能不符需求,相依性過大等等,這時Electron Edge這類可以橋接.NET Library的機制就很有用。

...繼續閱讀 »

.NET Core – The Beginning

隨著Microsoft擁抱開源的口號,.NET Framework也正式登上了其他平台,其中包含了Linux與OSX,與以往的3rd Party Mono不同,新的.NET Core具備官方的支援及完整的Roadmap。

為了登上其他舞台,.NET Core可以說從根源開始重新打造,在早期版本中Linux、OSX上仍是使用Mono Runtime,隨著時間的推移,現在的1.1 RTM中Mono的身影已經完全消失了,取而代之的是Native Platform Runtime,這代表著.NET平台新時代的來臨,也意味著Microsoft正走在一個Java曾走過的道路,Cross Platform、Write once,Run Anywhere。

...繼續閱讀 »