[Ответить в тред] Ответить в тред



<<
Назад | Вниз | Обновить тред | Автообновление
64 | 4 | 35

Выбора GUI тред Аноним 10/07/18 Втр 18:04:05  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 слышал?
- Слышал, но не хочу)

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

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

- Оп - хуй
- Сам знаю
Аноним 10/07/18 Втр 18:11:17  1225648
бамп
Аноним 10/07/18 Втр 18:12:12  1225649
бамп
Аноним 10/07/18 Втр 18:14:33  1225651
бамп
Аноним 10/07/18 Втр 18:18:17  1225655
бамп
Аноним 10/07/18 Втр 18:20:51  1225657
12vL2fwWgbN7mas[...].png (110Кб, 1360x768)
Бамп Java гуем
Аноним 10/07/18 Втр 18:23:56  1225661
Сделай отдельный сервис к которому будут обращаться всякие гуи.
Аноним 10/07/18 Втр 18:24:47  1225663
>>1225661
Еще раз... Зачем еще один сервис?
Аноним 10/07/18 Втр 18:28:33  1225667
maxresdefault.jpg (65Кб, 1280x720)
бамп
Аноним 10/07/18 Втр 18:36:10  1225672
Сейчас весы склоняются в сторону Java + Swing потому что там шикарный визуальный редактор. Что скажите?
Аноним 10/07/18 Втр 18:39:02  1225675
>>1225661
Тем более у меня там чисто бекенд с RESTFull API. Все общаются с помощью JSON
Аноним 10/07/18 Втр 19:06:14  1225693
>>1225646 (OP)
javafx
Аноним 10/07/18 Втр 19:11:38  1225697
>>1225693
Профиты? Плюсы, минусы. Говорят что сабж мертв. Пиздят?
Аноним 10/07/18 Втр 19:45:19  1225713
>>1225646 (OP)
lazarus?
Аноним 10/07/18 Втр 19:48:20  1225719
>>1225697
Хз но у меня при ресайзе окна с туду листом проц до предела грузится, а жавафх в это время нещадно высерает сотни метров в оперативку.
Аноним 10/07/18 Втр 19:48:33  1225720
>>1225713
> lazarus?
Готов ли Pascal продакшена? Как его поддерживать? Есть ли CI/CD под него? Как у него с человеко-часами?
Аноним 10/07/18 Втр 19:49:35  1225723
>>1225719
А что по Swing можешь сказать? В ютабах все более чем приятно выглядит
Аноним 10/07/18 Втр 19:54:43  1225725
>>1225713
Надеюсь ты пошутил
Аноним 10/07/18 Втр 19:54:54  1225726
>>1225697
FX мертв, swing тоже.
FX удалят из jdk, когда осенью выйдет java 11. Swing пока что оставляют просто потому, что очень много древнего легаси софта написано на свинге. Вообще, гуи на джаве и шарпе уже лет 6-8 никак не развиваются. Если хочешь что-то современное, бери qt (есть pyqt для питона), либо электрон. Остальное все либо умерло, либо помирает.
Аноним 10/07/18 Втр 20:01:12  1225731
>>1225726
> есть pyqt для питона
Пистон я не учил. Но думаю разберусь. Привязка будет работать в Qt creator? Или там нужно огороды городить?
Как pyqt работает с сетью? Мне нужно посылать http запросы и обрабатывать json ответы от апишки.
Плюс есть ли литература по настройке CI/CD для всего этого?
Електрон версия у меня есть, но во фронтенд я не умею сильно. Придется все же пердолить VueJS.
Хочется сделать ход Е2-Е4 и сравнить обе технологии.
Аноним 10/07/18 Втр 20:20:07  1225750
>>1225720
С поддержкой непросто. Ведь паскаль вышел из моды.
Аноним 10/07/18 Втр 20:22:45  1225751
USSEnterprise-A[...].jpg (56Кб, 1000x550)
>>1225750
Тогда в топку. Нужен ынтерпрайз
Аноним 10/07/18 Втр 20:23:31  1225752
>>1225646 (OP)
> Пишу исключительно под никсами и винды у меня под рукой нет.

