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.

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

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

И да, я топлю за Qt. Мне нравится.

Дело говоришь, hobbit.

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

Harald

можно юзать Qt с C++ только для интерфейса, а остальную программу на C

Тоже вариант для любителей Сишки.

anonymous
()

Эх, пошутить охота, да боюсь ТС обидеть …

anonymous
()
Ответ на: комментарий от anonymous
  • тебе шашечки или ехать?

  • а может и не быть уродливым, учитывая последние тенденции в интерфейсостроении (флетдезигн и вот это всё), даже ежу стало ясно, что для того, чтобы быть красивым, вовсе не нужно лезть в 3d и скевоморфизмы (даже наоборот)

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

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

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

SixtyFPS ещё.

Господа переизобретают QML? Мое почтение, сам о подобном же размышляю!

YogSagot ★★☆
()

Glade +

Ну попробуй тогда wxGlade.
На выходе будут Python, C++, Perl, Lisp...
Кросс-платформенность вообще эпичная.

Кстати, тот же wxPython в себе содержит свои треды и брокер сообщений для того, чтобы UI не фризился. Все примеры в документации, абсолютно годные. Весь UI будет выглядеть нативно и кошерно. Для извращенцев можно собрать под Motif.

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

Прикольная штука. Напоминает Nuklear чем-то, а графики там отпад. Интересно под Андрюшу есть порт?

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

Всем большое спасибо за ответы!

На данный момент принял лучшее для себя решение - не писать GUI. Возможно, посмотрю в сторону TUI, но, в любом случае, пока простой CLI - моё всё.

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

хочется чего-нибудь нативного.

Общения статического бинаря по X-протоколу с помощью read() и write() ? Или заполнения framebuffer’а операторами = языка Си?

Но на этом пути от рисовалки-царапалки мышкой по экрану до однокнопочного GUI сначала нужно дойти. А дальше всё, как по маслу. Верхние уровни Вы знаете в общих чертах.

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

Lazarus

Net, Java, Delphi, … содержат тонны API.
Вроде как хорошо, но приходится в модулях объявлять ТОННЫ классов, а это

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

А иначе никак. Хочешь кроссплатформу, тащи зависимости либо прямо в бинарник их компиляй.

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

Шутка

Рад за вас

Эшо не удавились ...
anonymous
()

Пользуясь случаем спрошу. Пока я под оффтопом, есть необходимость запилить несколько десктопных приложух. По WPF не подскажешь что можно почитать/посмотреть?

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