А что сейчас с кросплатформенным гуём, Win+Linux?
От: Sharowarsheg  
Дата: 30.07.19 20:41
Оценка:
Есть проект, не слишком большой, .NET c гуём на WinForms.

Версия .NET, по большому счёту, всё равно какая. Проект собирается с .NET 2.0 и не жужжит. Никаких фич от старших фреймворков не использует.

Имеющийся гуй не слишком сложный, combobox, listview, кнопки, да и всё. Никаких custom controls нет. Могу очень дёшево выкинуть имеющийся гуй и нарисовать такой же с применением любой другой технологии.

Хочется кроссплатформенный Windows-Linux гуй, не переписывая логику и не уходя от .NET.

Как бы к этому вопросу подойти?
Re: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Слава  
Дата: 30.07.19 20:58
Оценка:
Здравствуйте, Sharowarsheg, Вы писали:

S>Как бы к этому вопросу подойти?


Возьмите wxWidgets.
Re: А что сейчас с кросплатформенным гуём, Win+Linux?
От: bnk СССР http://unmanagedvisio.com/
Дата: 30.07.19 22:50
Оценка: 4 (1) +1
Здравствуйте, Sharowarsheg, Вы писали:

S>Имеющийся гуй не слишком сложный, combobox, listview, кнопки, да и всё. Никаких custom controls нет. Могу очень дёшево выкинуть имеющийся гуй и нарисовать такой же с применением любой другой технологии.

S>Хочется кроссплатформенный Windows-Linux гуй, не переписывая логику и не уходя от .NET.
S>Как бы к этому вопросу подойти?

Вообще WinForms в Mono должны более-менее "просто работать". Не вариант?
Re[2]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Sharowarsheg  
Дата: 31.07.19 01:29
Оценка:
Здравствуйте, bnk, Вы писали:

S>>Как бы к этому вопросу подойти?


bnk>Вообще WinForms в Mono должны более-менее "просто работать". Не вариант?


Да может и вариант, да.
Re: А что сейчас с кросплатформенным гуём, Win+Linux?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 31.07.19 01:42
Оценка:
Здравствуйте, Sharowarsheg, Вы писали:

S>Хочется кроссплатформенный Windows-Linux гуй, не переписывая логику и не уходя от .NET.

S>Как бы к этому вопросу подойти?

Эффективно только уйти с .NET и использовать C++. В GNU/Linux до какой-то степени можно использовать Wine. Mono мне думается лучше даже не рассматривать. Итого, ответ Wine, в противном случае смена языка и платформы.
Re[2]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Sharowarsheg  
Дата: 31.07.19 01:44
Оценка:
Здравствуйте, velkin, Вы писали:

V>Эффективно только уйти с .NET и использовать C++. В GNU/Linux до какой-то степени можно использовать Wine. Mono мне думается лучше даже не рассматривать. Итого, ответ Wine, в противном случае смена языка и платформы.


А что не так с Mono? Смены языка и платформы не хочется.
Re[3]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 31.07.19 02:06
Оценка: 4 (1)
Здравствуйте, Sharowarsheg, Вы писали:

S>А что не так с Mono? Смены языка и платформы не хочется.


Это нужно пробовать самому, тогда будет понятнее. Наверное это можно назвать моносовместимостью, то есть надо будет тестировать и переделывать приложение специально под Mono и не факт, что будет адекватно работать. В каком-то смысле проще тогда уж сразу уходить под кроссплатформенные фреймворки, вроде Qt и другие. В Wine будет гораздо меньше проблем, но нужно кое-что устанавливать, включая .NET. Здесь дело в соотношении усилие-результат, то есть стоит ли овчинка выделки. На мой взгляд для кроссплатформы не стоит, проще уж сразу переучиваться или запускать в GNU/Linux .NET-приложения как есть через Wine.
Re[4]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Sharowarsheg  
Дата: 31.07.19 02:09
Оценка:
Здравствуйте, velkin:

Понял, спасибо.
Re: А что сейчас с кросплатформенным гуём, Win+Linux?
От: SomeOne_TT  
Дата: 31.07.19 03:11
Оценка: 9 (2)
Здравствуйте, Sharowarsheg, Вы писали:

S>Хочется кроссплатформенный Windows-Linux гуй, не переписывая логику и не уходя от .NET.


S>Как бы к этому вопросу подойти?

