хоть сами на них писали что-то серьезнее hello world? Да нет Qt альтернативы вообще. Я писал GUI на всем чем можно, от голого WinAPI и голого OpenGL до дружбы HTML с плюсами. Реальность такова, что если нужно более-менее вменяемое GUI - только Qt даёт возможность его писать без лишней боли.
PS: какие-то претензии к Qt по поводу препроцессора вообще несостоятельны, потому что для плюсов препроцессоры\генераторы\форматтеры\фиксеры - это вообще норма
Камон, ты делаешь одну-две ГУИ-формочки, и клиенту отдаешь сетап на 15 мегабайт. Ну что за бред?
Вы правы, но сейчас уже не то время когда нужно за каждый мегабайт трястись)
Сейчас люди которые делают гуй на электроне просто смеются в голос
во-первых не одну, и даже не две. Но даже для такого случая 15Мб - это ни о чём даже для телефонов
Ага, а потом приходят люди с программами на Raku и Zig, и смеются.
До чего же люди расточительны
Это те, которые хоронят С++? Да кому какая разница - пусть смеются, это их половые проблемы. По поводу размера бинарников - за туеву хучу лет разработки ни у кого нет ни одного задокументированного случая претензий заказчика к размерам бинарника на плюсах. Это всё сказки, которыми сташают новичков ночью у костра. В отличии от претензий к зависимостям у других языков.
у меня были по metered connection в дальних районах страны люди не хотели много качать
MacMini.local ~/p/t/z/bin ls -al test-zig && otool -L test-zig -rwxr-xr-x 1 glassy staff 18387 Jul 18 22:33 test-zig* test-zig: /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
У заказчиков ресурсов достаточно, либо они таки просят оптимизировать, а вот массовые продукты должны быть написаны экономно
Они и написаны экономно. 15Мб - это экономно в 2023 даже 75Мб - это экономно
Но.. размер же не растет линейно от количества формочек? 15 мегабайт - это же не только 2 формочки, но и единожды забандленная часть?
Не понял про забандленную часть. Программа может делать что угодно, а две формочки нужны для настройки. Для формочек добавляют библиотеки Qt. Не надо так.
Более того народ видимо не в курсе, что если на других либах делать GUI с возможностями которые предоставляет Qt - то в итоге их софт как минимум будет весить не меньше Qt. А я уверен что сильно больше.
75 это много, говорит о том что люди в край разделились
Я бы не писал, если не было бы альтернатив вроде Лазарус, WPF, SwiftUI.
уж лучше конский бинарник давно был прикол - тула наC# так вот бинарник то мелкий но требует установки .net нужной версиии и гигабайт места)
cmake смотрит на тебя с недоумением 😀
qt либы в винде можно положить рядом с бинарником не так уж много там и получается
это не много - у меня на телефоне половина программ где-то такого размера +\-30 Мб. И обновляются чуть ли не каждый день.
Tk вполне функциональный GUI.
"только Qt" -- очевиднейшая чушь. писали и на MFC, и на голом Win32, и на Gtk и жили как-то без Qt. В конце концов можно вебприложение сделать.
Тю, так и WinAPI тоже вполне функциональный GUI. Вопрос в том на сколько безболезненно можно писать на нём GUI. Альтернативы Qt в этом планет нет и пока не видно. Как появится - я первый на неё перейду. А пока все другие либы - это "ещё одна библиотека, которая может отрисовать кнопку"
Особенно круто потом mfc программы на маке собирать.
Они же кросс платформенные и в случае чего можно легко сходить к апи платформы? Надеюсь с поддержкой юникода и всяких cp1251 и прочего. В темы они наверное все умеют и в полную кастомизацию контроллов тоже. Ну и не забываем, что для qt написано очень много самых разных контроллов. Надо их только использовать и всё. Все-таки за десятки лет смогли вокруг много всего сделать. Будет ли на других такой выбор - неизвестно
Можно писать безболезненно. Qt -- предубеждение. Если у Fltk действительно проблемы (с размерами, с локализацией), то у переписленного выше все более менее ок если правильно пользоваться.
Да! Можно! Но зачем? (*фото троллейбуса из буханки*)
Вот когда они придут с чем-то production-ready, тогда и поговорим
Я повторю свой тейк, что линукс-десктоп давно можно (и нужно) вынести за скобки. Из десктопных остаются две платформы, на которых, если речь про С++, можно ГУИ сделать нативными средствами. То, что вам винапи или MFC больно использовать, говорит лишь о том, что вы очень мало работали и с MFC, и с Qt.
Это говорит о запущенном состоянии циркового представления
Я работал достаточно с MFC, это мой первый GUI фрейворк. Так вот - он отстой. Ну если брать все существющие GUI либы - то он где-то в конце, рядом с WinAPI. Ещё раз - я не спорю с тем, что можно нативно делать под каждую платформу. Я делал. И на WinAPI и даже на OpenGL (где всё сам отрисовываешь). Да! Можно! Но зачем? *фото буханки из троллейбуса*
Фу, веб приложения, обмажутся своим вебом, а потом интернета нет и ой
Открою большую тайну, но WinAPI разрабатывали умнейшие люди человечества. Самые сливки, которые Майкрософт могла купить на рубеже 90х.
Ну это уже совсем жирно, аккуратнее, начинаете вытекать из чата
Частично с ним соглашусь, но не про GUI
Ну в части ядра, пожалуй да, наверное так и есть.
GUI, по-вашему, был лучше сделан через Objective-C?
И они сделали его офигезно! У них очень крутые архитекторы системных вещей. Но проблема в том, что WinAPI - это не GUI либа. Это именно API. А GUI на нём тебе придётся делать самому. Мы обсуждаем именно GUI либы.
Забыли отметить что гуи нативно придется делать два раза. С нуля. А потом появится мобильник как платформа - и третий. А потом еще один мобильник - и четвертый. И так до бесконечности. Qt далек от идеала но упрощает очень много, особенно в плане головняка с портабельностью. С++билдер мне в свое время понравился гораздо больше, но созданный на нем софт работал на одном компе под одной версией винды.
Нет, не соглашусь. На коротких дистанциях — может быть. Но в инженерном плане нативные средства будут в выигрыше. Скажем, пришлось делать новую версию старой программы под Apple Silicon. Qt надо обновлять, потому что старые версии под Apple Silicon не компиллируются. Сразу ломается вся сборка, вручную методом проб и ошибок надо выяснять, что теперь писать линковщику. Старую ветку тоже надо переделывать, потому что макоси нужен универсальный бинарник. Итого — три операционные системы надо полностью перетряхивать.
Достаете откуда нибудь библиотеки, и потом собираете обычным клангом, тоже мне проблема
Потом через wine запускаете, ога.
зачем вайн то? lld умеет под винду линковать
а зачем мне под винду линковать, мне надо на маке это все запустить, мы же все еще про кросс-платформный гуй и ненужность Qt?
Не нужность qt? Сильно сказано
Гхм.. Пост на который Вы ответили где-то 47-й в дискуссии. Не впопад. В посте сарказм. Ищите начало выше.
Обсуждают сегодня