LINUX.ORG.RU

Кросс-платформерный гуй для псевдоэнтерпрайз, или как выбрать из ничего?

 , , , ,


0

4

Приветствую лорчане! Есть тут подозреваю люди имевшие дело с кроссплаформерными GUI-app. Вот завели внутренний проект,который сейчас в зачаточном состоянии. Основные пользователи на Windows и как бэ я топлю за кросс-платформу в виде нынче модных CEF, React, Python и других UI создающихся с помощью скриптовых ЯП в связке с dotNet core(С#), который «команде» знаком всяко лучше Java, и просто интересен ,т.к. удобство C# да еще и с нативной работой под НЕ окнами это круто. В поисках и размышлениях, выбор пал на Electron в связке с Angular 2/4(клиентское приложение будет иметь по задумке ограниченый функционал в плане вычислений, основные расчеты будут происходить на сервере, который как не странно на dotNet Core)

Поработав с ангуляром в принципе остался доволен,но вот все чаще натыкаюсь на критику,мол: «все плюшки TS в нем сводят на нет и вообще...» что конечно натолкнуло более активно поискать альтернативу, попал на Kivy для Python. В принципе последний тоже хорош,но в отличие от Angular 2 на врядли из коробки приспособлен для работы с таблицами,коих будет много и разных.

Основной фичей проекта является модульность. Клиент изначально чист, и после запуска и авторизации начинает загружать свою конфигурацию с сервера со всем необходимым. Так что вариант с WinForms и подобным выглядит очень неприглядно.Да и за адекватные компоненты платить как правило немало надо.(будто того факта что это WinForm мало)

Может кто поделится опытом разработки кроссплатформенного гуя на подобном стеке? Какие есть еще альтернативы? Или лучше сдаваться и идти мучать мертвеца?

Заранее извиняюсь за форму повествования.Благодарю за помощь!

Ответ на: комментарий от ult

Даёшь современный гуи-софт на blender-gui! Нет электрону!

Ссылку на примеры боевого применения этого подхода вне самого блендера, или не было.

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

у ОПа

Основные пользователи на Windows

GTK это возможно один из худших вариантов в данном случае

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

нода (и электрон заодно) поддерживает нативные модули. т.е. в электрончатой аппликухе на самом деле всё может быть нативным, кроме работы с DOM. в opensource такой подход не популярен, но во внутренних проектах ынтырпрайза вполне себе живёт.

а еще webasm активно пилится, мигелюшка уже даже C# гонял через него

ощем, не псы, электрон - годная тема

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

а еще webasm активно пилится, мигелюшка уже даже C# гонял через него

Интересненько, а ссылоньку мона? А то не сильно яндексится...

I-Love-Microsoft ★★★★★
()

Из описания и требований в топике не очень понятно вообще зачем десктопное приложение и почему бы просто не запилить SPA веб морду.

Midael ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Так не было. Но будет. Я просто идею подал. Скринте этот пост.

ult
()
Ответ на: комментарий от I-Love-Microsoft

спасибирую

За что, за что ты так не любишь русский язык? Есть ведь замечательное слово «благодарю», не нужно коверкать или изобретать новые на ровном месте.

/gramma_nazi mode off

CrossFire ★★★★★
()

Поработав с ангуляром в принципе остался доволен,но вот все чаще натыкаюсь на критику,мол: «все плюшки TS в нем сводят на нет и вообще...» что конечно натолкнуло более активно поискать альтернативу, попал на Kivy для Python.

да, писать под ангуляр на TS будет больно (если конечно TS==typescript), но ангуляру-то как раз полно альтернатив. хотя я бы для фронтенда оставил JS и ангуляр, TS все только усложняет. все фронтендщики его ненавидят. а kiwy это вообще бэкенд, непонятно чего ты его приплел.

Может кто поделится опытом разработки кроссплатформенного гуя на подобном стеке? Какие есть еще альтернативы? Или лучше сдаваться и идти мучать мертвеца?

какие-то альтернативы ты наверняка найдешь, и даже на лоре насоветуют всяких культей и подобного, но с ними боли будет намного больше.

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

Ну давай, рассказывай, что конкретно использовал

youtube, twitch

какие конкретно были глюки

youtube + vimfx = жопа, ибо фокус со стоки поиска на короткое время куда-то уходит, но этого хватает, чтобы открыть пару лишних вкладок (или закрыть, или еще чего сделать — смотря какие кнопки надавишь).

Также оба упомянутые поделия тормозят, как будто я сижу на древнем целероне, а не на i7.

куда перешёл в итоге

youtube-dl + mpv, livestreamer

kawaii_neko ★★★★
()

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

Ну какой электрон, если у вас эталонный клиент-сервер? Это все делается элементарно в виде SPA. Можно даже без всяких костылей на чистом DOM. Культи здесь вообще оесом идут.

bread
()
Ответ на: комментарий от pon4ik

оно зовется SWT. В принципе да, достаточно годное и шустрое. Из плюшек - гуй на SWT с минимальными телодвижениями перетаскивается в веб, гуглить eclipse RAP и RWT. Обмазавшись OSGI, можно вот прям морду с организацией а-ля эклипс (окна, доки, менюшки, перспективы) соорудить, имея бОльшую часть кода общую с десктопом.

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

Алсо, там штатно используется как раз то, что надо ТС-у - «после запуска и авторизации начинает загружать свою конфигурацию с сервера со всем необходимым». По сути, весь эклипс в любом из множества вариантов - набор osgi бандлов, подгруженных вместе с небольшим eclipse platform.

конечно, есть нюанс(с) - это ява, что подразумевает весьма (и обычно излишне) развесистую инфраструктуру.

ЗЫ http://rap.eclipsesource.com/demo/release/workbench/

arkhnchul ★★
()

Простыню не читал, выбирай tk - ынтэрпрайз весь на нем, ну еще что там у java.

anonymous
()
Ответ на: комментарий от waker

Как может TS услоднять, если он упрощает?! Не, если на нём надо переписывать костыли, то да. С нуля - просто красота!

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

Упрощает что? Я его не щупал, но жопой чую гемор с отладкой, например. И вообще, зачем на фронте типолюбство? Надеюсь, бизнес-логику писать на жоэс ты не предлагаешь.

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

Больше TS, меньше отладки. В том-то и дело.
Упрощает вот что: у меня, как испорченного в детстве Паскалем, был разрыв шаблонов от мягко говоря побочного полиморфизма жс. Чтобы не тратить 50% времени на ловлю того, что можно или покрыть тестами (которые сначала надо написать), или выучив и практичнски применив несколько раз пллную спецификацию жс, я забил и стал использовпть TS. Теперь, если я ошибся, я сразу вижу косяк, а мои области видимости и структуры данных стали мягкими и шелковистыми.

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

Как может TS услоднять, если он упрощает?! Не, если на нём надо переписывать костыли, то да. С нуля - просто красота!

можешь показать пример упрощения кода на angular и typescript?

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

Упрощает что? Я его не щупал, но жопой чую гемор с отладкой, например. И вообще, зачем на фронте типолюбство? Надеюсь, бизнес-логику писать на жоэс ты не предлагаешь.

гемора с отладкой нет, все искоробочно работает.

но вот да, мне интересно, как будет выглядеть реализация всех этих модулей, контроллеров и т.п. на TS. по-моему код раздуется втрое.

я это пытался делать, и забил в итоге. когда на фронте ОЧЕНЬ много логики — то да, TS помогает. но именно для ангуляра боль.

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

Я прикручивал к angularjs 1.2. Сегодня вечером, если успею, покажу. Правда, я не пишу ежедневно на JS и не ставлю целью писать на нём красиво.

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

Альтернативы есть, но они в силу различных причин непопулярны. Таскать с собой runtime могут, например, приложения, написанные на Java и AdobeAir. При этом приложения также могут иметь GUI и быть кроссплатформенными.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 2)
Ответ на: комментарий от Shadow

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

