LINUX.ORG.RU

Написать GUI-приложение и не удавиться

 , ,


0

2

Думаю, тема понятна. В 2021 году есть Electron, Qt и GTK. Электрон супер жирный (bloated) и в сообществе не уважается. Qt де-факто только для C++, а C++, как известно, за 35 лет своего существования скатился в большой бак с мусором, который не только не опустошается, но ещё и набивается новыми стандартами; в итоге есть 100500 способов сделать одну вещь. С GTK всё несколько лучше: и биндинги ко многим языкам есть, и стандартных виджетов хватает на «несложные приложения», да он даже под Wayland работает.

Теперь немного предыстории. Полгода назад я пересел на линух с оффтопика. На оффтопике я писал GUI-приложения на C# WPF в Microsoft Visual Studio. WPF - самое то, особенно в VS. И дизайнер есть, и дата-биндинги, и темплейты - всё для быстрой, комфортной разработки. Windows Forms, к слову, я тоже пробовал - всё выглядело достаточно костыльно, мне не зашло. Так вот, с момента перехода на онтопик я так и не написал ни одного GUI-приложения. Всё ощущается настолько неудобным, и, простите, «кривым», что ничего кроме приложений с одной кнопкой написать не получается. Думаю, я не один такой «тупой», хотя, могут же люди делать красивые DE и приложения с богатым интерфейсом. Вопрос: «Как?». Есть ли у меня возможность написать GUI-приложение не с веб-мордой, не с Qt, а с чем-нибудь легковесным, и притом удобным в разработке?

Заранее спасибо за ответы.

P.S. Сейчас максимально удобной кажется связка Glade + Vala, но это максимум Windows Forms, никак не WPF.

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

Согласен с тем, что лазарь годен. Сам не пользовался, но пользуюсь Double Commander-ом. Я бы посоветовал tcl/tk, но там определённые проблемы с вводом кириллицы. Они проявятся, если захочешь достичь совершенства в обработке шорткатов. В принципе они чинятся и я даже делал патч, но разработчикам это не нужно и уже лет 5-6 они ничего не сделали.

den73 ★★★★★
()
Последнее исправление: den73 (всего исправлений: 1)

Не надо писать GUI, для такой грязной работы есть индусы же!

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

Неправильно ты, дядя Федор, бутерброд ешь! Есть же nuklear, умеющий в кучу бэкендов и работающий на чистых сях!

anonymous
()

Попробуй зерокодинг не писать гуиприложения. Не нужно оно тебе :)

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

Культяпки - на крестах. А говнотык - на глибе. В общем, не годится ни то, ни другое.

И вообще, самый идеальный вариант — никогда не писать GUI, зачем в это дерьмо лезть? Есть же всякие индусы и т.п. низшие касты, которые могут и в говне ковыряться.

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

То что существуют ассенизаторы, не означает, что обычному человеку не нужно уметь пользоваться вантузом.

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

Ну, все-таки, Qt или GTK — это чересчур! Как в люк с дерьмом нырнуть без гидрозащиты.

А вантуз - это, например, nuklear — вполне себе сносно на случай, если очень приспичило, а ассенизатора рядом нет.

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

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

AKonia ★★
()

Qt. Главное не слушай местных болтунов и престарелых шизоидов, многие из которых вообще программировать не умеют. Мне преп сразу сказал пиши на Qt Creator. И ведь зря я кобенилась, только время зря потеряла с питоном.

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

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

Мне преп сразу сказал пиши на Qt Creator.

Дебил твой «преп». Может, он еще пытхон тебе посоветовал использовать?

покупать

Мде…

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

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

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

Не, в связке с питоном оно болеет. Я пробовал, у меня всё равно C++ там корни пускать начал, потому что не все классы которые нужны обёрнуты в питон и шаг влево, шаг вправо они вылезают.

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

Поубивал бы калокубщиков-абдуринщиков!

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

Это плохо выглядит. ИРЛ у тебя есть только 2 альтернативы - Qt и GTK и обёртки к ним. У всего остального есть ряд серьёзных болезней: либо не могут в HiDPI, либо не могут в темы оформления и выглядят так, словно пришли с Марса, либо просто убоги и много чего не могут.

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

Qt и много попоболи. Другие варианты не готовы для серьёзного применения или нишевы. Конечно есть ещё tk, оно простое как доска, но в этом и засада. Простые вещи делать просто, а сложные слишком сложно.

peregrine ★★★★★
()

с момента перехода на онтопик я так и не написал ни одного GUI-приложения

Ты просто ступил на юникс-путь, теперь тебе сложно писать не-консольные программы) А если серьезно, зачем вообще нужен GUI? ncurses - вот лучшее, что для этих целей изобретали когда-либо!

Dog ★★★
()

Написать GUI-приложение и не удавиться

Windows - пионерский лагерь.
Linux - лагерь в котором программируют по ПОНЯТИЯМ …

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

Гут.

Не pygtk а pygobject + gtk.

Я про всю эту скриптуху знаю только то, что она есть. Где-то.

У меня несколько иной подход. Ну и когда vala появилась, то я глянул этот язык, понял что это прекомпиль к С и задался вопросом а нафига мне прекомпиль к С, если С у меня уже есть.

А так-то… Да без разницы в принципе.

Moisha_Liberman ★★
()

