.NET Core GUI: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показаны 3 промежуточные версии 2 участников)
Строка 17: Строка 17:
* [https://github.com/dotnet/wpf/issues/48 Обсуждение на github — Make WPF cross-platform (MacOS and Linux support)]
* [https://github.com/dotnet/wpf/issues/48 Обсуждение на github — Make WPF cross-platform (MacOS and Linux support)]


=== SpaceVIL ===
https://spvessel.com/
SpaceVIL основан на OpenGL и кроссплатформенной библиотекой GLFW.
Особенности - высокая производительность и идентичность поддержки как dotnet, так и jvm.
=== Eto.Forms ===
https://github.com/picoe/Eto
A cross platform desktop and mobile user interface framework
Похож по на gtk но с уклоном на простоту WinForms. Пытается определить платформу и в зависимости от этого(подобно авалония) выбирает графическую библиотеку (gtk2, gtk, WinForms и т.д.).
=== GtkSharp ===
GtkSharp is a C# wrapper for Gtk and its related components. The component list includes the following libraries: glib, gio, cairo, pango, atk, gdk.
Target framework Target Gtk Version Extra notes
GtkSharp .NET Standard 2.0 Gtk 3.22 Does not need glue libraries.
https://github.com/GtkSharp/GtkSharp
[[Категория: .NET]]
[[Категория: .NET]]

Текущая версия от 04:24, 10 января 2020

Графический интерфейс для приложения на .NET Core может быть реализован следующими способами:

  • Создание приложения в модели ASP.NET Core и отображения клиенту интерфейса через произвольный браузер;
  • Использование Electron для отображения интерфейса. Это придаст приложению свойства десктопности (отдельность в панели задач, нахождение в трее при необходимости, взаимодействие с операционной системой);
  • Использование Avalonia (свободный межплатформенный GUI для .NET);
  • Использование проекта electron-edge, выполняющего .NET и Node.js в одном процессе в Electron. На данный момент проект поддерживает только старую версию .NET Core 1.0 и не рассматривается.
  • Использование связки с одной из существующих библиотек:

Avalonia

Avalonia – свободный кроссплатформенный GUI-фреймворк для .NET, способный работать под .NET Core, который доступен под Linux. Avalonia во многом похож на WPF, использует XAML и подразумевает использование MVVM-архитектуры приложений, но при этом не привязан к Windows-платформе и Microsoft. Avalonia работает не только на десктопе (Linux, Windows, MacOS), но и на мобильных устройствах (Android, iOS). Фреймворк имеет свой набор GUI-элементов, которые одинаково выглядят на всех системах.

Фреймворк пока что находится в alpha-версии, но он активно развивается и выглядит довольно перспективным решением для создания кроссплатформенных графических приложений. Его важным преимуществом является сходство с WPF, вплоть до использования тех же XAML-файл с описанием интерфейса, что упрощает портирование существующих WPF-приложений.

Ссылки

SpaceVIL

https://spvessel.com/ SpaceVIL основан на OpenGL и кроссплатформенной библиотекой GLFW. Особенности - высокая производительность и идентичность поддержки как dotnet, так и jvm.

Eto.Forms

https://github.com/picoe/Eto A cross platform desktop and mobile user interface framework Похож по на gtk но с уклоном на простоту WinForms. Пытается определить платформу и в зависимости от этого(подобно авалония) выбирает графическую библиотеку (gtk2, gtk, WinForms и т.д.).

GtkSharp

GtkSharp is a C# wrapper for Gtk and its related components. The component list includes the following libraries: glib, gio, cairo, pango, atk, gdk.

	Target framework 	Target Gtk Version 	Extra notes

GtkSharp .NET Standard 2.0 Gtk 3.22 Does not need glue libraries. https://github.com/GtkSharp/GtkSharp