Desktop applications used to have normally the same UI kit as the operative system, specially those created with the .NET framework. Other languages, like Java implement other UI kits that look different, but not better. That's why in the last couple of years, a new tendence appeared, the possibility of creating user interfaces with easily writable and customizable components that look exactly how you want as long as you can design it, without depending of the UI kit of your framework or operative systems.
In this top, we want to share with you 5 of the most useful rendering engine/libraries that you can use to create user interfaces for desktop with web technologies.
LayoutFarm renderer is a C# HTML Layout and HTML Rendering Engine, a modified version of HTML Renderer library.
The HTML Renderer is a Cross .NET framework (WinForms/WPF/PDF/Metro/Mono/etc.), Multipurpose (UI Controls / Image generation / PDF generation / etc.), 100% managed (C#), High performance HTML Rendering library. The library is 100% managed C# code without any external dependencies (no WebBrowser control, ActiveX / COM or MSHTML dll), the only requirement is .NET 2.0 or higher. This engine offers:
- Extensive HTML 4.01 and CSS level 2 specifications support.
- Support separating CSS from HTML by loading stylesheet code separately.
- Support text selection, copy-paste and context menu.
- WinForms controls: HtmlPanel, HtmlLabel and HtmlToolTip.
- WPF controls: HtmlPanel and HtmlLabel.
- Works on Mono.
- Create images/PDFs from HTML snippets.
- Handles "real world" malformed HTML, it doesn't have to be XHTML.
- 100% managed code and no external dependencies.
- Supports .NET 2.0 or higher including Client Profile.
- Lightweight, just two DLLs (~300K).
- High performance and low memory footprint.
- Extendable and configurable.
- Powerful Demo application to explore and learn the library.
NanUI is a library based on ChromiumFX that can let your Winform application use HTML5/CSS3 as user interface. You can use orginal Winform borders or full view no border form that use all html/css to design the interface. NanUI is MIT licensed, so you can use it in both business and free/open source application. For more details, see the LICENSE file. Stable NanUI binaries are released on NuGet. The new version offers:
- Rewritted codes of no border interface logic, new version is faster than old versions.
- NanUI now supports Hi-DPI in Windows 8 and later.
- Combined HtmlUIForm and HtmlContentForm to one Formium which support these two styles.
- Install Nuget Package of NanUI will add CEF and ChromiumFX dependencies to your application automatically.
WebKit.NET is a control library wrapper for WebKit written in C#. The aim is to make it easy for developers to incorporate WebKit into their .NET applications. This package contains the compiled WebKit .NET library, a sample application which implements a simple web browser, a build of the Cairo WebKit library and all of its dependencies. Download this if you want to use the web browser control in your projects or want to try out the sample application.
CefSharp lets you embed Chromium in .NET apps. It is a lightweight .NET wrapper around the Chromium Embedded Framework (CEF) by Marshall A. Greenblatt. About 30% of the bindings are written in C++/CLI with the majority of code here is C#. It can be used from C# or VB, or any other CLR language. CefSharp provides both WPF and WinForms web browser control implementations. CefSharp is BSD licensed, so it can be used in both proprietary and free/open source applications. For the full details, see the LICENSE file. We wrote a detailed tutorial about how to use this awesome engine in WinForms here.
If you know another awesome open source HTML rendering library, please share it with the community in the comment box.