Этого треда уже нет.
Это копия, сохраненная 4 сентября 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
смищная-картинка-процессор-многоядерный-процессор-4460867.jpeg132 Кб, 602x676
Выбора GUI тред 1225646 В конец треда | Веб
Дано: самописная, узкоспециализированная (это важно) CRM система, бекенд которой развернут в AWS
Требования: написать десктопное приложение для ее работы. Приложение должно подключаться к SIP или WebRTC чтобы с него можно было звонить на мобильные номера через виртуальную АТС. Решение должно быть кроссплатформенным (win, mac, linux) , в идеале чтобы часть функционала была переносима на мобилки.
Вопрос: на чем сделать GUI?
Рассматриваю три варианта:
- Java + Swing UI --- есть визуальный редактор для UI, кроссплатформенность. Минусы: я не знаю как развернуть CI/CD, средняя стоимость разработки
- Qt/QML --- есть визуальный редактор для UI, кроссплатформенность. Минусы: я не люблю С++ и С, высокая стоимость разработки
- Electron + VueJS --- кроссплатформенность, меньше затрат в человеко-часах на разработку. Одну и ту же кодовую базу можно портировать под мобилки с помощью Cordova. Минусы: нет визуального редактора промышленного качества (или же есть но он стоит денег). На слабых машинах может тупить. в работу ВОЗМОЖНО пойдут девайсы типа RaspberyPI

FAQ
- Почему не C# ?
- Я его не знаю. Пишу исключительно под никсами и винды у меня под рукой нет. Тем более приложение должно быть максимально кроссплатформенным

- О GTK слышал?
- Слышал, но не хочу)

- Почему бы не использовать "Х"
- Потому что я не знаю "Х" и учить буду долго.

- Почему бы не использовать браузер?
- Такие требования.

- Оп - хуй
- Сам знаю
2 1225648
бамп
3 1225649
бамп
4 1225651
бамп
5 1225655
бамп
12vL2fwWgbN7masJ5N04bzA.png110 Кб, 1360x768
6 1225657
Бамп Java гуем
7 1225661
Сделай отдельный сервис к которому будут обращаться всякие гуи.
8 1225663
>>25661
Еще раз... Зачем еще один сервис?
maxresdefault.jpg65 Кб, 1280x720
9 1225667
бамп
10 1225672
Сейчас весы склоняются в сторону Java + Swing потому что там шикарный визуальный редактор. Что скажите?
11 1225675
>>25661
Тем более у меня там чисто бекенд с RESTFull API. Все общаются с помощью JSON
sage 12 1225693
13 1225697
>>25693
Профиты? Плюсы, минусы. Говорят что сабж мертв. Пиздят?
15 1225719
>>25697
Хз но у меня при ресайзе окна с туду листом проц до предела грузится, а жавафх в это время нещадно высерает сотни метров в оперативку.
16 1225720
>>25713

> lazarus?


Готов ли Pascal продакшена? Как его поддерживать? Есть ли CI/CD под него? Как у него с человеко-часами?
17 1225723
>>25719
А что по Swing можешь сказать? В ютабах все более чем приятно выглядит
18 1225725
>>25713
Надеюсь ты пошутил
19 1225726
>>25697
FX мертв, swing тоже.
FX удалят из jdk, когда осенью выйдет java 11. Swing пока что оставляют просто потому, что очень много древнего легаси софта написано на свинге. Вообще, гуи на джаве и шарпе уже лет 6-8 никак не развиваются. Если хочешь что-то современное, бери qt (есть pyqt для питона), либо электрон. Остальное все либо умерло, либо помирает.
20 1225731
>>25726

> есть pyqt для питона


