LINUX.ORG.RU

Где разрабатывать оконные приложения на c#

 , ,


0

2

Мне нужно быстро сделать оконное приложение на с#. Удобнее всего использовать для этого Visual Studio, так как по ней много гайдов и есть встроенная программа для того, чтобы в визуальном режиме размещать на окне кнопки, text area и т.д. Но на ubuntu я не могу установить Visual Studio. Чем можно заменить её или какие ещё есть способы сделать быстро не очень сложную форму? Wine отказался устанавливать по причине отсутствия dotnet в системе.

До этого писал приложения которые не требовали оконного интерфейса с помощью такой штуки: ссылка на сайт и VsCode

Ps

Прошу не давать советы по типу: "установи windows"или «накати на флешку, второй диск, виртуальную машину и т.д». Хочу обойтись без windows


не покатит нативно винформ, потребуется фрэймворк

AvaloniaUI - говорят стал хорош, но сам я палочкой не тыкал

Morin ★★★★
()

есть способы сделать быстро не очень сложную форму?

Выучить программирование, и набросать в конструкторе класса формы элементов в Controls.

Визуальный дизайнер не нужен…

fsb4000 ★★★★★
()

Месье знает толк… Ну серьезно, ты хочешь взять язык, разработка на котором заточена в основном под винду и лабать для линукс.

rumgot ★★★★★
()
Ответ на: комментарий от fernandos

Я даже не могу создать приложение с winforms