То, что стоит посмотреть
Re: А что сейчас с кросплатформенным гуём, Win+Linux?
От: LaptevVV Россия  
Дата: 31.07.19 03:24
Оценка: 4 (1)
S>Хочется кроссплатформенный Windows-Linux гуй, не переписывая логику и не уходя от .NET.
Самое время попробовать NET Core.
А гуй — на чем-нить типа gtk,
Или просто переделать на веб-морду — не вариант?
Дотнетовского гуя просто не знаю под линух.
С++ных — вагон и маленькая телега.
Мож NET Core (бизнес-логика) + гуй на С++?
А моно — не вариант. У меня пацан восхищался, что при переносе 85% сразу работает.
Но оставшиеся 15% — это легче переписать с нуля...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Отредактировано 31.07.2019 6:09 LaptevVV . Предыдущая версия .
Re[2]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Sharowarsheg  
Дата: 31.07.19 03:27
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Или просто переделать на веб-морду — не вариант?


Нет, клиенты не заплатят.

Всё остальное понял, да.
Re[3]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: LaptevVV Россия  
Дата: 31.07.19 06:09
Оценка:
S>Всё остальное понял, да.
Там у меня ПЕЛ = gtk
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Sharowarsheg  
Дата: 31.07.19 06:54
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

S>>Всё остальное понял, да.

LVV>Там у меня ПЕЛ = gtk

Да, я допёр за минуту где-то, хехе.
(в конце концов в гугле набрал "Linux ПЕЛ")
Отредактировано 31.07.2019 7:02 Sharowarsheg . Предыдущая версия .
Re[2]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: agp  
Дата: 31.07.19 09:04
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>А моно — не вариант. У меня пацан восхищался, что при переносе 85% сразу работает.

LVV>Но оставшиеся 15% — это легче переписать с нуля...

Несколько лет назад «переводил» net-проект на моно для мака, да, процентов 85 гуя заработало. А дальше — то контекстное меню отваливается, то таблички криво работают, то с юникодом проблемы на буквах типа й. Пришлось делать кастомную сборку моно с фиксами.

Но с тех пор лет пять прошло, если гуй действительно простой — может и взлетит.
Re[3]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Kswapd Россия  
Дата: 31.07.19 09:49
Оценка: 4 (1) +1
S>Нет, клиенты не заплатят.

А Sciter?
Re[4]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Sharowarsheg  
Дата: 31.07.19 17:59
Оценка:
Здравствуйте, Kswapd, Вы писали:

S>>Нет, клиенты не заплатят.


K>А Sciter?


Хм, интересно.
Re: А что сейчас с кросплатформенным гуём, Win+Linux?
От: sqrt  
Дата: 31.07.19 19:05
Оценка:
Здравствуйте, Sharowarsheg, Вы писали:


S>Имеющийся гуй не слишком сложный, combobox, listview, кнопки, да и всё. Никаких custom controls нет. Могу очень дёшево выкинуть имеющийся гуй и нарисовать такой же с применением любой другой технологии.


S>Хочется кроссплатформенный Windows-Linux гуй, не переписывая логику и не уходя от .NET.



Если только combobox, listview, кнопки — под Mono (WinForms) нормально должно работать. У меня была проблема c TreeView под Mono/Linux, помог TreeViewAdv. Если у тебя в проекте P/Invoke не используются, тогда проблем не должно возникнуть.

Авалонию уже советовали, есть еще Eto.Forms

У Mono есть еще утилита Mono Migration Analyzer, для .NET 2.0 — 4.0 должна подойти.
Отредактировано 31.07.2019 19:10 nmd . Предыдущая версия .
Re: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Cyberax Марс  
Дата: 31.07.19 19:57
Оценка: +1
Здравствуйте, Sharowarsheg, Вы писали:

S>Хочется кроссплатформенный Windows-Linux гуй, не переписывая логику и не уходя от .NET.

Electron + https://github.com/ElectronNET/Electron.NET
Sapienti sat!
Re[2]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: Sharowarsheg  
Дата: 31.07.19 20:45
Оценка:
Здравствуйте, sqrt, Вы писали:

S>Если только combobox, listview, кнопки — под Mono (WinForms) нормально должно работать. У меня была проблема c TreeView под Mono/Linux, помог TreeViewAdv. Если у тебя в проекте P/Invoke не используются, тогда проблем не должно возникнуть.


Пока всё именно так и произошло. Всё работает, кроме p/invoke — у меня есть часть математики на C. Осталось разобраться, как собрать DLL для Linux, и золотой ключик у меня в кармане.
Re[3]: А что сейчас с кросплатформенным гуём, Win+Linux?
От: m2l  
Дата: 31.07.19 20:56
Оценка: 4 (1)
Здравствуйте, Sharowarsheg, Вы писали:

S>Пока всё именно так и произошло. Всё работает, кроме p/invoke — у меня есть часть математики на C. Осталось разобраться, как собрать DLL для Linux, и золотой ключик у меня в кармане.


Нужно собирать .so — гуглится через "gcc make shared library" и в методах прописывается [DllImport("ИМЯ.so")]. Для mono работает отлично, но будет подводный камень с двоичной переносимостью этой библиотеки. В идеале в каком дистрибутиве собирается — в том и работает.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.