Пистон я не учил. Но думаю разберусь. Привязка будет работать в Qt creator? Или там нужно огороды городить?
Как pyqt работает с сетью? Мне нужно посылать http запросы и обрабатывать json ответы от апишки.
Плюс есть ли литература по настройке CI/CD для всего этого?
Електрон версия у меня есть, но во фронтенд я не умею сильно. Придется все же пердолить VueJS.
Хочется сделать ход Е2-Е4 и сравнить обе технологии.
21 1225750
>>25720
С поддержкой непросто. Ведь паскаль вышел из моды.
USSEnterprise-Aquarter.jpg56 Кб, 1000x550
22 1225751
>>25750
Тогда в топку. Нужен ынтерпрайз
23 1225752
>>25646 (OP)

> Пишу исключительно под никсами и винды у меня под рукой нет.



Значит ты в курсе, что более 90% гуйни под линукс написано на qt и gtk. А ещё там wayland надвигается, поэтому выбор невелик https://wayland.freedesktop.org/toolkits.html
24 1225756
>>25752

> 90% гуйни под линукс написано на qt и gtk. А ещё там wayland надвигается


Ну на джаве тоже гуйня есть. Поэтому у меня в списке qt, java, electron. Осталось лишь выбрать стул.
Аноним 25 1225791
Swing для гуи, Spring как контейнер.
26 1225865
>>25791
Двачую этого.
27 1225900
>>25756

>Ну на джаве тоже гуйня есть.


Пожалей пользователей
28 1226229
>>25900
Начал пилить на PyQT + QML. Мозги плавятся правда от пихона)
29 1226332
>>25791
Сервлеты для гуи, гласфиш как контейнер.
фикс
30 1226362
Haskell для гуи, Coq как контейнер.
31 1228464
>>26362
До Хаски мне как пешком до китая. Спасибо
32 1228465
>>25646 (OP)
Алсо столкнулся с проблемой webrtc в Qt. Через webview сначала хотел завести но понял что это так не работает. А мутить SIP у меня терпения не хватит. Открыл исходники Ring, ахуел, и закрыл. Есть у кого идеи?
33 1228475
>>25713

>lazarus


годно .
Есть ещё немецкий MSEGUI , немножко сложнее , но немецкий порядок , сам понимаешь .
34 1228853
>>25646 (OP)

> на чем сделать GUI?


tkl
35 1229040
>>25646 (OP)

>- Electron + VueJS


> Минусы: нет визуального редактора промышленного качества


Я тоже в верстку хуево могу, но есть же всякие либы компонентов типа MaterialUI, SemanticUI и прочего шлака, который позволяет высирать единообразные интерфейсы практически с 0% кастомизации компонентов.
36 1229070
>>25646 (OP)
Java + QT

/thread
37 1229090
>>29070
Кит и часы.

> Java


> GUI


Долбоебище, блять.
38 1229106
>>29090
Дурачок, если бы ты хоть немного поизучал тему, то узнал, что биндинги для QT есть во многих языках.
39 1229215
>>29106
150Мб JRE + 100Мб Qt. Даже электронопараша будет меньше весить.
40 1229218
>>25646 (OP)

>Electron + VueJS



>Electron + Marko

41 1229241
>>29106
Можно считать, что за пределами плюсов и питона культей не существует. Упоротостьство последних вообще заслуживает памятника и постановки на учет, сомневаюсь, что такие препараты вообще законны. Всё-таки язык без ABI да ещё и при отсутствии всякой интроспекции - это тебе не шутки.
42 1229315
Кордова - тормозное и глючное говно. Пиши на React Native.
Он тоже тормозное и глючное говно, но не такое тормозное и глючное, как Кордова.
43 1229384
>>29215
Тащемта на 10 жаве можно собрать рантайм на 20 мб
44 1229409
>>29218

> Electron + Marko


Мне по нраву! Спасибо!
45 1229410
>>29315

> Пиши на React Native.


Сейчас мобилки для меня не главное. Главное сейчас десктоп. С мобилками потом, но за совет спасибо
46 1229411
>>28475

> годно .


В каком году это было годно?
47 1230008
>>29215
В ТЗ от ОПа предельный размер рантайма не указан.