dionysus@silenus:~/Documents/univ/dotnet/tasks$ dotnet new --list
Template Name                Short Name      Language    Tags                  
---------------------------  --------------  ----------  ----------------------
Console Application          console         [C#],F#,VB  Common/Console        
Class library                classlib        [C#],F#,VB  Common/Library        
Worker Service               worker          [C#],F#     Common/Worker/Web     
MSTest Test Project          mstest          [C#],F#,VB  Test/MSTest           
NUnit 3 Test Item            nunit-test      [C#],F#,VB  Test/NUnit            
NUnit 3 Test Project         nunit           [C#],F#,VB  Test/NUnit            
xUnit Test Project           xunit           [C#],F#,VB  Test/xUnit            
Razor Component              razorcomponent  [C#]        Web/ASP.NET           
Razor Page                   page            [C#]        Web/ASP.NET           
MVC ViewImports              viewimports     [C#]        Web/ASP.NET           
MVC ViewStart                viewstart       [C#]        Web/ASP.NET           
Blazor Server App            blazorserver    [C#]        Web/Blazor            
Blazor WebAssembly App       blazorwasm      [C#]        Web/Blazor/WebAssembly
ASP.NET Core Empty           web             [C#],F#     Web/Empty             
ASP.NET Core Web App (Mo...  mvc             [C#],F#     Web/MVC               
ASP.NET Core Web App         webapp          [C#]        Web/MVC/Razor Pages   
ASP.NET Core with Angular    angular         [C#]        Web/MVC/SPA           
ASP.NET Core with React.js   react           [C#]        Web/MVC/SPA           
ASP.NET Core with React....  reactredux      [C#]        Web/MVC/SPA           
Razor Class Library          razorclasslib   [C#]        Web/Razor/Library     
ASP.NET Core Web API         webapi          [C#],F#     Web/WebAPI            
ASP.NET Core gRPC Service    grpc            [C#]        Web/gRPC              
dotnet gitignore file        gitignore                   Config                
global.json file             globaljson                  Config                
NuGet Config                 nugetconfig                 Config                
Dotnet local tool manife...  tool-manifest               Config                
Web Config                   webconfig                   Config                
Solution File                sln                         Solution              
Protocol Buffer File         proto                       Web/gRPC              

dionysus@silenus:~/Documents/univ/dotnet/tasks$ 

Тут такого нет

А если делать с нуля боюсь что потрачу кучу времени, в таком случае тогда реально лучше поставить виртуалку с виндой

mayar
() автор топика
Ответ на: комментарий от rumgot

Я понимаю, что это извращение. Но мне по универу надо сделать такое задание. При чём оно последнее и я не хочу ради этого делать лишние телодвижения.

mayar
() автор топика
Ответ на: комментарий от mayar

Винформы из .нет фреймворка, который ограничен виндой.

Если вы хотите использовать их на других платформах, то вам к моно.

fernandos ★★★
()

Погуглил про mono develop. Возможно это то что нужно. Спасибо за совет

mayar
() автор топика
Ответ на: комментарий от fernandos

Я конечно к C# никакого отношения не имею, но разве качество библиотек Mono соответствует качеству исходных стандартных виндовых реализаций?

rumgot ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Проблема-то в вас.

Удобнее всего использовать для этого Visual Studio, так как по ней много гайдов и есть встроенная программа для того, чтобы в визуальном режиме размещать на окне кнопки, text area и т.д.

Это объяснение, чего удобнее всего использовать ВС.

fernandos ★★★
()
Ответ на: комментарий от fernandos

Тебе говорят, что удобнее и просят предложить аналог, чтобы быстро нафигачить приложение, а ты предлагаешь то, что не удобно заведомо. Бестолковая нейронка.

WitcherGeralt ★★
()
Ответ на: комментарий от rumgot

Моно — реализация .нет фреймворка, который отошёл на второй план после начала развития кроссплатформенной и свободной .нет кор, которая теперь расширена до просто .нет.

fernandos ★★★
()
Ответ на: комментарий от WitcherGeralt

Вы начнёте думать или всё же продолжите глупо игнорировать здравый смысл?

Аналога чтобы «кнопочки двигать» попросту нет.

fernandos ★★★
()
Ответ на: комментарий от ox55ff

Если можно будет там запустить оконное приложение то это будет чудесно!

С лицензионкой нет проблем

mayar
() автор топика
Ответ на: комментарий от WitcherGeralt

Уже дошло, что вы в теме не разбираетесь.

Есть причина, почему тормозное ИДЕ типа ВС кто-то использует, оно имеет ряд первоклассных фич, заменить его полностью невозможно. Самое близкое, что есть — вскод, райдер или вим, нашпигованный расширениями.

fernandos ★★★
()
Ответ на: комментарий от mayar

Для linux тебе скорее всего понадобится avalonia ui. Там типа wpf, но кроссплатформенное. И я слышал, что в rider добавили поддержку авалонии.

ox55ff ★★★★★
()
Ответ на: комментарий от fernandos

Нейрошланг разбушевался.

Аналога чтобы «кнопочки двигать» попросту нет

Это есть ответ, а предложение вима — это просто тупой флуд.

Только и этот ответ неверный. ТС не уточнил целевую платформу. Под линукс есть визуальный редактор для GTK в MonoDevelop.

WitcherGeralt ★★
()
Ответ на: комментарий от mayar

Вы вообще понимаете, что оно запускается не в редакторе кода?

Для запуска приложения под .нет нужен рантайм.

Для winforms — моно.

Есть ещё avalonia и практически стабилизированный MAUI.

fernandos ★★★
()
Ответ на: комментарий от fernandos

В теме чего?

Давай ты постараешься и будешь писать более связные высеры? Рассмотри, пожалуйста, это предложение всерьёз.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Какой флуд, ну что вы вообще несёте?

Это есть ответ, а предложение вима — это просто тупой флуд.

Человеку надо быстро написать приложение написать приложение на c#, для этого, внезапно, подходит вим.

ТС не уточнил целевую платформу

Не платформу, а тулкит. Судя по тому, что это задание по универу, то, вероятно, нужно использовать винформы.

Под линукс есть визуальный редактор для GTK в MonoDevelop

Который гткшарп? Мертворождённый, уже лет 6 как не развивается. Несколько лет назад его установка на винде просто не работала.

fernandos ★★★
()

Вроде можно в моно. Но вот насколько результат будет аналогичен тому, что у тебя получилось бы в шинде, это я не знаю. Ну и что оно потом будет работать как надо.

Так что да, иди в винду.

Zhbert ★★★★★
()
Ответ на: комментарий от fernandos

Какой флуд, ну что вы вообще несёте?

Тот, что ты изливаешь.

Человеку надо быстро написать приложение написать приложение на c#, для этого, внезапно, подходит вим

Спорим что ТС и без тебя прекрасно знает о существовании вим?

его установка на винде

ТС не уточнил целевую платформу

🤦‍♀️

WitcherGeralt ★★
()
Ответ на: комментарий от fernandos

Для winforms — моно.

И потом собранный экзешник запустится в винде просто банальным двойным кликом (при условии наличия нужной версии дотнета) и будет просто работать?

Zhbert ★★★★★
()
Последнее исправление: Zhbert (всего исправлений: 1)

Всем большое спасибо за помощь в этом вопросе!

Установил и создал проект с avalonia используя эти команды:

git clone https://github.com/AvaloniaUI/avalonia-dotnet-templates.git
dotnet new --install /path/avalonia-dotnet-templates/

dotnet new avalonia.mvvm -o ProgramName

Запускаю с помощью

dotnet run

Так что магия от ide на которую я расчитывал, чтобы создать приложение, которое будет запускаться и работать не понадобилась

Единственное, что нельзя натыкать кнопки на форме, но наверное я обойдусь xml.

Работать буду дальше в VsCode.

mayar
() автор топика
Ответ на: комментарий от fernandos

Моно — реализация .нет фреймворка,

Ну то есть это не то же самое, что сам дотнет. Вопрос - написанное под него приложение будет точно так же работать и под дотнетом в винде? Или возможны сюрпризы? (Ну ты же в курсе, что на плюсах, например, можно собрать так, что в одной системе будет работать, а в другой сегфолтиться? Да даже пофиг, в режиме «дебаг» будет работать, а в «релизе» сегфолт)

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

И потом собранный экзешник запустится в винде просто банальным двойным кликом (при условии наличия нужной версии дотнета) и будет просто работать?

Да. Запустится 100%.

Хотя шрифты разные и если мне память не изменяет, то дефолтные значения некоторых параметров тоже разные. Так что лучше потестить как будет выглядеть приложение под Windows. Но в целом должно быть норм…

fsb4000 ★★★★★
()
Ответ на: комментарий от Zhbert

Ну если речь конкретно про мой вопрос, то мне всё равно где оно будет ещё работать или не работать)

Я со своего компа буду показывать проект и мне главное чтобы у меня локально всё работало

Про winforms писал по тому, что не знал про существование avalonia а так выбор библиотеки для gui тоже не важен

mayar
() автор топика
Ответ на: комментарий от mayar

Но мне по универу надо сделать такое задание. При чём оно последнее и я не хочу ради этого делать лишние телодвижения.

А вот тут я бы не твоем месте еще раз все уточнил. Может статься, что преподу нужен проект от вижуалстудии для зачета, и никаких монодевелопов он не знает и знать не хочет. Ну по аналогии с doc. Обидно будет сделать и не защититься. Может, было бы разумнее виртуалка+студия (если комп вывезет, конечно).

Zhbert ★★★★★
()
Ответ на: комментарий от mayar

Ну если речь конкретно про мой вопрос, то мне всё равно где оно будет ещё работать или не работать)

Да нет, я скорее теоретически. Просто дотнет последний раз щупал просто по фану лет 15 назад, тогда с ним в пингвине все печально было.

Zhbert ★★★★★
()
Ответ на: комментарий от fsb4000

Хотя шрифты разные и если мне память не изменяет, то дефолтные значения некоторых параметров тоже разные. Так что лучше потестить как будет выглядеть приложение под Windows. Но в целом должно быть норм…

Ну вот и я о том же примерно. О сюрпризах, которые вылезут там, где не ждал, вероятность чего достаточно велика, если не тестить на винде.

Zhbert ★★★★★
()
Ответ на: комментарий от mayar

Нее, всё порядке, препод нормально отнесётся к этому

Тогда удачи =)

Zhbert ★★★★★
()

Ничем. Всё равно виндовый gui на C# в Linux-е работает, скажем так, весьма ограниченно и через дикие костыли. А для всяких Avalonia которые везде работают вообще не завезли формошлёпство (может в Rider что-то и есть, но стоит этот Rider довольно дорого и на побаловаться или писать опенсорс я бы его не брал).

peregrine ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Спорим что ТС и без тебя прекрасно знает о существовании вим?

Речь про то, что там можно писать приложения на с#.

fernandos ★★★
()
Ответ на: комментарий от WitcherGeralt

Спорим что ТС и без тебя прекрасно знает о существовании вим?

Либо наоборот - впервые слышит, и тогда советовать ему вим тот еще тупак (хотя тут так и принято).

Zhbert ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.