.NET Core GUI: различия между версиями
Нет описания правки |
|||
(не показаны 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 и не рассматривается.
- Использование связки с одной из существующих библиотек:
- Qt
- libui, реализующей GUI нативными средствами на каждой платформе (похожа на упрощённый wxWidgets):
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