>>29241
Это единственное решение, удовлетворяющее опа, ведь оп-хуй не хочет учиться:

>Потому что я не знаю "Х" и учить буду долго.

48 1230868
>>25646 (OP)
можешь не благодарить Ultimate++
49 1231391
Не знаю что за поехавший писал про то что JavaFx мертв.
2.0 версия вполне себе современная, уделывает Swing на раз. UI описывается через xml, есть тула для дизайнинга форм (SceneBuilder). В нагрузку рекомендую взять еще либу ControlsFX с доп контролами которых нет в стандартной поставке.
Оракл рекомендует юзать именно JavaFx, в противовес свингу. К 11 жаве правда JavaFx уберут из JDK, но с целью сокращения релизных циклов, другими словами в виде отдельной либы JavaFx сможет развиваться быстрее нежели в составе JDK.
CI/CD реализуется так. Maven/Gradle в качестве сборщика. Тестовые/продовые сборки выполняешь через Jenkins/TeamCity. Там же можно реализовать деплой в продакшн окружение - плагинов хоть жопой жуй.
К сборкам в Jenkins/TeamCity можно прикрутить пул/мерж реквесты гитхаба или гитлаба - будет тебе еще и кодревью (если для тебя актуально).
К слову есть еще проект Gluon который позволяет писать кросплатформенные JavaFx приложения не только под десктопн но и на мобильники.
50 1231394
>>31391
Нет компонентов.
И не будет.
Тормозные таблицы, если это можно назвать таблицами.
Крайне неэффективная модель взаимодействия с данными.
Нет нормального дизайнера - сравни JForm Designer и ту хуйню, о которой ты говоришь.
И т.д. И т.п.

>уделывает Swing на раз


В каком месте, лол?

>2.0 версия


Ты даже не знаешь номера актуальной версии. Кому я всё это пишу, вообще.
51 1231396
>>31391
Ты бы сам-то стал пользоваться поделием на javafx? Вот и я нет. Даже tk предпочтительнее с его motif-подобным видом под иксами, чем это.
52 1231488
>>31396

>Ты даже не знаешь номера актуальной версии


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

>В каком месте, лол?


Ок, тут нужно приводить аргументы что ведет нас к затяжному спору. Я опробовал оба фреймворка. В JavaFx мне понравилось именно что отделение UI представления в xml, которого нет в свинге. JForm Designer все равно сгенерирует тебе java код которые криворукие макаки будут править под себя (мы же тут про многолетнюю промышленную разработку говорим а не про одиночный проект?).
В легаси проекте где был свинг никакой wysiwyg редактор вообще прикручен не был от чего работа с построением новой формы (или правкой старой) превращалась в еблю - внес правку в java код, компилишь и запускаешь дабы проверить результат.

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

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

Компоненты? Есть сторонние библиотеки. Даже решения на свинге не обходятся без компонентов из дополнительных либ.

>Вот и я нет


Почему ты говоришь за меня? Если стартует новые проект, где в требованиях указано что нужно десктопное решение на Java то я без колебаний выберу JavaFx.
53 1231612
>>31488

>Компоненты? Есть сторонние библиотеки.


Компоненты - это и есть сторонние библиотеки.
Ну, то-есть, их нет.

>В JavaFx мне понравилось ...


Да, там много ништяков. Особенно, с точки зрения человека, далёкого от суровой практики.

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

Или IDE напиши.
Спроси у чуваков из JetBrains, почему они делают свои IDE на свинге, который остался где-то в 90-х. Может у них денег мало или ума?
54 1231658
>>31612
Потому что JavaFX не было когда IntelliJ писалась?
55 1231692
>>31658
Там весь гуй уже переписан многократно за последние почти 20 лет.

Дело в том, что JavaFX - крайне неэффективная и непрактичная вещь для UI общего назначения (т.е. не медиа, не 3D и т.п.).

Игрушка.
Просто это не до всех и не сразу доходит.