Qt де-факто только для C++, а C++, как известно, за 35 лет своего существования скатился в большой бак с мусором, который не только не опустошается, но ещё и набивается новыми стандартами

Можно сказать, что QT это не совсем С++. «C++ QT» не столь ужасен, а библиотека содержит практически всё необходимое. В общем ничего лучше чем QT нативного и кроссплатформенного не дано. QML и хорошая документация вишенкой.

vtVitus ★★★★★
()

Ну если ты уже и так шарпист, то есть авалония, например, плюс на днях должен вот-вот выйти релиз .NET 6 в котором будет кроссплатформенный MAUI.

nrader
()

Есть ли у меня возможность написать GUI-приложение не с веб-мордой, не с Qt, а с чем-нибудь легковесным, и притом удобным в разработке?

Всегда поражался людям, которые заявляют что Qt менее легковесный, чем WPF. WPF, который, на минуточку, пошлёт тебя выкачивать и устанавливать .NET Framework последней версии на 400 МБ.

Так что если тебе ехать, а не шашечки, то альтернатив Qt’у просто нет. И этот Qt в т. ч. на голову выше по функциональности и быстрее всех этих WPF, WinForms и прочих недоподелок Microsoft.

При этом у Qt есть официальные байдинги к Python, которые просто работают.

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

Но зачем? Я понимаю биндинг к какому-нибудь ЯП, но смысл то вокруг культей наворачивать абстракции ради абстракций?

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

Не, в связке с питоном оно болеет.

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

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

Чтобы писать интерфейсы на декларативном языке. Как QML, но компилируется в нативный код.

Но вообще, у них и собственный бэкенд есть, а не только Qt (но это, наверное, больше для случаев, когда можно забить на «нативность» оформления).

sudopacman ★★★★★
()
Последнее исправление: sudopacman (всего исправлений: 1)

Электрон супер жирный (bloated) и в сообществе не уважается.

тебе шашечки или ехать?

Qt де-факто только для C++, а C++, как известно, за 35 лет своего существования скатился в большой бак с мусором

никуда он не скатывался, просто этот вонючий бак разросся

С GTK всё несколько лучше: и биндинги ко многим языкам есть, и стандартных виджетов хватает на «несложные приложения», да он даже под Wayland работает.

проблема глубже, чем ты думаешь: т.н. «современный» (хотя чего там современного, ему 30 лет в обед) GUI плох как бай дезигн, так и эволюционно.

Так вот, с момента перехода на онтопик я так и не написал ни одного GUI-приложения. Всё ощущается настолько неудобным, и, простите, «кривым», что ничего кроме приложений с одной кнопкой написать не получается.

может быть переход просто вскрыл истинную сущнсть современного гуя?

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

могут, с одной кнопкой и +/- одной фиксированной функциональностью, чаще всего для мобильников

Вопрос: «Как?».

чаще всего никак

Есть ли у меня возможность написать GUI-приложение не с веб-мордой, не с Qt, а с чем-нибудь легковесным, и притом удобным в разработке?

ты уверен, что тебе нужно писать это приложение? и насколько эргономичным оно будет?

anonymous
()
Ответ на: Гут. от Moisha_Liberman

C - это прекомпиль к ассемблеру, ассемблер - прекомпиль к двоичному коду, двоичный код - это …. ну ты понял, да?

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

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

ncurses - вот лучшее, что для этих целей изобретали когда-либо!

о дааа, искейп-последовательности - очень эргономично и понятно (нет), терминал, как отрыжка 60х, итд итп. И ведь никто не мешает сделать более приличный текстово-ориентированный UI интерфейс (не будет показывать пальцем), но нет, мы будем жрать проклятый ncurses.

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

Миш, плез, не мешай «говны виджетов для мышедетей» и GUI в общем случае. UI может быть эргономичным и легким в написании.

anonymous
()

GUI-приложение

не с Qt

Ну алло, подумай о пользователях программист-дизайнер. Ты где был до сегодняшнего дня, включительно? Таких недодизайнеров не пинает только ленивая панда. Только C++/Qt

с чем-нибудь легковесным

Ну, епаш на Tcl/Tk.

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

anonymous
()

Напиши веб приложение.

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

Всегда поражался людям, которые заявляют что Qt менее легковесный, чем WPF. WPF, который, на минуточку, пошлёт тебя выкачивать и устанавливать .NET Framework последней версии на 400 МБ.

4.2

Всё уже есть в системе. Ничего устанавливать не нужно.

Так что если тебе ехать, а не шашечки, то альтернатив Qt’у просто нет. И этот Qt в т. ч. на голову выше по функциональности и быстрее всех этих WPF, WinForms и прочих недоподелок Microsoft.

Qt остался в 90х. Ему до WPF ещё десятки лет нужно развиваться…

fsb4000 ★★★★★
()

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

anonymous
()

Написать GUI-приложение и не удавиться

А вы веревку не ищите и все будет OK! …

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

Понятно. Осталось реализовать транспиляцию с лазаруса на активный оберон и будет щастье дедовское.

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

Ты просто не пытался запариться, сделав например, свою тему оформления для приложения или даже цветовую палитру. На C++ это просто делалось, а на Python-е когда я смотрел нужные классы не были обёрнуты.

peregrine ★★★★★
()

Написать GUI-приложение и не удавиться

Метапрог осваивайте и

ЖИВЫ БУДЕТЕ!
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.