Skip to content
This repository has been archived by the owner on Jan 15, 2023. It is now read-only.

Migration to .NET Core 3 and MacOS Support

mattkol edited this page Jan 16, 2020 · 15 revisions

Migration to .NET Core 3 and MacOS Support

.NET Core 3 is here! and we will be migrating Chromely to support .NET Core 3.

It is also time to re-evaluate Chromely - see areas of improvements, deprecation, discontinuation. The plan here is to make Chromely leaner and fully cross-platform - natively supporting Windows, Linux and MacOS.

This page will be continually updated based on feedbacks.

Below are main areas of focus. For comments, feedbacks please use issue #135 or gitter

Planned Projects Structure

All projects will be .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.

Planned New Features

Deprecation & Discontinued

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

Nice To Have

  • TODO

Running the Demos

Same for all platforms - Windows, Linux and MacOS

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

See - CrossDemo for more info. Tested on:

  • Windows - Windows 10 (x64)
  • Linux - Lint Mint Xfce (Ubuntu 18.04.3 LTS), Linux Mint 19.3 Tricia, Ubuntu 19.10 (x64)
  • MacOS - macOS Mojave 10.14.6

MacOS Screenshots