Chromely Versions Save

Build Cross Platform HTML Desktop Apps on .NET using native GUI, HTML5, JavaScript, CSS, Owin, AspNetCore (MVC, RazorPages, Blazor)

v5.1

3 years ago
  - Upgrade to v5.1 - https://github.com/chromelyapps/Chromely/issues/225.
  - Fixes for Fullscreen/Kiosk modes - https://github.com/chromelyapps/Chromely/commit/b383c3f6e165895f8a216e50ba551a6e26c0a65a
  - Adding a configurable option - UseOnlyCefMessageLoop - https://github.com/chromelyapps/Chromely/commit/df44870ad1928fb95badae7b8c4be7c65f4d5b92

v5.0.0.6

3 years ago

Last release before v5.1.

v5.0.0

4 years ago

Chromely v5: A true cross-platform solution.

Chromely has been migrated to .NET Core 3 and now natively supports Windows, Linux and MacOS.

Please see our new and improved Wiki for additional information about Chromely.

Overview

Projects Structure

All projects are now .NET Standard 2.0

  • Chromely.Core - no dependencies.
  • Chromely.CefGlue - depends on Chromely.Core and embeds CefGlue source code and CefGlue default handlers.
  • Chromely - primary - depends on Chromely.CefGlue and includes native gui implementation for Win, Linux and MacOS. All other non-CefGlue customization will be done here.

New Features

Fixes

  • Fixed WinAPIHost not respecting WindowTitle (Windows)
  • ToolTips (html-title) working and positioned correctly. (Linux)

Deprecation & Discontinued

  • Winapi was removed in favour of .NET Core 3. Win32 pinvoke functionalities will be sourced in pinvoke.net, shintadono's Win32 and other MIT licensed projects.
  • CefSharp is no longer supported.
  • Default Sup-process was removed for Windows. Sub-process is configurable and developers who need it can include sub-process fullpath in configuration.
  • Real-time with Websocket server was removed.

Quick migration Guide

This guide provides an introduction to Chromely 5 and a set of guidelines to migrate from v4.x to v5.x.

Important upgrade information

  • Chromely removed the support for CefSharp, existing CefSharp projects will need to be migrated to CefGlue.
  • A Chromely project now requires either .NET Core 3.0 or .NET Framework 4.6.1 and above.

Please see our new and improved Wiki and Demo Projects for additional information on how to create a new project.

Setting up a Chromely application

Chromely v4 (before)

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

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

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

Chromely v5 (now)

class Program
{
   static int Main(string[] args)
   {
            AppBuilder
                .Create()
                .UseApp<DemoChromelyApp>()
                .Build()
                .Run(args);
  }
}

Configuring a Chromely application

By default Chromely comes with its own default configuration. There are a few ways how you can configure Chromely. The example below overwrites the Default Configuration, this is the easiest way to configure Chromely.

Please see the wiki article about Configuration for other solutions on how to configure Chromely.

using Chromely.Core;
using Chromely.Core.Configuration;

namespace My_Chromely_App
{
    class Program
    {
        static void Main(string[] args)
        {
            // create a configuration with OS-specific defaults
            var config = DefaultConfiguration.CreateForRuntimePlatform();

            // your configuration
            config.StartUrl = "https://chromely.net/";
            config.WindowOptions.Title = "My Awesome Chromely App!";
            //..

            // application builder
            AppBuilder
            .Create()
            .UseApp<DemoChromelyApp>()
            .UseConfiguration<IChromelyConfiguration>(config)
            .Build()
            .Run(args);
        }
    }
}

As you can see from the example above, some settings have been regrouped. This makes it easier to find specific settings. E.g. WindowsSettings or CefDownloadOptions.

v4.0.0

5 years ago

v0.9.2

5 years ago

Chromely.Core

  • ChromelyConfiguration is now Singleton - only one instance per Chromely app.

Chromely.CefGlue

Chromely.CefSharp

Chromely.CefGlue.Gtk

  • First nuget release.
  • Added Maximize/Fullscreen functionalities.

v0.9.1

5 years ago

Chromely.Core

  • Websocket handler interface added.

Chromely.CefGlue


  • Changed menu context handler - devtool now only available during debug.
  • Changed menu context handler - creation of popup window removed.
  • Added frame handling - needed to run JavaScript methods. Chromely.CefGlue.Gtk

v0.9.0

6 years ago

Improved and optimized using ReSharper.

v0.9.0-beta03

6 years ago

Chromely.Core

  • Removed dependency on WinApi
  • Added DependecyCheck flag to ChromelyConfiguration (CefPerformDependencyCheck)

Chromely.CefGlue

  • Added support for Chromely.Unofficial.CefGlue.NetStd (CefGlue) >= 63.0.3239.132 version.
  • Added DependecyCheck flag to ChromelyConfiguration in Chromely.Core (CefPerformDependencyCheck)

Chromely.CefGSharp

  • Added support for CefSharp >= 63.0.0 version.
  • Added DependecyCheck flag to ChromelyConfiguration in Chromely.Core (CefPerformDependencyCheck)
  • This version still uses legacy .NET Javascript binding (LegacyJavascriptBindingEnabled = true)

v0.9.0-beta02

6 years ago
  • Removed dependency checks on CefSharp - was failing in debugging
  • Minor fixes
  • Improved documentation