Neutronium alternatives and similar packages
Based on the "GUI" category.
Alternatively, view Neutronium alternatives based on common mentions on social networks and blogs.
-
Avalonia
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology -
MahApps.Metro
A framework that allows developers to cobble together a better UI for their own WPF applications with minimal effort. -
UWP Community Toolkit
The Windows Community Toolkit is a collection of helpers, extensions, and custom controls. It simplifies and demonstrates common developer tasks building .NET apps with UWP and the Windows App SDK / WinUI 3 for Windows 10 and Windows 11. The toolkit is part of the .NET Foundation. -
Windows UI Library
WinUI: a modern UI framework with a rich set of controls and styles to build dynamic and high-performing Windows applications. -
metroframework-modern-ui
My humble attempt to bring the new Modern UI alias Metro UI of Windows 8 to .NET Windows Forms applications. -
FastColoredTextBox
Fast Colored TextBox for Syntax Highlighting. The text editor component for .NET. -
Ooui
A small cross-platform UI library that brings the simplicity of native UI development to the web -
ScintillaNET
DISCONTINUED. A Windows Forms control, wrapper, and bindings for the Scintilla text editor. -
Gtk#
DISCONTINUED. Gtk# is a Mono/.NET binding to the cross platform Gtk+ GUI toolkit and the foundation of most GUI apps built with Mono -
Ookii.Dialogs.WinForms
Awesome dialogs for Windows Desktop applications built with Microsoft .NET (WinForms) -
Callisto
A control toolkit for Windows 8 XAML applications. Contains some UI controls to make it easier to create Windows UI style apps for the Windows Store in accordance with Windows UI guidelines. -
SciterSharp
DISCONTINUED. Create .NET cross-platform desktop apps using not just HTML, but all features of Sciter engine: CSS3, SVG, scripting, AJAX, <video>... Sciter is free for commercial use -
ObjectListView
git clone of https://objectlistview.svn.sourceforge.net/svnroot/objectlistview/cs/trunk
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Neutronium or a related project?
README
Neutronium
https://neutroniumcore.github.io/Neutronium/
What is Neutronium?
Neutronium is a library to create .NET desktop applications using HTML, CSS and javascript.
Neutronium uses MVVM pattern exactly the same way as WPF application.
Neutronium provides bindings with Vue.js and Knockout.js to build powerful HTML5 UI.
Why Neutronium?
Use all the power of the javascript stack to build .NET desktop applications.
Easy to use:
- Architecture Neutronium application just like standard WPF application.
- Compatible with popular MVVM libraries such as MVVM Light Toolkit and reactiveUi
- Use standard javascript frameworks to build UI
Easy to set-up:
- Solution template available for a quick start
- Use javascript framework cli tools to use the same tool chain as web developmenet taking chance of tools such as live reload.
- Reuse ViewModel designed for WPF with a different View Engine.
Build UI on a 100% Open Source Stack
Uses cases
[Create an application from scratch](./Documentation/Content/UsesCases/New_project.md)
Migrate an existing WPF MVVM application to Neutronium
Use Neutronium to embed an HTML control in an WPF application
Main features
Reactive to property and collection changes
- Two way-binding beetween view and viewmodel, including command binding
Pluggable architecture:
- Easily plug-in new javascript frameworks or even embedded browser.
How?
- Neutronium combines Chromium via ChromiumFx C# lib and a binding engine that converts back and forth C# POCO to javascript POCO.
- Javascript objects are then used as ViewModel for javascript MVVM library such as [knockout.js]("http://knockoutjs.com/) or Vue.js.
- Listeners are set-up on C# and javascript side for two-way binding.
On the shoulders of giants
Usage - Example
ViewModel (C#)
public class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void Set<T>(ref T pnv, T value, string pn)
{
pnv = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(pn));
}
}
public class Skill
{
public string Type { get;}
public string Name { get;}
public Skill (string name, string skillType)
{
Name = name;
Type = skillType;
}
}
public class Person: ViewModelBase
{
private string _LastName;
public string LastName
{
get { return _LastName; }
set { Set(ref _LastName, value, "LastName"); }
}
private string _Name;
public string Name
{
get { return _Name; }
set { Set(ref _Name, value, "Name"); }
}
public IList<Skill> Skills { get; private set; }
public ICommand RemoveSkill { get; private set; }
public Person()
{
Skills = new ObservableCollection<Skill>();
RemoveSkill = new RelayCommand<Skill>(s=> this.Skills.Remove(s));
}
}
View (HTML)
- First option: use Vue.js
HTML <!doctype html> <html> <head> <title>Vue.js Example</title> </head> <body> <input type="text" v-model="viewModel.Name" placeholder="First name" > <ul> <li v-for="skill in viewModel.Skills"> <span>{{skill.Type}}:{{skill.Name}}</span> <button @click="RemoveSkill.Execute(skill)">Remove skill</button> </li> </ul> <div> <h2>{{viewModel.Name}}</h2> <h2>{{viewModel.LastName}}</h2> </div> </body> </html>
Create the component(C# Xaml)
<Neutronium:HTMLViewControl Uri="pack://application:,,,/src/index.html" />
The binding is done on the DataContext property just as standard WPF, That's it!
Examples
Get started
Best way to start with Neutronium is to download template C# solution from visual studio gallery.
See Here for detailed instructions.
Complete Documentation
Comparison with other libraries:
-
Neutronium is electron for .NET? Well, kind of. Neutronium however is a higher abstraction so that you don't need to care about Chromium implementation such as renderer or browser processes.
-
Different from other libraries Awesomium is not open source. Last update was embedding Chrome 19 so it is pretty out of date. One neutronium distribution offer Awesomium as WebBrowser.
-
All are open source libraries presenting up-to-date C# binding for CEF
Offers all API of CEF. Used by Neutronium as a test WebBrowser using the mono-process option.
Same as CefGlue + remote API that handles communication between Chromium processes. Neutronium recommended set-up uses ChromiumFx as a WebBrowser.
Well documented and package solution (including nuget). Does not offer all CEF binding to javascript however.
Nuget packages
ChromiumFx browser and knockout.js
This project is a continuation and improvement of MVVM-for-awesomium.
Support
[Jetbrains logo](./Deploy/jetbrains-variant-3.svg?sanitize=true)
*Note that all licence references and agreements mentioned in the Neutronium README section above
are relevant to that project's source code only.