Значит ты в курсе, что более 90% гуйни под линукс написано на qt и gtk. А ещё там wayland надвигается, поэтому выбор невелик https://wayland.freedesktop.org/toolkits.html
Аноним 10/07/18 Втр 20:26:17  1225756
>>1225752
> 90% гуйни под линукс написано на qt и gtk. А ещё там wayland надвигается
Ну на джаве тоже гуйня есть. Поэтому у меня в списке qt, java, electron. Осталось лишь выбрать стул.
Аноним 10/07/18 Втр 21:11:23  1225791
Swing для гуи, Spring как контейнер.
Аноним 10/07/18 Втр 23:05:54  1225865
>>1225791
Двачую этого.
Аноним 11/07/18 Срд 01:01:02  1225900
>>1225756
>Ну на джаве тоже гуйня есть.
Пожалей пользователей
Аноним 11/07/18 Срд 19:04:11  1226229
>>1225900
Начал пилить на PyQT + QML. Мозги плавятся правда от пихона)
Аноним 11/07/18 Срд 21:46:27  1226332
>>1225791
Сервлеты для гуи, гласфиш как контейнер.
фикс
Аноним 11/07/18 Срд 23:07:53  1226362
Haskell для гуи, Coq как контейнер.
Аноним 15/07/18 Вск 03:09:47  1228464
>>1226362
До Хаски мне как пешком до китая. Спасибо
Аноним 15/07/18 Вск 03:14:04  1228465
>>1225646 (OP)
Алсо столкнулся с проблемой webrtc в Qt. Через webview сначала хотел завести но понял что это так не работает. А мутить SIP у меня терпения не хватит. Открыл исходники Ring, ахуел, и закрыл. Есть у кого идеи?
Аноним 15/07/18 Вск 05:21:58  1228475
>>1225713
>lazarus
годно .
Есть ещё немецкий MSEGUI , немножко сложнее , но немецкий порядок , сам понимаешь .
Аноним 15/07/18 Вск 20:47:24  1228853
>>1225646 (OP)
> на чем сделать GUI?
tkl
Аноним 16/07/18 Пнд 07:22:40  1229040
>>1225646 (OP)
>- Electron + VueJS
> Минусы: нет визуального редактора промышленного качества
Я тоже в верстку хуево могу, но есть же всякие либы компонентов типа MaterialUI, SemanticUI и прочего шлака, который позволяет высирать единообразные интерфейсы практически с 0% кастомизации компонентов.
Аноним 16/07/18 Пнд 09:10:06  1229070
>>1225646 (OP)
Java + QT

/thread
Аноним 16/07/18 Пнд 09:58:33  1229090
>>1229070
Кит и часы.
> Java
> GUI
Долбоебище, блять.
Аноним 16/07/18 Пнд 10:31:22  1229106
>>1229090
Дурачок, если бы ты хоть немного поизучал тему, то узнал, что биндинги для QT есть во многих языках.
Аноним 16/07/18 Пнд 15:40:06  1229215
>>1229106
150Мб JRE + 100Мб Qt. Даже электронопараша будет меньше весить.
Аноним 16/07/18 Пнд 15:46:19  1229218
>>1225646 (OP)
>Electron + VueJS

>Electron + Marko
Аноним 16/07/18 Пнд 16:20:12  1229241
>>1229106
Можно считать, что за пределами плюсов и питона культей не существует. Упоротостьство последних вообще заслуживает памятника и постановки на учет, сомневаюсь, что такие препараты вообще законны. Всё-таки язык без ABI да ещё и при отсутствии всякой интроспекции - это тебе не шутки.
Аноним 16/07/18 Пнд 18:10:11  1229315
Кордова - тормозное и глючное говно. Пиши на React Native.
Он тоже тормозное и глючное говно, но не такое тормозное и глючное, как Кордова.
Аноним 16/07/18 Пнд 19:53:51  1229384
>>1229215
Тащемта на 10 жаве можно собрать рантайм на 20 мб
Аноним 16/07/18 Пнд 20:30:27  1229409
>>1229218
> Electron + Marko
Мне по нраву! Спасибо!
Аноним 16/07/18 Пнд 20:31:24  1229410
>>1229315
> Пиши на React Native.
Сейчас мобилки для меня не главное. Главное сейчас десктоп. С мобилками потом, но за совет спасибо
Аноним 16/07/18 Пнд 20:33:25  1229411
>>1228475
> годно .
В каком году это было годно?
Аноним 17/07/18 Втр 18:44:42  1230008
>>1229215
В ТЗ от ОПа предельный размер рантайма не указан.

>>1229241
Это единственное решение, удовлетворяющее опа, ведь оп-хуй не хочет учиться:
>Потому что я не знаю "Х" и учить буду долго.
Аноним 19/07/18 Чтв 11:08:42  1230868
>>1225646 (OP)
можешь не благодарить Ultimate++
Аноним 20/07/18 Птн 02:30:42  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 приложения не только под десктопн но и на мобильники.
Аноним 20/07/18 Птн 02:54:00  1231394
>>1231391
Нет компонентов.
И не будет.
Тормозные таблицы, если это можно назвать таблицами.
Крайне неэффективная модель взаимодействия с данными.
Нет нормального дизайнера - сравни JForm Designer и ту хуйню, о которой ты говоришь.
И т.д. И т.п.

>уделывает Swing на раз
В каком месте, лол?

>2.0 версия
Ты даже не знаешь номера актуальной версии. Кому я всё это пишу, вообще.
Аноним 20/07/18 Птн 03:03:58  1231396
>>1231391
Ты бы сам-то стал пользоваться поделием на javafx? Вот и я нет. Даже tk предпочтительнее с его motif-подобным видом под иксами, чем это.
Аноним 20/07/18 Птн 09:33:17  1231488
>>1231396
>Ты даже не знаешь номера актуальной версии
Ну блять, я не стал прогугливать номер с точностью до билда. Основной поинт был в том что вторая версия куда жизнеспособнее по сравнению с первой.

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

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

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

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

>Вот и я нет
Почему ты говоришь за меня? Если стартует новые проект, где в требованиях указано что нужно десктопное решение на Java то я без колебаний выберу JavaFx.
Аноним 20/07/18 Птн 13:23:46  1231612
>>1231488
>Компоненты? Есть сторонние библиотеки.
Компоненты - это и есть сторонние библиотеки.
Ну, то-есть, их нет.

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

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

Или IDE напиши.
Спроси у чуваков из JetBrains, почему они делают свои IDE на свинге, который остался где-то в 90-х. Может у них денег мало или ума?
Аноним 20/07/18 Птн 14:40:03  1231658
>>1231612
Потому что JavaFX не было когда IntelliJ писалась?
Аноним 20/07/18 Птн 15:34:10  1231692
>>1231658
Там весь гуй уже переписан многократно за последние почти 20 лет.

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

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

До Оракла, например, дошло поздновато, уже после того, как они включили его в JDK.
Аноним 21/07/18 Суб 15:02:40  1232251
>>1231391
Оп на связи. Мне нравится как ты расписал по CI/CD! У нас вся команда в ужасе, девопс в отпуске а проект надо допиливать. Нашли джависта, сидит сейчас пилит. Я же пока что бек латаю))
Вопрос по существу: джавист попросил найти инфу по webrtc на джаве. Это вообще реально или все же придется писать костыль?
Аноним 21/07/18 Суб 18:09:04  1232393
>>1232251
Какой конкретно стек тебя интересует в WebRTC? В целом, с WebRTC все плохо вне браузеров. На Go есть какие-то более-менее рабочие реализации, но это всё.
Аноним 21/07/18 Суб 18:38:54  1232414
Рекомендую IUP. Легковесный, кроссплатформенный (запиливают даже веб-бекенд и под мобилки), использует родные наборы виджетов, написан на сишке (а не на язычке без ABI, как у некоторых).
Аноним 21/07/18 Суб 18:40:44  1232416
>>1232414
https://ru.wikipedia.org/wiki/IUP
http://webserver2.tecgraf.puc-rio.br/iup/
Аноним 23/07/18 Пнд 02:03:41  1233334
>>1232393
Короче, есть астериск развернутый в AWS. К нему подходит сип-транк от местного ОпСоСа. И я понятия не имею какой стек заюзать и что с этим делать. Астериск общается по средству сокетов и вебртц. Мы с джавистом сидим в ахуе уже какой день, ПМ разъяренно бьет хуем нам полбу и обещает подвесить за гениталии. Тестеровщик сошел с ума и предлагает все перехуячить на электроне как было задуманно. Девопс вернулся из отпуска, охуел от всего этого и с кроваво-красными глазами сидит вместе с нами гуглит что можно сделать.
Аноним 23/07/18 Пнд 02:08:21  1233335
Ах да забыл
У нас же макет есть всего этого чуда-юда от в рот не ебатца дизигнера хуева который нарисовал UI, потом после пиздюлей от начальства переосмыслил все и сделал UX. Ну вы поняли. Что само по себе пиздец. Так что всякие поделия меня не интересуют. Клиенту нужно чтобы его ховно выглядело как конфетка обернутая свистелками и перделками. Сука бесит
Аноним 23/07/18 Пнд 06:15:28  1233359
>>1233334
Поменьше эмоций. Какие варианты обдумывали?
Если бек на Джаве, а с ртц проще работать из ЖС, то не думали сколхозить солюшен с использованием Rhino?
Алкодиллер 23/07/18 Пнд 10:56:26  1233428
Однозначно Electron! Абсолютная кроссплатформенность без каких-либо зависимостей. Не требуется компиляция. Плюс доступ ко всем прелестям Node.js (Функции работы с сетью, поддержка всевозможных типов данных, огромный инструментарий для интеграции с другими приложениями, безобразно огромный склад с готовыми модулями). Исчерпывающая документация. Только Vue.js не советую. Это фреймворк для разработчиков, плотно сидящих на веб-разработке, он не дает ни какого GUI, лишь помогает держать структуру проекта. Если речь о написании одного единственного приложения, идеально подойдет Webix. Там большой набор всевозможных кнопок и прочих контроллеров, есть даже онлайновый визуальный редактор интерфейса, и на "'Электроне работает будто для него и создавался.
Алкодиллер 23/07/18 Пнд 11:40:14  1233448
Ну и да, добавлю, WebRTC и вот это все в Электроне само собой поддерживается хорошо как нигде, ибо гугл хром. А так же, ни коим образом это дело не тормозит. Приложения на основе Node.js в прямом смысле работают быстрее, чем то же самое написанное на C++ за счет всяких сборок мусора и прочих оптимизаций. Причем даже низкоуровневые задачи, специфичные для C++, на Node.js решаются в разы проще и эфективнее. Из коробки доступно всё, от работы с потоками, сетями и файлами до обработки бинарных данных и криптографии https://nodejs.org/dist/latest-v10.x/docs/api/
Аноним 24/07/18 Втр 19:35:26  1234274
>>1233359
Бек у нас на ноде да да. По сути там одна CRM которая занимается лишь тем что принимает и обрабатывает статистику звонков пользователей. Еще есть астериск через который операторы звонят.
Ты имеешь ввиду движок для JS Rhino?


Топ тредов
Избранное