LINUX.ORG.RU

На каком тулките писать, чтобы удовлетворить тулкитофобов?

 , , ,


2

3

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

Понятно, что Gtk и Qt не подходят, так как весят просто неприлично много, а приложение предполагается маленьким и быстрым.

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

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

Нужно чтобы были стандартные виджеты: button, checkbox, radio button, text input, text area, которые есть везде (включая даже HTML form) и чтобы при компиляции для Шиндошс или OS X они выглядели нативно. Какие-то другие виджеты не нужны, особенно при наличии канваса, где их можно рисовать самому, если вдруг стандартных мало.

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

★★★★★

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

программку из одной формочки с базовыми виджетами.

Путь в тысячу ли начинается с первого шага, похвально, что начинаешь с малого, дорогу осилит идущий. Ищите и обрящете.

Но блядь магниты, как они работают?

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

И оно не сдохнет от такой модели? И даже выдаст мне на выходе чертежи по ГОСТу для изготовления деталей изделия?

Все эти онлайн-кады — тупая развлекуха, да и только!

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

магниты, как они работают?

а по электрическим проводам электроны или позитроны бегают?

anonymous
()

Понятно, что Gtk и Qt не подходят, так как весят просто неприлично много, а приложение предполагается маленьким и быстрым.

Не подходит только кутья, а гтк уже у всех установлена и весит нисколько. К тому же можно писать на скриптоте со скоростью мысли хоть в блокноте. А как тут советуют разворачивать сипипи окружение для хеловорда... Хорошая такая заявка на билет в дурку. Кроссплатформенность - в /dev/null. Серьезно, когда понадобится кровь из носу портировать, тогда и будешь думать об этом.

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

tk/tcl

Хорошая вещь, но пожалейте пользователя! Это только для личного употребления.

bread
()

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

По этому критерию tk тоже отпадает, про другие не знаю.

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

hobbit ★★★★★
()

Понятно, что Gtk и Qt не подходят, так как весят просто неприлично много, а приложение предполагается маленьким и быстрым.

Весят много, да. А со скоростью-то что не так? Тут некоторые вообще считают незазорным веб-интерфейс использовать, так на этом фоне Qt Widgets просто верх реактивности.

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

Кроссплатформенность - в /dev/null. Серьезно, когда понадобится кровь из носу портировать, тогда и будешь думать об этом.

Ага, а когда такой подход был у виндописателей, все возмущались...

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

Там Qt внутри.

The project is written in C++. The following open source libraries are used:

OpenCV 3.0 - a real-time computer vision library
gtkmm 3 library for the GUI part
pugixml for XML parsing

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

Кроссплатформа это утопия. Если ЦА больше виндовозная, так надо сразу для них делать хорошо. Для мобил тоже нужно писать натив или веб и не выделываться. Софт для линукса - пожалуйста на гтк, иначе будет маргинальное поделие, которыми пользуются только от безысходности.

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

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

Iron_Bug ★★★★★
()

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

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

есть ещё wxWidgets. для кроссплатформы годен, не слишком жирен, но имеет в наличии полный набор виджетов.

Кривой, падучий, тормозной, на разных ОС работает по разному. Полного набора родных виджетов не имеет.

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

нифига подобного. ни разу не падал и не тормозил. таки вы просто не умеете его готовить.

«родные» виджеты не нужны. нужно единообразие интерфейсов на всех платформах.

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

нифига подобного. ни разу не падал и не тормозил. таки вы просто не умеете его готовить.

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

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

«родные» виджеты не нужны. нужно единообразие интерфейсов на всех платформах.

Расскажите об этом пользователям на маке.

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

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

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

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

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

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

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

Кроссплатформа это утопия

Ага, объясните это авторам Firefox, VLC, Blender, LibreOffice, наконец. А то они и не знают.

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

Ты привел хреновый пример: самые жирные, говнистые, падучие и никчемные утилиты!

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

Тулкит из блендера ещё не упоминали?

Было бы круто. А его уже выдрали из блендера?

// Когда я на него смотрел (~2011), он был намертво прибит к блендеру...

Stil ★★★★★
()

Делай отдельно ядро приложения и отдельно его морду, на тех библиотеках и средствах, которые 100% установлены в систему, это:

MS Windows — WinAPI
GNU/Linux — GTK+2 (GTK+3)
macOS — CocoaAPI

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

При желании его можно будет дополнить веб-мордой.

EXL ★★★★★
()

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

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

не надо использовать самые последние неотлаженные версии

А какую версию посоветуешь? Последний стабильный 3.0.3?

Latest Development Release: 3.1.0 Latest Stable Release: 3.0.3 Previous Stable Release: 2.8.12

anonymous
()

А твоей приложухе точно нужна графика? Пиши cli-интерфейс - тулкитофобы будут довольны.

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

я юзала 2.8.x. предыдущий стабильный. вроде не видела с ним никаких траблов. потом они начали эксперименты с версиями 3.x.x и я особо за ними не следила. да и не было нужды: мне хватало старой версии за глаза.

Iron_Bug ★★★★★
()

Во еще нашел что. https://github.com/therecipe/qt

therecipe/qt is Go binding for Qt application framework which allows you to write GUI applications entirely in Go. This package supports almost all platform that supported by Qt, including Windows, Linux, macOS, iOS, Android, SailfishOS and Raspberry Pi.

anonymous
()

А какие из текущих тулкитов линуксовых, акромя GTK3, более-менее нормально умеют в HiDPI?

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

Qt5 так себе умеет, менюшки ползут и виджеты.
Адекватно умеет только многими почему-то ненавидимый гытыка 3.
Остальные, вроде tk, fltk и т.д. не умеют в мелкоточку от слова «совсем».

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

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

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

На маке система автоматически апскейлит не умеющие в hidpi приложения

Но не заметить этого невозможно.

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

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

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

Ты в 20см от 13" форточки сидишь, чтобы мгновенно, не приглядываясь, заметить разницу?

Не трынди. Конечно, разница бывает заметна, не вглядываясь. Но не при таком размере дисплея.

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