Шаровара на .Net под Linux и snapcraft
От: Nonmanual Worker  
Дата: 22.11.21 13:45
Оценка:
Всем привет!
Почти спортировал одну программу (.Net Core 3.1 desktop app) на Linux. Решил поставлять через snap.
Но т.к. в линуксе я почти ноль — то сложно разобраться с настройками yaml span'а.
Есть у кого примеры\ссылки подобного?
Re: Шаровара на .Net под Linux и snapcraft
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 24.11.21 08:22
Оценка:
Здравствуйте, Nonmanual Worker, Вы писали:

Прошу прощения, что немного off-topic, но раз уж пришлось к случаю — спрошу.

Подозреваю, вы всё равно как-то изучали рынок и, возможно, сможете подсказать примеры коммерческого ПО (в принципе, под любой лицензией, но интереснее всего, конечно shareware), которые бы распространялось под Linux подобным образом (через Snap).
Я тоже в Linux что-то около 0 и ситуацией не владею, а по тем обсуждениям, что были здесь на форуме у меня сложилось ощущение, что вообще в идею "портировать под Linux, чтобы продавать" мало кто верит. Вот и хочется посмотреть успешные контрпримеры (если они есть).
Re[2]: Шаровара на .Net под Linux и snapcraft
От: Unhandled_Exception Россия  
Дата: 24.11.21 08:25
Оценка: 14 (1) +1
Здравствуйте, Михаил Романов, Вы писали:

МР>Я тоже в Linux что-то около 0 и ситуацией не владею, а по тем обсуждениям, что были здесь на форуме у меня сложилось ощущение, что вообще в идею "портировать под Linux, чтобы продавать" мало кто верит. Вот и хочется посмотреть успешные контрпримеры (если они есть).


Не касаясь способа распространения (про которые я ничего толком не знаю), некоторые продукты вполне есть смысл портировать. К примеру IDE JetBrain-овские, ведь разработчики сидят на Linux-ах.
Re[2]: Шаровара на .Net под Linux и snapcraft
От: Nonmanual Worker  
Дата: 24.11.21 08:50
Оценка: 14 (1)
Здравствуйте, Михаил Романов, Вы писали:

МР>Подозреваю, вы всё равно как-то изучали рынок и, возможно, сможете подсказать примеры коммерческого ПО (в принципе, под любой лицензией, но интереснее всего, конечно shareware), которые бы распространялось под Linux подобным образом (через Snap).

Например некоторые коммерческие инструменты для разработчиков, в том числе баз данных так распространяются. Firefox тоже вроде переходит на span в ubuntu 21+.

МР>Я тоже в Linux что-то около 0 и ситуацией не владею, а по тем обсуждениям, что были здесь на форуме у меня сложилось ощущение, что вообще в идею "портировать под Linux, чтобы продавать" мало кто верит. Вот и хочется посмотреть успешные контрпримеры (если они есть).

Linux — это не цель. Была идея оценить трудности перехода на кроссплатформенную разработку Win, Mac и Linux. Mac конечно перспективнее, но для линукс проще распространять, поэтому и начал с него.
Re[3]: Шаровара на .Net под Linux и snapcraft
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 24.11.21 08:58
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>Не касаясь способа распространения (про которые я ничего толком не знаю), некоторые продукты вполне есть смысл портировать. К примеру IDE JetBrain-овские, ведь разработчики сидят на Linux-ах.

Да, согласен, эту группу пользователей (разработчики ПО) я как-то вообще выпустил из вида

Кстати, по вашей наводке, кратко взглянул как именно они распространяют продукт.
Предлагают 3 варианта:
— свой инсталлятор Toolbox App, аналогичный тому, что под Windows — позволяет скачивать и ставить все/любые продукты JB
— просто распаковка архива в отдельную папку и запуск специальным скриптом (jre в бинарниках, как я понимаю, лежит тут же)
— и таки Snap.

