Lara alternatives and similar packages
Based on the "GUI" category.
Alternatively, view Lara alternatives based on common mentions on social networks and blogs.
-
UWP Community Toolkit
The UWP Community Toolkit is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer tasks building UWP apps for Windows 10. -
Windows UI Library
The Windows UI Library (WinUI) provides official native Microsoft UI controls and features for Windows UWP apps. -
metroframework-modern-ui
My humble attempt to bring the new Modern UI alias Metro UI of Windows 8 to .NET Windows Forms applications. -
Fluent.Ribbon
Fluent Ribbon Control Suite is a library that implements an Office- and Windows 8-like Ribbon for WPF. -
Dragablz
Dragable, tearable WPF tab control (similar to Chrome) which supports layouts and is full themeable, including themese compatible with MahApps and Material Design. -
Ooui
A small cross-platform UI library that brings the simplicity of native UI development to the web -
FastColoredTextBox
Fast Colored TextBox is text editor component for .NET. Allows you to create custom text editor with syntax highlighting. It works well with small, medium, large and very-very large files. -
Neutronium
Build .NET desktop applications using HTML, CSS, javascript and MVVM bindings such as with WPF. -
ScintillaNET
Windows Forms control for the Scintilla text editor component (Scintilla is used by Notepad++) -
WinApi
A simple, direct, ultra-thin CLR library for high-performance Win32 Native Interop with automation, windowing, DirectX, OpenGL and Skia helpers. -
Gtk#
Gtk# is a Mono/.NET binding to the cross platform Gtk+ GUI toolkit and the foundation of most GUI apps built with Mono -
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. -
Ookii.Dialogs.Wpf
Enable WPF applications to access common Windows dialogs such as task dialogs, credential dialog, progress dialog, folder browser dialog, and more -
SciterSharp
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 -
Ookii.Dialogs.WinForms
Enable Windows Forms applications to access common Windows dialogs such as task dialogs, credential dialog, progress dialog, folder browser dialog, and more -
ObjectListView
ObjectListView is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and teaches it some new tricks -
Bunifu UI Framework
Carefully crafted Winforms controls and components for creating stunning modern application UI. [$]
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Lara or a related project?
README
Lara Web Engine

Lara is a library for developing web user interfaces. Lara gives you full control of the client's HTML Document Object Model (DOM) from the server in C#, and avoids page reloads by exchanging differentials between server and client.
"It is similar to server-side Blazor, but is much more lightweight and easier to install. For example, while any type of Blazor requires a whole SDK, Lara is just a NuGet package." ScientificProgrammer.net
Sample application
using Integrative.Lara;
using System.Threading.Tasks;
namespace SampleProject
{
class Program
{
static async Task Main()
{
using var app = new Application();
await app.Start(new StartServerOptions
{
Port = 8182,
// looks for classes decorated with 'Lara' attributes
PublishAssembliesOnStart = true
});
await app.WaitForShutdown();
}
}
[LaraPage(Address = "/")]
class MyPage : IPage
{
int counter = 0;
public Task OnGet()
{
var button = Element.Create("button");
button.InnerText = "Click me";
button.On("click", () =>
{
counter++;
button.InnerText = $"Clicked {counter} times";
return Task.CompletedTask;
});
LaraUI.Page.Document.Body.AppendChild(button);
return Task.CompletedTask;
}
}
}
Other resources available for building web pages are the LaraBuilder class, Web Components, and Reactive Programming.
Integrating Lara into an existing web server
To add Lara to an existing ASP.NET Core server, add to the Startup class or equivalent:
private readonly Application _laraApp = new Application();
public void Configure(IApplicationBuilder app)
{
app.UseLara(_laraApp, new LaraOptions
{
// configuration options
});
}
Creating Desktop applications
To create a desktop container for your web app, here's a few options:
- electron.js combined with electron-cgi library
- Chromely
- neutralinojs
Getting started
There's no need to download this repository to use Lara, instead, there's a NuGet package.
To start, create a new project and add the NuGet package Integrative.Lara
. In Visual Studio go to Tools -> NuGet Package Manager -> Manage NuGet packages for Solution, then search for the package 'Integrative.Lara'.
In your project, copy and paste the sample application.
This repository contains a sample project.
The wiki has the documentation for using Lara.
How does Lara work?
Whenever the browser triggers a registered event (e.g. click on a button), it sends to the server a message saying that the button was clicked. The server executes the code associated with the event, manipulating the server's copy of the page, and replies a JSON message with the delta between server and client.
The source code contains a sample project. The documentation is available in the wiki.
How to contribute
Please send feedback! Issues, questions, suggestions, requests for features, and success stories. Please let me know by either opening an issue or by direct message. Thank you!
If you like Lara, please give it a star - it helps!
Credits
Thanks to JetBrains for the licenses of Rider and DotCover.
*Note that all licence references and agreements mentioned in the Lara README section above
are relevant to that project's source code only.