一起了解 .Net Foundation 項目 No.1


.Net 基金會中包含有很多優秀的項目,今天就和筆者一起了解一下其中的一些優秀作品吧。

中文介紹

中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。

Akka.NET

Akka.NET 是一組類庫,基於這些類庫,可以設計出可擴展的、彈性的系統,這樣的系統可以在水平擴展於物理處理器和網絡結構之上。Akka 能夠讓開發者專注於業務需求,而不需要編寫底層代碼來實現可靠業務保障、容錯機制和高性能。

項目詳情

相關鏈接

筆者簡評

akka 是 Java 領域較為有名的Actor 模式實現框架。使用它可以較為方便的構建擴展的、彈性的系統。

Akka.NET 可以被認為 akka 的.Net版本實現。

要深入的了解 Akka.Net 就需要首先了解 Actor 模式的基本理論和工作模式。讀者可以通過筆者寫的Newbe.Claptrap-一套以“事件溯源”和“Actor模式”作為基本理論的服務端開發框架來初步了解 Actor 模式。

開源社區中也有一些項目使用到了 Akka.Net 。例如:基於.Net實現的區塊鏈項目NEO便使用到了Akka.Net。

英文介紹

Akka.NET

Akka.NET is a set of open-source libraries for designing scalable, resilient systems that span processor cores and networks. Akka allows you to focus on meeting business needs instead of writing low-level code to provide reliable behavior, fault tolerance, and high performance.

Project Details

以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。## 中文介紹

中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。

AngleSharp

AngleSharp 是一款.Net實現的瀏覽器引擎核心,它為.Net應用程序提提供了現代Web相關的基礎工具集,它以 .NET Standard 類庫的形式進行分發。該類庫包括了“完整實現的HTML5渲染器”和“能夠采用L4查詢選擇器來進行DOM遍歷的動態DOM實現”。AngleSharp 完全遵循 W3C 規范文件相關的約定和 WHATWG 的參考意見,以確保與常用瀏覽器行為之間的最大兼容性。

AngleSharp 的生態系統中也包含有一些功能性擴展,例如:集成CSS3渲染器、XPath選擇器支持和正處於體驗版的JavaScript引擎。

AngleSharp 的長期目標是為.Net應用程序提供內建好的標准Web特性,包括下載、檢查、運行和展示。

項目詳情

相關鏈接

筆者簡評

如果從 DOM 操作的角度而言:

與此產生對比的主流類庫便是:HtmlAgilityPack。它同樣具備有 HTML 解析相關的基礎功能。

正如很多老牌類庫和新生代新角之間的對比。 AngleSharp 具備更多當前時代所時髦的一些特性。不過這其實是由於項目立意的不同所導致的: AngleSharp 定位是一套瀏覽器引擎核心的實現,而 HtmlAgilityPack 就是為了實現 HTML 的轉換和 DOM 操作。

因此,單單如果想要進行 DOM 操作,兩者都是可以選擇的對象,但如果需要更多的瀏覽器特性支持,那么選擇 AngleSharp 會是更好的辦法。

而從性能上來說,兩者現在都處於快速發展的過程中,因此各有優劣,需要開發者按照實際情況選擇方案。內存大戶雙人組,注意釋放

如果從瀏覽器核心的角度而言:

Chromium 是一套相當完整的瀏覽器框架,當然這與 AngleSharp 的定位還是不同的。 AngleSharp 是為現有的應用程序提供 Web 規范相關的特性,但不一定是瀏覽器。

當然,如果開發者希望尋找一款能夠 .Net 進行定制的瀏覽器開發框架,那么 CEF 會是更好的選擇。

目前,AngleSharp 還未發布 1.0 正式版本,仍在不斷完善的過程中。

英文介紹

AngleSharp

AngleSharp is a .NET Browser Engine Core, which represents the basis for modern web tooling available to .NET applications in form of a .NET Standard library. The library contains a fully implemented HTML5 parser and a dynamic DOM implementation that can be traversed using L4 query selectors. AngleSharp fully follows the W3C specification and WHATWG references to ensure a maximum compatibility with evergreen browsers.

AngleSharp’s eco-system also features extension libraries such as an integrated CSS3 parser, XPath support, or an experimental JavaScript engine.

The long term vision for AngleSharp is provide all the building blocks for downloading, inspecting, running, and rendering standard web assets within .NET applications.

Project Details

以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。## 中文介紹

中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。

ASP.NET SignalR

ASP.NET SignalR 是一個為 ASP.NET開發人員提供的類庫,它使得在 Web 應用程序中添加實時 Web 功能變得難以置信的簡單。

什么是”實時 Web “功能?它能夠讓服務器實時將內容推送到連接的客戶端上。類似的,您可能聽說過 WebSockets,這是一種新的 HTML5 API,它就支持瀏覽器和服務器之間的雙向通信。

SignalR 將在 WebSocket 可用時使用 WebSocket,並在 WebSocket 不可用時優雅地降級使用其他技術來替代,而這種優雅的降級不需要應用程序代碼發生修改。SignalR 還提供非常易用的頂層 API,用於在ASP.NET應用程序中執行從服務器到客戶端 RPC(從服務器端的 .NET 代碼調用中調用客戶端瀏覽器中的 JavaScript 函數),與此同時,還實現了用於連接管理的回調函數,例如連接/斷開連接事件、分組連接、授權等等。

項目詳情

相關鏈接

筆者簡評

基於 Web 的實時通信需求在現在這個網速越來越快的時代,變得尤為重要。現在誰家還沒有個“彈幕”功能呢?

SignalR 為開發者提供了在 .Net 應用中集成實時通信功能的一種快捷方法。由於歷史的原因,SignalR 晚於微軟 Web 御三家(ASP.NET MVC, Web API 和 Web Pages)一段時間,因此被單獨作為一個獨立內容。目前在新版的 ASP.NET Core 中 SignalR 也被重新重構,並入了集體。

值得一提的是,sockjs 可以作為 SignalR 的替代方案,但或許與 .Net 的集成度不夠優秀。

英文介紹

ASP.NET SignalR

ASP.NET SignalR is a library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications.

What is “real-time web” functionality? It’s the ability to have your server-side code push content to the connected clients as it happens, in real-time. You may have heard of WebSockets, a new HTML5 API that enables bi-directional communication between the browser and server.

SignalR will use WebSockets under the covers when it’s available, and gracefully fallback to other techniques and technologies when it isn’t, while your application code stays the same. SignalR also provides a very simple, high-level API for doing server to client RPC (call JavaScript functions in your clients’ browsers from server-side .NET code) in your ASP.NET application, as well as adding useful hooks for connection management, e.g. connect/disconnect events, grouping connections, authorization.

Project Details

以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM