Кросс-платформенная гуевая боль на дотнет
От: TechL  
Дата: 19.11.17 07:56
Оценка: :)
Пример из жизни. Есть небольшой проект, скажем совсем простой с точки зрения реализации. Тесты такие на здоровье с меняющимися картинками (экранами). Изначально был написан на Яве, но не суть. Заказчик решил переделать его стильно, молодежно, современно, с новым дизайном, но оставив при этом возможность запускать тесты минимум на вин/мак.

Пришел бывалый разработчик и с энтузиазмом бросился в дело. Для бекенда выбрал .NET Standard 2, а для морды HTML/JS с CEFSharp через плечо.
Через месяц другой, разраб №1 забросил проект и на его место пришел голодный до денег разраб №2 (исполнитель то есть). Что он сделал? Желая удивить и захомутать заказчика, он убедил его в необходимости использовать WPF, ибо это лучшее что он умел. Заказчик будучи технически не смышленным одобрил предложение и в зоопарк добавился XAML. Когда нужно было — в окошке показывался браузер с ХТМЛ от прошлого парня, а в иных случаях, браузер прятался и отображался WPF stuff в чистом виде. Хитро? Несомненно.

Близится время перевозить зоопарк на macOS. И если с бекендом все четко, то HTML/JS + WPF + WTF на чем это показывать. Попадаем в сложную ситуацию. Нужно оставить C#/.NET кровь из носа, так как там вся логика. И при этом как-то натянуть на эту логику UI для мак. Непонятно даже куда приткнуть этот HTML/JS.

Это далеко не первый случай в моей практике, когда портирование UI на мак — это боль.
Как так получилось, что потирая руки, открываешь visual studio for mac, а там только console application и какой-то стремный Cocoa App. Куда мне тулить тот же HTML? Зачем этот .net standard в принципе, если его юзеру не покажешь? Элементарно возможности скрестить .net и mac native, оставив html не видно.
Re: Кросс-платформенная гуевая боль на дотнет
От: TK Лес кывт.рф
Дата: 19.11.17 08:14
Оценка: 1 (1) +1 -1 :)
Здравствуйте, TechL, Вы писали:

TL>Это далеко не первый случай в моей практике, когда портирование UI на мак — это боль.

TL>Как так получилось, что потирая руки, открываешь visual studio for mac, а там только console application и какой-то стремный Cocoa App. Куда мне тулить тот же HTML? Зачем этот .net standard в принципе, если его юзеру не покажешь? Элементарно возможности скрестить .net и mac native, оставив html не видно.

.net standart для бекенда. ui на electron.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Кросс-платформенная гуевая боль на дотнет
От: iZEN СССР  
Дата: 19.11.17 08:23
Оценка: +1
Здравствуйте, TechL, Вы писали:

TL>Пример из жизни. Есть небольшой проект, скажем совсем простой с точки зрения реализации. Тесты такие на здоровье с меняющимися картинками (экранами). Изначально был написан на Яве, но не суть. Заказчик решил переделать его стильно, молодежно, современно, с новым дизайном, но оставив при этом возможность запускать тесты минимум на вин/мак.


TL>Пришел бывалый разработчик и с энтузиазмом бросился в дело. Для бекенда выбрал .NET Standard 2, а для морды HTML/JS с CEFSharp через плечо.

TL>Через месяц другой, разраб №1 забросил проект и на его место пришел голодный до денег разраб №2 (исполнитель то есть). Что он сделал? Желая удивить и захомутать заказчика, он убедил его в необходимости использовать WPF, ибо это лучшее что он умел. Заказчик будучи технически не смышленным одобрил предложение и в зоопарк добавился XAML. Когда нужно было — в окошке показывался браузер с ХТМЛ от прошлого парня, а в иных случаях, браузер прятался и отображался WPF stuff в чистом виде. Хитро? Несомненно.

TL>Близится время перевозить зоопарк на macOS. И если с бекендом все четко, то HTML/JS + WPF + WTF на чем это показывать. Попадаем в сложную ситуацию. Нужно оставить C#/.NET кровь из носа, так как там вся логика. И при этом как-то натянуть на эту логику UI для мак. Непонятно даже куда приткнуть этот HTML/JS.


TL>Это далеко не первый случай в моей практике, когда портирование UI на мак — это боль.

TL>Как так получилось, что потирая руки, открываешь visual studio for mac, а там только console application и какой-то стремный Cocoa App. Куда мне тулить тот же HTML? Зачем этот .net standard в принципе, если его юзеру не покажешь? Элементарно возможности скрестить .net и mac native, оставив html не видно.

Давно бы всё на чистой Java 8/Swing сделали и не парились.
Re[2]: Кросс-платформенная гуевая боль на дотнет
От: Ops Россия  
Дата: 19.11.17 09:43
Оценка: 1 (1) +1 :)
Здравствуйте, TK, Вы писали:

TK>.net standart для бекенда. ui на electron.


Тогда бекенду процессора не останется, должен же electron курсором мигать?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: Кросс-платформенная гуевая боль на дотнет
От: TechL  
Дата: 19.11.17 10:13
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, TechL, Вы писали:


TL>>Это далеко не первый случай в моей практике, когда портирование UI на мак — это боль.

TL>>Как так получилось, что потирая руки, открываешь visual studio for mac, а там только console application и какой-то стремный Cocoa App. Куда мне тулить тот же HTML? Зачем этот .net standard в принципе, если его юзеру не покажешь? Элементарно возможности скрестить .net и mac native, оставив html не видно.

TK>.net standart для бекенда. ui на electron.


Так суть в том, чтобы использовать имеющийся html/js. Возможно?
Re[2]: Кросс-платформенная гуевая боль на дотнет
От: TechL  
Дата: 19.11.17 10:14
Оценка:
Здравствуйте, iZEN, Вы писали:

ZEN>Здравствуйте, TechL, Вы писали:


TL>>Как так получилось, что потирая руки, открываешь visual studio for mac, а там только console application и какой-то стремный Cocoa App. Куда мне тулить тот же HTML? Зачем этот .net standard в принципе, если его юзеру не покажешь? Элементарно возможности скрестить .net и mac native, оставив html не видно.


ZEN>Давно бы всё на чистой Java 8/Swing сделали и не парились.


Предыдущая версия и была на Java 8. Вычурный интерфейс и JVM в довесок.
Re[2]: Кросс-платформенная гуевая боль на дотнет
От: TechL  
Дата: 19.11.17 10:54
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, TechL, Вы писали:


TL>>Это далеко не первый случай в моей практике, когда портирование UI на мак — это боль.

TL>>Как так получилось, что потирая руки, открываешь visual studio for mac, а там только console application и какой-то стремный Cocoa App. Куда мне тулить тот же HTML? Зачем этот .net standard в принципе, если его юзеру не покажешь? Элементарно возможности скрестить .net и mac native, оставив html не видно.

TK>.net standart для бекенда. ui на electron.


Скорее, как их связать между собой?
Re[3]: Кросс-платформенная гуевая боль на дотнет
От: TK Лес кывт.рф
Дата: 19.11.17 13:16
Оценка:
Здравствуйте, TechL, Вы писали:

TL>>>Это далеко не первый случай в моей практике, когда портирование UI на мак — это боль.

TL>>>Как так получилось, что потирая руки, открываешь visual studio for mac, а там только console application и какой-то стремный Cocoa App. Куда мне тулить тот же HTML? Зачем этот .net standard в принципе, если его юзеру не покажешь? Элементарно возможности скрестить .net и mac native, оставив html не видно.

TK>>.net standart для бекенда. ui на electron.

TL>Скорее, как их связать между собой?

Domain Socket/Named Pipe — https://github.com/aspnet/KestrelHttpServer/issues/156
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[3]: Кросс-платформенная гуевая боль на дотнет
От: TK Лес кывт.рф
Дата: 19.11.17 13:22
Оценка: -1 :)
Здравствуйте, Ops, Вы писали:

TK>>.net standart для бекенда. ui на electron.

Ops>Тогда бекенду процессора не останется, должен же electron курсором мигать?

vs code такие баги поправило. и вам тоже никто не мешает
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[3]: Кросс-платформенная гуевая боль на дотнет
От: TK Лес кывт.рф
Дата: 19.11.17 13:23
Оценка:
Здравствуйте, TechL, Вы писали:

TK>>.net standart для бекенда. ui на electron.

TL>Так суть в том, чтобы использовать имеющийся html/js. Возможно?

Используйте — оно там в полный рост
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: Кросс-платформенная гуевая боль на дотнет
От: TechL  
Дата: 19.11.17 18:37
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, TechL, Вы писали:


TK>>>.net standart для бекенда. ui на electron.

TL>>Так суть в том, чтобы использовать имеющийся html/js. Возможно?

TK>Используйте — оно там в полный рост


А деплоить геморно? У юзера должен быть node.js , еще что-то?
Re[4]: Кросс-платформенная гуевая боль на дотнет
От: TechL  
Дата: 19.11.17 18:55
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, TechL, Вы писали:


TK>>>.net standart для бекенда. ui на electron.

TL>>Скорее, как их связать между собой?

TK>Domain Socket/Named Pipe — https://github.com/aspnet/KestrelHttpServer/issues/156


Я думал через ElectronNet. Спасибо, посмотрю.
Re[3]: Кросс-платформенная гуевая боль на дотнет
От: vsb Казахстан  
Дата: 19.11.17 19:47
Оценка:
Здравствуйте, TechL, Вы писали:

TL>>>Как так получилось, что потирая руки, открываешь visual studio for mac, а там только console application и какой-то стремный Cocoa App. Куда мне тулить тот же HTML? Зачем этот .net standard в принципе, если его юзеру не покажешь? Элементарно возможности скрестить .net и mac native, оставив html не видно.


ZEN>>Давно бы всё на чистой Java 8/Swing сделали и не парились.


TL>Предыдущая версия и была на Java 8.


Ну вот его и используйте.

TL>Вычурный интерфейс


Который рисуется так, как душе угодно. Хоть вычурно, хоть не вычурно, хоть в стиле Windows, хоть в стиле macOS, хоть в стиле CDE, хоть в HTML-стиле.


TL>и JVM в довесок.


А .NET это не довесок, это святой дух, ага.

Ничего вы не сделаете. Завязались на Windows-only технологии и всё. Посмотрите в сторону Mono, Wine, как наиболее безболезненные способы портирования, но вряд ли у вас получится. Java, Qt, Gtk, Electron, других развитых кроссплатформенных GUI пока не придумали.
Re[4]: Кросс-платформенная гуевая боль на дотнет
От: wamaco  
Дата: 19.11.17 20:39
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Java, Qt, Gtk, Electron, других развитых кроссплатформенных GUI пока не придумали.


как не придумали? а Delphi? Вполне себе отличная кроссплатформенная студия!
Re[5]: Кросс-платформенная гуевая боль на дотнет
От: vsb Казахстан  
Дата: 19.11.17 21:25
Оценка: 1 (1) +1
Здравствуйте, wamaco, Вы писали:

vsb>>Java, Qt, Gtk, Electron, других развитых кроссплатформенных GUI пока не придумали.


W>как не придумали? а Delphi? Вполне себе отличная кроссплатформенная студия!


Я думал оно померло давным давно. Никогда не видел кроссплатформенных программ на дельфи. Ну ладно, если действительно так, пусть будет и дельфи.
Re: Кросс-платформенная гуевая боль на дотнет
От: maloi_alex СССР  
Дата: 19.11.17 21:52
Оценка:
Здравствуйте, TechL, Вы писали:

Delphi была бы кросс-платформенной, если бы Embarcadero поддержали десктоптый Linux. А вообще есть еще Lazarus, Qt Jambi.
Re: Кросс-платформенная гуевая боль на дотнет
От: MTD https://github.com/mtrempoltsev
Дата: 20.11.17 04:36
Оценка: +7
Здравствуйте, TechL, Вы писали:

TL>Тесты такие на здоровье с меняющимися картинками (экранами).


TL>.NET Standard 2, а для морды HTML/JS с CEFSharp через плечо.

TL>WPF, XAML.

Вы там упоролись что-ли? На Qt такое приложение за день пишется и новый дизайн пили хоть по 2 раза на дню, если хочется. Хотя бюджет освоить сложней, да.
Re[4]: Кросс-платформенная гуевая боль на дотнет
От: std.denis Россия  
Дата: 20.11.17 08:04
Оценка:
TK>>>.net standart для бекенда. ui на electron.
TL>>Скорее, как их связать между собой?
TK>Domain Socket/Named Pipe — https://github.com/aspnet/KestrelHttpServer/issues/156

простите, я правильно понял, что тут ".net standard для бекенда" имеется в виду что локально запускается вебсервер, который реализует логику сабжевого приложения?
Re[2]: Кросс-платформенная гуевая боль на дотнет
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 20.11.17 14:44
Оценка:
Здравствуйте, iZEN, Вы писали:

ZEN>Давно бы всё на чистой Java 8/Swing сделали и не парились.

Кому нужно это г-но мамонта?
[КУ] оккупировала армия.
Re[2]: Кросс-платформенная гуевая боль на дотнет
От: wamaco  
Дата: 20.11.17 20:02
Оценка:
_>Здравствуйте, TechL, Вы писали:

_>Delphi была бы кросс-платформенной, если бы Embarcadero поддержали десктоптый Linux. А вообще есть еще Lazarus, Qt Jambi.


Так вот ведь же http://www.crossvcl.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.