И вот что интересно — последний выглядит самым сложным (т.к. еще и Snap нужно ставить — хотя может он у обычных пользователей и так установлен у всех).
Re[4]: Шаровара на .Net под Linux и snapcraft
От: удусекшл  
Дата: 24.11.21 09:35
Оценка:
Здравствуйте, Михаил Романов, Вы писали:


МР>И вот что интересно — последний выглядит самым сложным (т.к. еще и Snap нужно ставить — хотя может он у обычных пользователей и так установлен у всех).


Понадобилось что-то поставить — в инетах пишут команду со snap'ом этим. А что это за зверь, я ни сном ни духом. Из ком строки, ясно дело, не хочет запускаться
Re[4]: Шаровара на .Net под Linux и snapcraft
От: Zhendos  
Дата: 24.11.21 10:14
Оценка: +2
Здравствуйте, Михаил Романов, Вы писали:

МР>И вот что интересно — последний выглядит самым сложным (т.к. еще и Snap нужно ставить — хотя может он у обычных пользователей и так установлен у всех).


В Ubuntu уже несколько лет snapd ставиться даже если ты не хочешь,
и выпилить его полностью то еще приключение, даже несмотря на то что
сам "snapd" поставляется в виде отдельного пакета.
Re: Шаровара на .Net под Linux и snapcraft
От: М.Р. https://www.wincatalog.com
Дата: 20.12.21 08:14
Оценка:
Здравствуйте, Nonmanual Worker, Вы писали:

NW>Почти спортировал одну программу (.Net Core 3.1 desktop app) на Linux.


Добрый день! Тоже оффтоп, но уже в техническую часть: что использовали для интерфейса? Avalonia, Electron, Xamarin, что-то ещё? Что за программа, сложный у неё интерфейс?
WinCatalog — Disk Catalog Software for Windows
Re[2]: Шаровара на .Net под Linux и snapcraft
От: Nonmanual Worker  
Дата: 22.12.21 12:30
Оценка:
Здравствуйте, М.Р., Вы писали:

МР>Добрый день! Тоже оффтоп, но уже в техническую часть: что использовали для интерфейса? Avalonia, Electron, Xamarin, что-то ещё? Что за программа, сложный у неё интерфейс?

AvaloniaUI, программа типа SQL Management Studio.
В AvaloniaUI для меня сейчас главная загвоздка что модальные окна открываются через async await, а для этого надо весь код перелопачивать. Для Win и Linux есть костыль с помощью которого можно сделать диалог обычным, а для Mac — нет.
Re[3]: Шаровара на .Net под Linux и snapcraft
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 22.12.21 14:45
Оценка:
Здравствуйте, Nonmanual Worker, Вы писали:

NW>Здравствуйте, М.Р., Вы писали:


МР>>Добрый день! Тоже оффтоп, но уже в техническую часть: что использовали для интерфейса? Avalonia, Electron, Xamarin, что-то ещё? Что за программа, сложный у неё интерфейс?

NW>AvaloniaUI, программа типа SQL Management Studio.
А как там (в Avalonia UI) с поддержкой всяких сложных контролов?
Просто в моем представлении "типа SQL Management Studio" сразу напрашиваются всякие хитрые Dockable Windows, редактор кода и т.д.
Или вы имели в виду сходство по решаемым задачам, а не по внешнему виду и контролам?
Re[4]: Шаровара на .Net под Linux и snapcraft
От: Nonmanual Worker  
Дата: 22.12.21 17:15
Оценка: 10 (1)
Здравствуйте, Михаил Романов, Вы писали:

МР>А как там (в Avalonia UI) с поддержкой всяких сложных контролов?

МР>Просто в моем представлении "типа SQL Management Studio" сразу напрашиваются всякие хитрые Dockable Windows, редактор кода и т.д.
МР>Или вы имели в виду сходство по решаемым задачам, а не по внешнему виду и контролам?

По внешнему виду, мы же про UI говорим. Ну или типа Visual Studio c Solution Explorer, десятком разных видов страниц-окон, но без докинга окон. Хотя докинг тоже в авалонии есть, но в стороннем пакете.
Редактор кода тоже есть, это было одним из самых важных моих требований к библиотеке.
Re: Шаровара на .Net под Linux и snapcraft
От: Nonmanual Worker  
Дата: 09.01.22 17:36
Оценка:
А нужно ли подписывать исполняемые файлы под Linux?
Re[3]: Шаровара на .Net под Linux и snapcraft
От: Nonmanual Worker  
Дата: 15.01.22 15:24
Оценка:
Здравствуйте, Nonmanual Worker, Вы писали:

NW>В AvaloniaUI для меня сейчас главная загвоздка что модальные окна открываются через async await, а для этого надо весь код перелопачивать. Для Win и Linux есть костыль с помощью которого можно сделать диалог обычным, а для Mac — нет.

Переделал все модальные диалоги и окна на юзерконтролы, которые показываеются поверх основного контента окна, блокируя его контролы. Реализовалось быстро и удобно. Модальные диалоги и окна сейчас только системные диалоги типа Open\Save.
Также перевел дистрибуцию под AppImage, очень понравилось, все понятно и удобно.
Re: Шаровара на .Net под Linux и snapcraft
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 14.01.23 17:02
Оценка:
Здравствуйте, Nonmanual Worker, Вы писали:

NW>Всем привет!

NW>Почти спортировал одну программу (.Net Core 3.1 desktop app) на Linux. Решил поставлять через snap.
NW>Но т.к. в линуксе я почти ноль — то сложно разобраться с настройками yaml span'а.
NW>Есть у кого примеры\ссылки подобного?

Добрый день.
Вспомнил об этом разговоре и хочу попросить вас поделиться, хотя бы в самых общих моментах, что получилось на текущий момент и какие ваши выводы относительно портирования вашего приложения на Linux.
Хочется понимать как техническую сторону, например:
— что пришлось сделать для портирования (от чего-то отказаться, например),
— каковы впечатления от .Net Core под Linux и от Avalonia
— как в целом построена сборки и распространение (вы ведь остановились на AppImage, я правильно понял и собираете self-contained релиз, который упаковываете в AppImage, верно?)
— может быть есть какие-то подводные камни от которых можно заранее предостеречь,

Ну и в целом, как вы оцениваете целесообразность такого портирования — стоит ли оно затрачиваемых усилий (или в каких случаях стоит).

Буду очень признателен, если сможете найти время и поделиться.
Re[2]: Шаровара на .Net под Linux и snapcraft
От: Nonmanual Worker  
Дата: 14.01.23 20:43
Оценка: 30 (2)
Здравствуйте, Михаил Романов, Вы писали:

МР>Вспомнил об этом разговоре и хочу попросить вас поделиться, хотя бы в самых общих моментах, что получилось на текущий момент и какие ваши выводы относительно портирования вашего приложения на Linux.

МР>Хочется понимать как техническую сторону, например:
МР>- что пришлось сделать для портирования (от чего-то отказаться, например),
Практически весь GUI удалось перенести. Переносил с DevExpress WinForms. Муторнее всего пришлось переносить редактор с подсветкой кода (AvaloniaEdit).
У меня GUI изначально было построено на MVP с задумкой на возможность перехода в будущем на другую GUI библиотеку, поэтому перенос не был сильно сложным. Трудозатратным — да.
На Mac и Linux работает.

МР>- каковы впечатления от .Net Core под Linux и от Avalonia

Вполне работоспособно. Можно коммерческий продукт делать. Но я бы посмотрел сейчас на MAUI. Но там нет аналога AvaloniaEdit — а это мне очень нужно было.

МР>- как в целом построена сборки и распространение (вы ведь остановились на AppImage, я правильно понял и собираете self-contained релиз, который упаковываете в AppImage, верно?)

Верно.

МР>- может быть есть какие-то подводные камни от которых можно заранее предостеречь,

Мак пошустрее нужно было купить, а то достался почти нахаляву Mac Mini 2012?, тупит.

МР>Ну и в целом, как вы оцениваете целесообразность такого портирования — стоит ли оно затрачиваемых усилий (или в каких случаях стоит).

У меня не стоило того. Да я и не ожидал, портировал второстепенный продукт, который и на винде то не особо. На основной сил пока нет.

МР>Буду очень признателен, если сможете найти время и поделиться.

Велком.
Re: Шаровара на .Net под Linux и snapcraft
От: Shmj Ниоткуда  
Дата: 14.01.23 22:33
Оценка:
Здравствуйте, Nonmanual Worker, Вы писали:

NW>Почти спортировал одну программу (.Net Core 3.1 desktop app) на Linux. Решил поставлять через snap.


Это консольная утилита или оконное приложение? Вроде же .Net Core 3 для Linux не позволяет оконные делать.
Re[3]: Шаровара на .Net под Linux и snapcraft
От: vladrsdn http://vvh-ru.blogspot.com/
Дата: 15.01.23 09:23
Оценка: 6 (1)
Здравствуйте, Nonmanual Worker, Вы писали:

МР>>- может быть есть какие-то подводные камни от которых можно заранее предостеречь,

NW>Мак пошустрее нужно было купить, а то достался почти нахаляву Mac Mini 2012?, тупит.

пускай макос в виртуалке (vmware) на обычном компе, все прекрасно работает если более 16гб рам. С 2009г так проги пишу под мак и айфон.
http://vvh-dev-ru.blogspot.com — Трудовые будни шароварщика http://vvh-ru.blogspot.com — Блог об оффлайне
Re[2]: Шаровара на .Net под Linux и snapcraft
От: vladrsdn http://vvh-ru.blogspot.com/
Дата: 15.01.23 09:24
Оценка:
Здравствуйте, Nonmanual Worker, Вы писали:

NW>А нужно ли подписывать исполняемые файлы под Linux?


нет.

Сами пакеты (deb/rpm и тд) в которых распространяется софт подписаны, поэтому нет смысла еще бинарники подписывать
http://vvh-dev-ru.blogspot.com — Трудовые будни шароварщика http://vvh-ru.blogspot.com — Блог об оффлайне
Re[4]: Шаровара на .Net под Linux и snapcraft
От: vladrsdn http://vvh-ru.blogspot.com/
Дата: 15.01.23 09:27
Оценка:
Здравствуйте, Михаил Романов, Вы писали:

МР>Кстати, по вашей наводке, кратко взглянул как именно они распространяют продукт.

МР>Предлагают 3 варианта:
МР>- свой инсталлятор Toolbox App, аналогичный тому, что под Windows — позволяет скачивать и ставить все/любые продукты JB
МР>- просто распаковка архива в отдельную папку и запуск специальным скриптом (jre в бинарниках, как я понимаю, лежит тут же)

у меня вот такой вариант и используется.

МР>- и таки Snap.


snap — это удобство не для юзера (хотя для него оно удобно тоже), а для девелопера — то есть всякие скрипты которые все зависимости у проги запакуют куда-то. Эти зависимости и трюки с $LD_PRELOAD $PATH и другими переменными окружения можно и ручками делать, там на самом деле ничего сложного (и у меня поэтому "просто распаковка архива в отдельную папку" и используется), но для разработчиков незнакомых с юниксом snap это упрощает
http://vvh-dev-ru.blogspot.com — Трудовые будни шароварщика http://vvh-ru.blogspot.com — Блог об оффлайне
Re[4]: Шаровара на .Net под Linux и snapcraft
От: kov_serg Россия  
Дата: 15.01.23 18:55
Оценка: 9 (1)
Здравствуйте, vladrsdn, Вы писали:

МР>>>- может быть есть какие-то подводные камни от которых можно заранее предостеречь,

NW>>Мак пошустрее нужно было купить, а то достался почти нахаляву Mac Mini 2012?, тупит.

V>пускай макос в виртуалке (vmware) на обычном компе, все прекрасно работает если более 16гб рам.

Не надо вводить в заблуждение. Оно не прекрасно работает, а требует патча vmware и процессора только intel.
И что у вас происходит если в сафари открыть несколько вкладок? (в xcode таже песня)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.