Учитывая, что основная (и чуть не единственная) задача фронта - лопатить дом, возня с типами видится сильно избыточной. Ну кому как конечно, я вообще не жалую статическую типизацию, если нет на то серьезных оснований. Жаваскрипт и так утомительный, а еще типами загоняться, жесть какая то.

bread
()
Ответ на: комментарий от anonymous

Кто ж виноват что альтернатив электрону нет, приходится писать на том что есть

И как это мы только 30 лет без электрона жили.

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

Страдали конечно)

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

Веб-технологии стремительно развиваются и даже с учётом бесконечного велосипедоделания получаются быстрее чем альтернативы.

anonymous
()

Клиент изначально чист, и после запуска и авторизации начинает загружать свою конфигурацию с сервера со всем необходимым.

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

anonymous
()
Ответ на: комментарий от mister_LOB

Не очень понял.

Там в названии фреймворка что-то про универсальность есть, но это универсальность в пределах девайсов на win 10 (т.е. пк, планшеты, windows mobile и xbox one).

Только вот хайп по convergence по-моему утихает (убунтовский вариант так вообще помер), windows mobile крайне непопулярен, а про планшеты на винде я практически ничего не знаю.

Все плиточные приложения, которые я видел это дикий примитив. Самое сложное из того что видел - новый скайп, но с ним постоянные проблемы (например теряет сеть и статус при сворачивании приложения - у меня есть подозрение что у uwp приложений с жизненным циклом что-то не так, но я в эту тему не лез).

