Skip to content
Build HTML Desktop Apps on .NET/.NET Core using native GUI, HTML5, JavaScript, CSS
C# HTML Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Demos
Screenshots .NET Core 3 + Mac Support implementation. Nov 11, 2019
binaries update WithHostMode and WithHostBounds documentation Oct 25, 2019
nugets Add files via upload Aug 5, 2019
src DefaultResourceSchemeHandler: Empty files are stuck "Pending" #134 Nov 8, 2019
src_netcore3 .NET Core 3 + Mac Support implementation. Nov 17, 2019
.gitignore Added *.DotSettings to git ignore Feb 9, 2019
CreateNugetSpecs.ps1 Added PowerShell Scripts Mar 19, 2019
GetPackageVersion.ps1 Added PowerShell Scripts Mar 19, 2019
LICENSE Update LICENSE Jan 19, 2019
LICENSE.md Updated license info. Nov 27, 2018
README.md Update README.md Nov 11, 2019
ReleaseNotes.md Ensured all versions are 0.9.3, copyright 2019. Typo UseDefaiultJsHan… Apr 15, 2019

README.md

Chromely

Chromely is a lightweight alternative to Electron.NET, Electron for .NET/.NET Core developers.

Chromely is a .NET/.NET Core HTML5 Chromium desktop framework. It is focused on building apps based on Xilium.CefGlue, CefSharp implementations of embedded Chromium (CEF) without WinForms or WPF. Chromely uses Windows and Linux native GUI API as "thin" chromium hosts. It can be extended to use WinForms or WPF.

With Chromely you can build Single Page Application (SPA) HTML5 desktop apps with or without Node/npm. Building SPA apps using javascript frameworks like Angular, React, Vue or similar is easy. You can use Visual Studio Code or any IDE you are familiar with as long as Chromely knows the entry html file from the compiled/bundled files. For more info please see - Chromely-Apps.

Options of communicating (IPC) with rendering process are via:

  1. .NET/Javascript integration (CefSharp) - more info @ Expose .NET class to JavaScript.
  2. Generic Message Routing (Xilium.CefGlue) - more info @ Generic Message Routing.
  3. Ajax HTTP/XHR (Xilium.CefGlue, CefSharp) - more info @ Custom Scheme Handling.
  4. Real-time with Websocket (ws) (Xilium.CefGlue) - more info @ Real-time with Websocket.

Roadmap & Help Wanted

If you like Chromely, please give it a star - it helps!

Have a quick question? Wanna chat? Connect on Join the chat at https://gitter.im/chromely_/Lobby

Have an app/project/tool using Chromely - please share!

Platforms

Cross-platform - Windows, Linux. Built on CefGlue, CefSharp, NET Standard 2.0, .NET Core 2.0, .NET Framework 4.61 and above.

Platform CefGlue.Winapi CefGlue.Gtk CefSharp.Winapi
Windows(1) 32-bit net461, netstandard2.0 net461, netstandard2.0 net461
Windows(1) 64-bit net461, netstandard2.0 --- ---
Linux(2) 32-bit --- netstandard2.0 ---
Linux(2) 64-bit --- netstandard2.0 ---
MacOSX(3) 64-bit --- --- ---
Linux ARM(4) --- netstandard2.0 ---

 (1)  Windows 7, Service Pack 1 and newer
 (2)  Ubuntu 16.04 and newer
       (Mono currently not working, window resizing not working)
 (3)  Work in progress...
 (4)  i.e. Raspberry Pi 3+
       (manual download of CEF builds for ARM available on http://chromely.org/cefbuilds/index.html)

For more info/documentation, please check Chromely wiki.

Chromely.Core Chromely.CefGlue.Winapi Chromely.CefSharp.Winapi Chromely.Unofficial.CefGlue.NetStd

Chromely + Angular
Chromely + React
Chromely + Vue

Demo Code

Get started with the demos.

Creating a Simple App (Using CefGlue with Winapi host)

For more info see - Getting Started

Notes on Upgrade to CefGlue version 70 and CefSharp version 71 (Chromely v4) - Please see.

class Program
{
   static int Main(string[] args)
   {
      var startUrl = "https://google.com";

      var config = ChromelyConfiguration
                     .Create()
                     .WithHostMode(WindowState.Normal)
                     .WithHostTitle("chromely")
                     .WithHostIconFile("chromely.ico")
                     .WithAppArgs(args)
                     .WithHostBounds(1000, 600)
                     .WithStartUrl(startUrl);

      using (var window = ChromelyWindow.Create(config))
      {
         return window.Run(args);
      }
  }
}

Run Starter Template (Using dotnet core cli). For more info, please see - dotnet cli demo template install

dotnet new -i "Chromely.CefGlue.Win.Template::*"
dotnet new chromelywin 
dotnet restore
dotnet chromelycef.dll download v70 --cpu=x64 --dest="bin\Debug\netcoreapp2.1"
dotnet build
dotnet run 

Chromely Demos

For more info on demos - Demos

References

Contributing

Contributions are always welcome, via PRs, issues raised, or any other means. To become a dedicated contributor, please contact the Chromely team or raise an issue mentioning your intent.

License

Chromely is MIT licensed. For dependency licenses please see.

Credits

Thanks to JetBrains for the OSS license of Resharper Ultimate.

Improved and optimized using:

Resharper logo

You can’t perform that action at this time.