- .NET Core GUI
- Содержание
- Avalonia [ править ]
- Ссылки [ править ]
- SpaceVIL [ править ]
- Eto.Forms [ править ]
- GtkSharp [ править ]
- Настройка рабочего места .Net Core разработчика в Alt Linux
- Развертывание Alt Linux
- Разворачивание инструментария .Net core
- Развертывание редактора Visual Studio Code
- Вместо заключения
- Установка .NET в Linux
- Неподдерживаемые выпуски
- Установка вручную
- Установка предварительных версий
- Alpine
- CentOS
- Debian
- Fedora
- openSUSE
- Red Hat
- Ubuntu
.NET Core GUI
Графический интерфейс для приложения на .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.
Источник
Настройка рабочего места .Net Core разработчика в Alt Linux
Опубликовано:
31 июля 2020 в 09:50
Многие разработчики и пользователи с насторожённостью относятся к Linux и ко всему, что с ним связано. Причина такого отношения – недостаточная осведомленность. Также распространено мнение, что Linux и ПО для него разрабатывается некими энтузиастами, которые создают ПО исключительно для решения своих небольших задач и такое ПО не подходит для использования в серьезных коммерческих проектах. На самом деле Linux дистрибутивы развивается и поддерживаются крупными организациями, которые зарабатывают на ОС Linux опосредовано, за счет оказания дополнительных (облачных и не только) услуг. Вспомним Canonical и их ОС Ubuntu, Red Hat с одноименным дистрибутивом.
В экосистеме Linux имеется множество специализированных программ для пользователей «среднего» и «продвинутого» уровня, многие из них прежде всего рассчитаны на ИТ-специалистов, поскольку продолжительное время Linux использовался в качестве надежной серверной ОС и ОС для встраиваемого оборудования. Для Linux пока еще не хватает приложений для так называемых «просьюмеров» — пользователей-непрофессионалов, которые покупают программы профессионального уровня (Adobe Premiere, Final Cut Pro, Photoshop, CAD-системы и прочие), но ситуация постепенно изменяется и производители ПО начинают выпускать версии своих профессиональных приложений для Linux. Для разработчиков на Linux уже в настоящее время открыты огромные возможности, начиная от набора всевозможных специализированных инструментов, которые при желании можно доработать для своих нужд, до различных удобных (и не очень) IDE для работы с разными языками программирования.
В данной статье рассмотрим вариант быстрой настройки рабочего места разработчика .Net core на Alt Linux Workstation.
Развертывание Alt Linux
В качестве системы был выбран Alt Linux Workstation 9.0, прежде всего, чтобы учесть вектор развития в сторону импортозамещения. Вы можете использовать тот дистрибутив, который вам будет наиболее знаком.
На официальном сайте Microsoft представлен список поддерживаемых дистрибутивов Linux и их версий: https://docs.microsoft.com/ru-ru/dotnet/core/install/linux.
Дистрибутив был скачан с помощью торрент-треккера, файлы для треккера можно взять на официальном сайте https://torrent.altlinux.org/.
При развертывании ОС был приятно удивлен, т.к. действий от пользователя требуется минимум, достаточно выполнить ряд простых шагов. Установка выполняется быстро, интуитивно понятно, практически не отличается развёртывания ОС Windows:
1. Выполнение языковой настройки.
2. Укажите региональные настройки.
3. Выполните разметку диска.
На этом пункте необходимо остановиться и подумать, какие разделы и для чего нам будут нужны.
Мы планируем выполнять разработку, при этом наша разработка не должна влиять на ОС, поэтому примем, что разработку мы будем вести только в домашнем каталоге пользователя, а домашний каталог (каталог /home) вынесем на отдельный раздел, чтобы мы ни при каких обстоятельствах мы не могли занять дисковое пространство, необходимое для ОС. Во многих статьях в Интернет рекомендуют вынести каталог /var на отдельный раздел, т.к. в этом каталоге хранится дополнительное установленное ПО и лог-файлы приложений. В нашем случае, мы не знаем, сколько нам потребуется места для /var, будем считать, что выделяемого пространства под систему и приложения мы заложили достаточно, поэтому ограничимся только вынесением каталога /home на отдельный раздел.
Выберем ручную настройку разделов:
Создадим новую таблицу разделов:
Не забывайте про раздел SAWP, этот раздел необходим для хранения дампов виртуальной памяти приложений, обычно примерно вдвое превосходящий по размеру объём оперативной памяти. По данному разделу есть неплохая статья, на рекомендации по которой можно ориентироваться: https://liberatum.ru/e/linux-optimal-swap-size.
4. Выберем состав необходимого ПО. Оставим только нужное.
5. Дождаться завершения установки ОС.
6. Подтвердить установку загрузчика Linux на основную загрузочную запись диска.
7. Выполнить настройку сетевого адаптера.
В данном случае оставим все по умолчанию. При разворачивании на вашем рабочем месте, необходимо уточнить сетевые настройки у системных инженеров вашей компании. В любом случае сетевые настройки можно изменить после развертывания ОС.
8. После настройки учетных записей, установка ОС будет завершена.
Разворачивание инструментария .Net core
Прежде всего необходимо установить обновления ОС. Все действия по установке и настройке системы будем выполнять под учетной записью root (суперпользователь ОС, обладающий максимальными правами).
Запускаем эмулятор терминала Konsole (из комплекта поставки) и начинаем выполнять настройку рабочего места.
Для разработки на .Net core потребуется установить мета-пакет dotnet и SDK-пакет dotnet-sdk:
Пакеты разработки установлены, можно начинать создавать первую программу.
Под обычным пользователем перейдем в домашний каталог пользователя и создадим специальный каталог для разработки /projects.
Перейдем в каталог для проектов и создадим первое консольное приложение (проект).
После выполнения команды, был сформирован каталог с консольным приложением. Внутри каталога располагается файл Program.cs, в котором можно увидеть исходный код нашего тестового проекта.
Для того, чтобы скомпилировать и выполнить проект, необходимо перейти в каталог проекта и выполнить команду dotnet run.
После выполнения команды в папке bin/Debug/netcore3.1/ будет сформирован исполняемый файл приложения, которое можно запустить, как любой другой исполняемый файл в Linux:
Развертывание редактора Visual Studio Code
Для удобства ведения разработки необходимо развернуть специализированное IDE для работы с C#. Специализированое IDE позволит повысить удобство разработки и значительно сократить время, требуемое на разработку за счет автоматических подстановок элементов кода и подсказок. Будем использовать специальный инструмент Visual Studio Code, который рекомендуется Microsoft для работы с .Net core.
Для Alt Linux инструмент Visual Studio Code поставляется вместе с пакетом code.
После установки пакета, в системе появится редактор Visual Studio Code (Text Editor), который можно запустить из меню приложений:
Для работы с C# в Visual Studio Code необходимо установить расширение C# for Visual Studio Code, которое включает в себя инструменты для удобной разработки на .Net core, подсветку синтаксиса для C#, а также обеспечивает поддержку отладки .Net core. Подробнее про расширение можно почитать на странице этого расширения https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp.
Установку расширения можно выполнить прямо в редакторе:
Запустим IDE и откроем папку нашего проекта.
В редакторе вы можете быстро переключаться между файлами проекта, создавать новые файлы проекта и папки.
На вкладке TERMINAL удобно вызывать процесс сборки и выполнения приложения.
Вместо заключения
Как видим процесс подготовки рабочего места разработчика .net core на Linux довольно простой, вся настройка по данной статье занимает примерно 45 мин, при этом основное время приходится время установки ОС Linux.
Также мы разработали тестовую программу и запустили ее в рамках редактора Visual Studio Code.
В следующей статье попробуем написать простой микросервис, который сможет выполнять некоторые полезные действия.
Источник
Установка .NET в Linux
Платформа .NET доступна в различных дистрибутивах Linux. Для большинства платформ и дистрибутивов Linux разработчики каждый год публикуют основной выпуск. В большей части таких выпусков есть диспетчер пакетов, который используется для установки .NET. В этой статье приведены сведения о поддержке и об используемом диспетчере пакетов.
В остальной части этой статьи содержится конкретная информация по каждой из основных версий дистрибутивов Linux, которые поддерживает .NET. Все выпуски .NET поддерживаются до того же времени, что и версии .NET или дистрибутива Linux.
Для максимальной совместимости выберите версию LTS.
Неподдерживаемые выпуски
Следующие версии .NET больше не поддерживаются (❌). (но остаются доступными для скачивания):
Такие неподдерживаемые версии не описаны в приведенных ниже разделах. Поэтому, если вы попытаетесь установить их, полученные вами результаты могут отличаться от указанных.
Установка вручную
Если вы не хотите использовать диспетчер пакетов для установки .NET в Linux, можно установить .NET одним из следующих способов:
На странице, посвященной дистрибутиву, обязательно просмотрите дополнительные сведения о необходимых зависимостях, которые могут отсутствовать при установке вручную.
Установка предварительных версий
Предварительные версии и релиз-кандидаты .NET недоступны в диспетчере пакетов. Вы можете установить предварительные версии и релиз-кандидаты .NET вручную.
Alpine
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Alpine, в которых они поддерживаются. Эти версии поддерживаются до окончания поддержки версии .NET либо до окончания жизненного цикла версии Alpine.
- Значок ✔️ означает, что версия Alpine или .NET поддерживается.
- Значок ❌ означает, что версия Alpine или версия .NET в таком выпуске Alpine не поддерживается.
- Если значок ✔️ стоит как напротив версии Alpine, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Alpine | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 3.13 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.12 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.11 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 3.10 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 3.9 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 3.8 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Alpine.
CentOS
CentOS 7 использует Yum в качестве диспетчера пакетов, а CentOS 8 использует DNF.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET в CentOS 7 и CentOS 8. Эти версии поддерживаются до того же времени, что и версия .NET или CentOS.
CentOS | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 8 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 7 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в CentOS.
Debian
Debian использует APT (Advanced Package Tool) в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Debian, в которых они поддерживаются. Эти версии поддерживаются до того же времени, что и версия .NET или Debian.
- Значок ✔️ означает, что версия Debian или .NET поддерживается.
- Значок ❌ означает, что версия Debian или версия .NET в таком выпуске Debian не поддерживается.
- Если значок ✔️ стоит как напротив версии Debian, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Debian | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 11 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 9 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 8 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Debian.
Fedora
Fedora использует DNF в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Fedora, в которых они поддерживаются. Эти версии поддерживаются до того же времени, что и версия .NET или Fedora.
- Значок ✔️ означает, что версия Fedora или .NET поддерживается.
- Значок ❌ означает, что версия Fedora или версия .NET в таком выпуске Fedora не поддерживается.
- Если значок ✔️ стоит как напротив версии Fedora, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Fedora | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 34 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 33 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 32 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 31 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 30 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 29 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 28 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 27 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Fedora.
openSUSE
openSUSE использует zypper в качестве диспетчера пакетов.
В следующей таблице приведен список выпусков .NET, которые сейчас поддерживаются в openSUSE 15. Эти версии поддерживаются до тех пор, пока для версии .NET или версии openSUSE не будет прекращена поддержка.
openSUSE | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 15 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в openSUSE.
Red Hat
Red Hat Enterprise Linux (RHEL) использует yum (RHEL 7) и DNF (RHEL 8) в качестве диспетчера пакетов.
В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET в RHEL 7 и RHEL 8. Эти версии поддерживаются до того же времени, что и версия .NET или RHEL.
- Значок ✔️ означает, что версия RHEL или .NET поддерживается.
- Значок ❌ означает, что версия RHEL или версия .NET в таком выпуске RHEL не поддерживается.
- Если значок ✔️ стоит как напротив версии RHEL, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
RHEL | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 8 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 7 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в RHEL.
SLES использует zypper в качестве диспетчера пакетов.
В следующей таблице приведен список выпусков .NET, которые сейчас поддерживаются в SLES 12 SP2 и SLES 15. Эти версии поддерживаются до тех пор, пока для версии .NET или версии SLES не будет прекращена поддержка.
- Значок ✔️ означает, что версия SLES или .NET поддерживается.
- Значок ❌ означает, что версия SLES или версия .NET в таком выпуске SLES не поддерживается.
- Если значок ✔️ стоит как напротив версии SLES, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
SLES | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 15 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 12 SP2 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в SLES.
Ubuntu
Ubuntu использует APT (Advanced Package Tool) в качестве диспетчера пакетов.
В приведенной ниже таблице содержатся сведения о поддержке Ubuntu и .NET.
- Значок ✔️ означает, что версия Ubuntu или .NET поддерживается.
- Значок ❌ означает, что версия Ubuntu или версия .NET в таком выпуске Ubuntu не поддерживается.
- Если значок ✔️ стоит как напротив версии Ubuntu, так и напротив версии .NET, это значит, что такое сочетание ОС и .NET поддерживается.
Ubuntu | .NET Core 2.1 | .NET Core 3.1 | .NET 5.0 |
---|---|---|---|
✔️ 21.04 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 20.10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
✔️ 20.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 19.10 | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 19.04 | ✔️ 2.1 | ✔️ 3.1 | ❌ 5.0 |
❌ 18.10 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
✔️ 18.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
❌ 17.10 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 17.04 | ✔️ 2.1 | ❌ 3.1 | ❌ 5.0 |
❌ 16.10 | ❌ 2.1 | ❌ 3.1 | ❌ 5.0 |
✔️ 16.04 (LTS) | ✔️ 2.1 | ✔️ 3.1 | ✔️ 5.0 |
Дополнительные сведения см. в статье об установке .NET в Ubuntu.
Источник