AngleSharp 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
中文介绍
中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。
AngleSharp
AngleSharp 是一款.Net实现的浏览器引擎核心,它为.Net应用程序提提供了现代Web相关的基础工具集,它以 .NET Standard 类库的形式进行分发。该类库包括了“完整实现的HTML5渲染器”和“能够采用L4查询选择器来进行DOM遍历的动态DOM实现”。AngleSharp 完全遵循 W3C 规范文件相关的约定和 WHATWG 的参考意见,以确保与常用浏览器行为之间的最大兼容性。
AngleSharp 的生态系统中也包含有一些功能性扩展,例如:集成CSS3渲染器、XPath选择器支持和正处于体验版的JavaScript引擎。
AngleSharp 的长期目标是为.Net应用程序提供内建好的标准Web特性,包括下载、检查、运行和展示。
项目详情
- 官网地址
- 项目源码
- 项目许可证: MIT
- 项目联系人: Florian Rappl
相关链接
笔者简评
如果从 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
- Project Info Site
- Project Code Site
- Project License Type: MIT
- Project Main Contact: Florian Rappl
Quicklinks
以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。
其他项目地址
- Akka.NET - 【Actor开发框架】
- AngleSharp - 【浏览器引擎】
- ASP.NET SignalR - 【Web实时通信框架】
- ASP.NET MVC, Web API and Web Pages Razor - 【Web开发框架】
- ASP.NET Ajax Control Toolkit - 【Ajax开发工具】
- ASP.NET Core - 【新时代Web开发框架】
- AutoMapper - 【对象映射管理】
- Microsoft Azure SDK for .NET - 【SDK】
- Microsoft Azure WebJobs SDK - 【SDK】
- BenchmarkDotNet - 【基准测试框架】
- Cake - 【本地自动化框架】
- Chemistry Add-in for Word - 【Word插件】
- Couchbase Lite for .NET - 【NoSQL引擎】
- DNN Platform - 【CMS系统】
- .NET Compiler Platform Roslyn - 【编译器】
- .NET Micro Framework - 【嵌入式框架】
- .NET SDK For Hadoop - 【SDK】
- DotVVM: Component-based MVVM framework for ASP.NET - 【Web服务端MVVM框架】
- Entity Framework - 【ORM】
- Humanizer - 【工具库】
- IdentityManager - 【身份认证数据管理工具】
- IdentityModel - 【身份认证对接库】
- IdentityServer - 【OAuth服务端】
- SixLabors.ImageSharp - 【2D绘图库】
- DLR/IronPython2/IronPython3 - 【.Net上运行Python】
- Json.NET - 【JSON处理库】
- Kudu - 【自动化框架】
- LLILC - 【语言底层项目】
- MailKit - 【邮件处理工具库】
- Managed Extensibility Framework MEF, MEF2 - 【模块化工具库】
- Microsoft Web Protection Library - 【Web防攻击工具库】
- MimeKit - 【MIME处理工具库】
- ML.NET - 【机器学习框架】
- Cecil - 【语言底层项目】
- Mono - 【语言跨平台底层项目】
- MSBuild - 【本地自动化框架】
- MVVM Light Toolkit - 【客户端MVVM开发框架】
- MvvmCross - 【客户端MVVM开发框架】
- Nancy - 【Web开发框架】
- .NET Core - 【Web开发框架】
- Newtonsoft.Json - 【JSON处理库】
- NuGet - 【包管理框架】
- NUnit Test Framework - 【单元测试框架】
- Open Live Writer - 【博客协作工具】
- Open XML SDK - 【Office SDK】
- Orchard CMS - 【CMS系统】
- Orleans - 【Actor开发框架】
- OWIN Authentication Middleware Katana Project - 【Web开发框架】
- Peachpie Compiler Platform - 【.Net上运行PHP】
- Polly - 【服务调用工具库】
- Prism - 【客户端MVVM开发框架】
- Protobuild - 【项目文件生成工具】
- Reactive Extensions for .NET - 【反应式编程框架】
- ReactiveUI - 【反应式编程UI框架】
- Salesforce Toolkits for .NET - 【SDK】
- SourceLink - 【源码调试支持】
- Steeltoe - 【微服务框架】
- System.Drawing Mono - 【2D绘图工具库】
- Telerik UI for UWP - 【UWP UI框架】
- Umbraco - 【CMS框架】
- UWP Community Toolkit - 【UWP 工具库】
- WCF - 【跨进程通信框架】
- Windows Phone Toolkit - 【WP 工具库】
- Windows Template Studio - 【UWP 项目模板】
- Windows Forms - 【客户端开发框架】
- WiX Toolset - 【安装包制作框架】
- WorldWide Telescope - 【宇宙探索工具】
- Windows Presentation Foundation WPF - 【客户端开发框架】
- Xamarin.Auth - 【移动端身份认证工具库】
- Xamarin.Mobile - 【移动端工具库】
- xUnit.net - 【单元测试框架】