Midael ★★★★★
()

как бэ я топлю за кросс-платформу в виде нынче модных CEF, React, Python и других UI создающихся с помощью скриптовых ЯП в связке с dotNet core(С#), который «команде» знаком всяко лучше Java, и просто интересен ,т.к. удобство C# да еще и с нативной работой под НЕ окнами это круто

насколько видно есть «старшие товарищи» которые адекватно говорят что им «ехать а не шашечки» и ради кроссплатформы ставить раком налаженный процесс как-бы не стоит.

Прислушайтесь к ним !

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

Налаженный процесс ведется вообще не на С# и не dotNet, он там только местами через COM. А тут совсем уж свое и новое. Извините что пропустил момент в топике.

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

Скуйп вроде вообще на электрон садится,во всяком случае линуксовый и там местами проглядывают анимации по канонам Material, что странно.

Ну на счет того что UWP это для окон и только - знаю.Они вроде как до покупки XAMARIN и не метили в остальные платформы.

В целом мне хотелось бы увидеть в ближайшие месяцы XAML Standart 1.0 для кора, тогда уже UWP станет UWP. А сам внешний вид лишь паттерны и метафоры дизайна.

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

Во первых потому что у большей части клиентов кроме IE ничего не стоит. Или остальным в работе не пользуются. Во вторых это все же несколько хуже в плане воркспейса,много места будет занято панелями браузера. В третьих есть мелкие нюансы которые всплывут потому что юзерь просто закроет вкладку(наличие закладки не спасет,разве что ярлык,но видя как юзеры работают,это будет закрытие и открытие браузера, что минус), или к примеру траблы с протоколами,которые всплывают если что не так с сетевым оборудованием или сервером(конечно в случае c CEF такое тоже может произойти ,наверное,но пока не наблюдал, мб они правя код хромиума выпилили эти алерты и брейки)

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

В целом мне хотелось бы увидеть в ближайшие месяцы XAML Standart 1.0 для кора

А есть предпосылки? Последнее что я видел про XAML Standard, было про то что цель - унификация диалектов (потому что у замарина, uwp и wpf есть различия в разметке), а про то что они в кор попадут - ни слова

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

Внезапно, сегодня выставили на реддите: https://github.com/jsuarezruiz/forms-gtk-progress

Правда тут есть три момента:

1) Еще не готово

2) Непонятно насколько оно будет совместимо с netcore

3) Про xamarin forms в целом видел смешанные отзывы

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 1)
Ответ на: комментарий от Midael

Благодарю, в принципе если оно вообще работать будет уже хорошо. В целом главное не моновские Windows Forms, которые ,как минимум на мой взгляд создают больше проблем чем решают, а по мнению дотнетчиков просто устарели донельзя.

mister_LOB
() автор топика

Тебе не нужен кроссплатформенный UI, так что пока дров не наломал, бери WPF и делай работу.

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