До Оракла, например, дошло поздновато, уже после того, как они включили его в JDK.
56 1232251
>>31391
Оп на связи. Мне нравится как ты расписал по CI/CD! У нас вся команда в ужасе, девопс в отпуске а проект надо допиливать. Нашли джависта, сидит сейчас пилит. Я же пока что бек латаю))
Вопрос по существу: джавист попросил найти инфу по webrtc на джаве. Это вообще реально или все же придется писать костыль?
57 1232393
>>32251
Какой конкретно стек тебя интересует в WebRTC? В целом, с WebRTC все плохо вне браузеров. На Go есть какие-то более-менее рабочие реализации, но это всё.
58 1232414
Рекомендую IUP. Легковесный, кроссплатформенный (запиливают даже веб-бекенд и под мобилки), использует родные наборы виджетов, написан на сишке (а не на язычке без ABI, как у некоторых).
60 1233334
>>32393
Короче, есть астериск развернутый в AWS. К нему подходит сип-транк от местного ОпСоСа. И я понятия не имею какой стек заюзать и что с этим делать. Астериск общается по средству сокетов и вебртц. Мы с джавистом сидим в ахуе уже какой день, ПМ разъяренно бьет хуем нам полбу и обещает подвесить за гениталии. Тестеровщик сошел с ума и предлагает все перехуячить на электроне как было задуманно. Девопс вернулся из отпуска, охуел от всего этого и с кроваво-красными глазами сидит вместе с нами гуглит что можно сделать.
61 1233335
Ах да забыл
У нас же макет есть всего этого чуда-юда от в рот не ебатца дизигнера хуева который нарисовал UI, потом после пиздюлей от начальства переосмыслил все и сделал UX. Ну вы поняли. Что само по себе пиздец. Так что всякие поделия меня не интересуют. Клиенту нужно чтобы его ховно выглядело как конфетка обернутая свистелками и перделками. Сука бесит
62 1233359
>>33334
Поменьше эмоций. Какие варианты обдумывали?
Если бек на Джаве, а с ртц проще работать из ЖС, то не думали сколхозить солюшен с использованием Rhino?
Алкодиллер 63 1233428
Однозначно Electron! Абсолютная кроссплатформенность без каких-либо зависимостей. Не требуется компиляция. Плюс доступ ко всем прелестям Node.js (Функции работы с сетью, поддержка всевозможных типов данных, огромный инструментарий для интеграции с другими приложениями, безобразно огромный склад с готовыми модулями). Исчерпывающая документация. Только Vue.js не советую. Это фреймворк для разработчиков, плотно сидящих на веб-разработке, он не дает ни какого GUI, лишь помогает держать структуру проекта. Если речь о написании одного единственного приложения, идеально подойдет Webix. Там большой набор всевозможных кнопок и прочих контроллеров, есть даже онлайновый визуальный редактор интерфейса, и на "'Электроне работает будто для него и создавался.
Алкодиллер 64 1233448
Ну и да, добавлю, WebRTC и вот это все в Электроне само собой поддерживается хорошо как нигде, ибо гугл хром. А так же, ни коим образом это дело не тормозит. Приложения на основе Node.js в прямом смысле работают быстрее, чем то же самое написанное на C++ за счет всяких сборок мусора и прочих оптимизаций. Причем даже низкоуровневые задачи, специфичные для C++, на Node.js решаются в разы проще и эфективнее. Из коробки доступно всё, от работы с потоками, сетями и файлами до обработки бинарных данных и криптографии https://nodejs.org/dist/latest-v10.x/docs/api/
65 1234274
>>33359
Бек у нас на ноде да да. По сути там одна CRM которая занимается лишь тем что принимает и обрабатывает статистику звонков пользователей. Еще есть астериск через который операторы звонят.
Ты имеешь ввиду движок для JS Rhino?
Тред утонул или удален.
Это копия, сохраненная 4 сентября 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски