Состоялся выпуск интегрированной среды разработки Qt Creator 18, предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. Поддерживается как разработка классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками. Готовые сборки сформированы для Linux, Windows и maсOS...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64167
>Qt Creator теперь определяет наличие файла "devcontainer.json" в каталоге с проектом, создаёт на его основе Docker-контейнер и настраивает взаимодействие с ним из приложения.В какой момент мы свернули не туда?
Когда вместо корпаративных серверов айбиэм с проприетарный ос стали использовать разъевшиеся десктопы на прошивке от линусяна.
Лисяна ? В лисяне это интерфейс или там не такой?
Перешел на KDevelop и жизнь наладилась.
Ждём когда добавят компилятор Rust в число обязательных зависимостей)))Иногда думаю, как же всё-таки хорошо, что wxWidgets сейчас не в мейнстриме. Нету вот этой вечной погони за модой, хайпом, трендами, хипстерством с сопутствующим оверинжинирингом.
И ведь правда, каждый год - новый must-have тренд, который обещает решить все проблемы, но по факту просто добавляет новый слой абстракции и пачку новых зависимостей.
С wxWidgets всё иначе. Это как старый, проверенный друг, который не пытается впечатлить тебя модными словечками. Он просто делает свою работу - и делает её хорошо. Никаких сюрпризов, никаких кардинальных изменений API с каждым минорным релизом, никакой необходимости переучиваться каждые два года, потому что "так теперь принято".
Иногда кажется, что в современном мире софтостроения ценность стабильности и простоты незаслуженно забыта.
> Ждём когда добавят компилятор Rust в число обязательных зависимостей)))Было бы неплохо.
> как же всё-таки хорошо, что wxWidgets сейчас не в мейнстриме
Хорошо кому?
Вон недавно Кикад-овцu жаловалдись что их поделка не работает на вейланде.
А чего? А потому что у них поcocные wxWidgets которые не поддерживают новые технологиии.> ету вот этой вечной погони
Зато есть кривой код на который без тошноты смотреть сложно.
> Он просто делает свою работу - и делает её хорошо.
Хахаха, прям как "хорг просто работает"))
> ценность стабильности и простоты незаслуженно забыта.
Чего?
Вон в расте сделали аналог версий языка (как в С++, например).
В итоге в пределах Edition вообще всё безшовно.
Плюс crates in one edition must seamlessly interoperate with those compiled with other editions.
Отличная обратная совместимоть!А програмер может зафиксировать версию (аналогично ʼв нашем используется проекте С++17ʼ).
В AOSP например зафиксировали 18 и 21.Просто у некоторых "стабильность и простота" зачастую значит "болото без развития" и "мне лень учить что-то новое".
Такие проблемы решаются точечно, без необходимости перелопачивать всю кодовую базу и ломать API для тысяч приложений. Но для этого нужно некоторое время и усилия, а не бесконечная смена фундамента, как это постоянно любят делать хипстеры.Накрутить очередной слой абстракций, наворотить брейнфакоподобное метапрограммирование и натянуть три фреймворка - это достаточно легко, тяп-ляп и готово, а другие пусть разгребают. Это действительно для некоторых неотягощённых опытом руководителей создаёт иллюзию прогресса и "современности". Однако, истинный вызов и квинтэссенция программирования - в управлении сложностью. В создании такого дизайна, который был бы одновременно мощным, гибким и простым для понимания. Сделать гениально простую систему - невероятно сложно. А сделать сложную - плёвое дело.
Что касается бизнеса, то там ценность стабильности и простоты поддержки котируется очень высоко. Когда вы делаете продукт, который должен работать десятилетиями, и который должны поддерживать разные команды разработчиков, этот самый консерватизм оказывается не недостатком, а разумной экономией миллионов и гарантией предсказуемости.
>С wxWidgets всё иначе. Это как старый, проверенный друг, который не пытается впечатлить тебя модными словечками. Он просто делает свою работу - и делает её хорошо.Ага, например так https://www.opennet.dev/opennews/art.shtml?num=63419
>Проблемы со стабильностью и производительностью: Повышенное потребление ресурсов и высокая нагрузка на CPU/GPU по сравнению с использованием X11. Появление графических артефактов при отрисовке и нарушение нормального вывода. Зависания и аварийные завершения, проявляющиеся только при работе в окружениях на базе Wayland. Ненадёжная работа с буфером обмена.Очень интересно, откуда берутся эти артефакты на ровном месте?
>Никаких сюрпризов, никаких кардинальных изменений API с каждым минорным релизом, никакой необходимости переучиваться каждые два года, потому что "так теперь принято".И как следствие, в 2025 году вы будете писать софт, как будь-то на дворе до сих пор девяностые и ничего лучше не изобрели.
> И как следствие, в 2025 году вы будете писать софт, как будь-то на дворе до сих пор девяностые и ничего лучше не изобрелиЧушь. Для винды и мака приложения wxWidgets выглядят в 2025 году как нативные. А линукс с 5% популярностью на десктопе может немного и подождать.
We recognize that the Linux desktop ecosystem is evolving, and we’re not trying to stop that evolution. However, we believe that user productivity comes first - our users need to design circuit boards, not wrestle with experimental desktop technologies. Stability and reliability are paramount for professional work, and our limited development resources should focus on core functionality rather than working around protocol limitations. We continue to monitor Wayland development and welcome fixes from upstream projects.
Я не про внешний вид говорю, а про абстракции.
> и ничего лучше не изобрели...А ничего лучше и не изобрели...
>как же всё-таки хорошо, что wxWidgets сейчас не в мейнстримес ээтим я согласен
>Это как старый, проверенный друг,
проблема втом, что этот старый друг вдруг стал вовсе и не друг.
> проблема втом, что этот старый друг вдруг стал вовсе и не друг.Можно по-подробнее? Появились какие-то конкретные технические сложности?
политические. сейчас они свой сайт исправили, но люди ведь помнят
зашел глянуть.
политика на месте.
респект 💙WxWidgets💛 !!!
Ах, нехороший вы человек однако!
Пишите на этот сайт такие комменты и провоцируете глобальное потепление :)ЗЫ: респект им и вас))
Вроде бы не блокировали по IP (в отличии от сайта Qt). И, насколько я знаю, так называемых protestware компонентов разработчики wxWidgets не добавляли.
"Не другом" он может стать только для злодеев или их соучастников.
Ну типа как в 41 в немцам резко стали плохо относиться даже в странах, которые были не затронуты.
Какая альтернатива? Устанавливать все зависимости на свою тачку? Потом еще разницу в версиях между разными машинами ручками разруливать?
Откройте для себя CQtDeployer.
Нормально это.
Просто автоматизация рутинных действий и автоматизация.
Главное ни чему не мешает, вроде-бы.Другое дело, что удручает уровень продуманности и качество реализации.
Сколько помню (а пользуюсь почти 20 лет), все версии QtCreator падали и продолжают падать.
Но в старых версиях это было относительно редко, а последние крашатся чуть-ли при любом шаге в сторону.
Еще радуют ошибки с результатом "не получилось", то ssh-подключение не добавляется, то тесты не распознаются, и таких глюков сотни.
Короче, чем пушистей C++ и тем больше вспомогательных фич в subj, тем хуже всё это работает.Отдельно доставляет распространение в виде flatpak/snap, ведь потом очень "удобно" что-либо отлаживать в хостовой системе (непосредственно не возможно, ибо "изоляция", только через ssh cо всеми сопутствующими глюками и ограничениями).
Жрем кактус дальше (
>Сколько помню (а пользуюсь почти 20 лет), все версии QtCreator падали и продолжают падать.Как и ожидалось от флагмана крестовой разработки. Ну не могут крестовики и сишники писать сложный софт.
да-да, java-ide падают чуть чаще, жрут памяти раз в 10 больше и почти всего работают настолько-же медленно.А кошмар с плагинами, их постоянной не совместимостью и вечной глюкавостью...
Впрочем, каждому свой кактус вкуснее.
да-да, и это пишет тело с ником javamustdie
ну вот точно не хейтер
и ему вот точно можно доверять)))
В тот момент, когда не захотели ознакомится с nix - более двадцати лет назад.
Qt последний оплот кроссплатформенной свободы. Не будет qt и разработка софта погрузится в хаос.
То ли дело сейчас.
Какие у тебя претензии к qt?
Qt Radiant намного круче.
Если кто незнает такой редактор кварт Quake.
Ну ты чо, о Lazarus IDE еще ничо не слышал?
Использует GTK и тот-же Qt на GNU/Linux.
>Qt последний оплот кроссплатформенной свободы.Гм. Есть ещё sdl, gtk, electron - и это как минимум.
> Гм. Есть ещё sdl, gtk, electron - и это как минимум.sdl слишком низкоуровневое
gtk на богомерзской со своими убогими Г-object
electron - лучши выбор для любой кроссплатформы - что открытой, что проприетарной - потому что свободен.
>>лучши выбор для любой кроссплатформыВ остальном, наихудший для пользователя. Недостатки везде.
https://github.com/Immediate-Mode-UI/Nuklear?tab=readme-ov-file
Nuklear: WinAPI, X11, SDL, Allegro, GLFW, OpenGL, DirectX
Зачем дублировать усилия? Можно же было просто написать плагин с поддержкой Qt для Emacs, и переиспользовать один из самых продвинутых редакторов в мире.Тем более, что в емаксе уже есть поддержка gdb и прочей отладки.
Любой выкидон emacs, создание которого ты не контролируешь и делается как есть без гарантий и твой плагин превращается в тыкву. Бизнес так не делается, пойми это.
Так Qt Company и X11, Windows, Wayland и Android не контролирует, а ничего, бизнес идёт.
Открою тебе секрет qt от них и не зависит. Оно может работать на относительно слабом встроенном железе.
IDE должна быть написана на нормальном компилируемом С++, а не на ЛNСП
Компилируемый язык это какой? QML? Если да, то в таком смысле лисп тоже компилируемый, через libgcc.
Ведётся работа по переводу Emacs c Elisp-интерпретатора на Guile-компилятор https://www.emacswiki.org/emacs/GuileEmacs
Так ты это не продашь.
А когда в emacs редактор кода завезли?
По крайней мере, для кода на C, С++, Python редактор кода туда уже завезли очень давно.
> написать плагин с поддержкой Qt для EmacsТак наверняка такой плагин уже написали. А может, и не один.
> для EmacsТы ещё для vim предложи, а то нынче клавиатуры со стрелочками роскошь.
>Для C++ также реализованы быстрые правки для удаления фигурных скобокНаобород надо форсировать скобки, а не удалять, чтоб не было dangling else и неоднозначности:
if (condition1)
if (condition2)
statement1;
else
statement2;
Надо вернуть begin, end.
Хуже способа выделять блоки кода человечество в принципе не придумало
> Хуже способа выделять блоки кода человечество в принципе не придумалоА как же выдление блоков кода проблами?))
Неужели оно хуже чем чем begin-end?
А как же гвидобейсик с отступами?
Это в свою очередь лучший способ выделять блоки кода
Рулит же, рейтинги не дадут соврать.
у сишников вся память в дырах, но больше всего их беспокоит begin/end в других языках.
begin ненужнон. Что basic, что ruby прекрасно обходятся без него.
Тогда уж отступы пробельчиками и то менее напряжно, чем эти ваши bein-end'ы.
И заиметь проблемы с копированием и вставкой.
Они не поймут, они не программировали никогда.
>Поддерживается как разработка классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками.Рано или поздно, любой сишник или крестовик осознаёт ущербность своего языка и придумывает не менее ущербный второй язык, желательно ещё и интерпретируемый, для написания графического интерфейса. В отличии от других языков, где графический интерфейс описывается на нём же самом.
Конечно не оч.приятно это признавать, но есть в этом доля правды.
Но не сказал бы что эта проблема только у с++ - многие языки программирования в какой-то момент придумывают доп.абстракцию для более удобного описания ui.
И возятся с ней потом:
c++/qml
js/html
android/xml
swift/swiftUIтак что симптом скорее общий
> swift/swiftUIА вы пробовали что-то писать на swiftUI? Или только в интернете видели?
Это же такой же swift, в котором сделан тулкит, написанный на том же свифт.
Более того, в swiftUI "коде" обычные свфитовые функции.
>так что симптом скорее общийЭто прямое следствие отсутствия в языке нужных абстракций. Как минимум Elm, Rust(Relm, Iced, Yew), Ocaml(Notty, Minttea), ReasonMl(Revery), Go(Bubble Tea) позволяют описывать пользовательский интерфейс в рамках самого языка, максимально родным и главное наглядным способом.
Ещё в начале нулевых у M$ был кодогенератор, который позволял в графическом интерфейсе накидать кнопок на форму, а на основе этого генерировал файл на C#/VB.Net.
Понял, о каких абстракциях вы говорите. Вы наверное имеете в виду визуальное проектирование интерфейсов (RAD)? Для C++ существует плагин wxSmith (wxWidgets) в среде Code::Blocks - это наглядный пример такого подхода: дизайнер форм, который генерирует готовый C++ код.Жаль, что эта практика почти исчезла в веб-разработке. И тем более странно наблюдать, как неудачные решения, рождённые из ограничений веба, теперь проникают обратно в нативные приложения.
Рано или поздно любой верстальщик UI начинает считать себя программистом и по-идиотски выглядеть через это.Использовать язык предназначенный для системного программирования, для "написания графического интерфейса", достаточно неудобно и нерационально, хотя и возможно.
А вот в обратную сторону не получится, и всё что можно назвать "язык, где графический интерфейс описывается на нём же самом" принципиально не могут существовать без "ущербных" C/C++ ;)
Короче, не путайте вашу яичницу с другими вещами.
Это всё превратилось в наваленные соревнования , ничего пусть будет. Но ты может потом глядишь увидишь какую то другую анимацию , а руки для линейки не положишь хотя уже взял и что ?
Хороший верстальщик зарабатывает поболее программиста. Посмотри сколько зарабатывают верстальщики на upwork, особенно те, кто занимается web-accessibility версткой.
> языков, где графический интерфейс описывается на нём же самом.Графический интерфейс не должен и не является частью никакого языка. Кстати, эта сущность и называется интерфейсом ... к графическому тулкиту, который не обязательно должен быть на том же языке, что и приложение. А вообще, валить в одну кучу графическое представление и смысловую часть - это худшая практика программирования.
>Графический интерфейс не должен и не является частью никакого языка.Зато, судя по логике кутешников должен содержать js
>так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками.У всех же есть лишняя оперативка, чтобы её сожрал js.
Это бред, я на чистом С делал DSL для своего UI движка на OpenGL. В духе андроид xml только лаконичнее и с макросами, что очень удобно. С поддержкой практически всего что можно на андроид вьюхах накидать.
Хм, так вы же сами пишите что сделали DSL, а не клепали UI на чистом C.Другое дело, что "программист-верстальщик" может не понять о чем речь, или будет считать что такой путь (создание инструментов) слишком трудоёмкий и "велосипедный". Причем это не безосновательно, ведь в 99% случаев "современный сишник" из вуза сделает из этого кошмар (как учили).
Ну это и есть чистый С. Думать надо, да. Тогда просто не существовало кроссплафторменного UI движка для мобилок, в котором можно что-то 3дшное добавлять. Сейчас на флатторе с болью и матюгами что-то 3дешное уже в принципе можно делать. Хотя это и будет тормозить вплоть до самоотключения телефона от перегрева - реальный тикет.
> я на чистом С делал DSL для своего UI движка на OpenGLПочему же ты тогда безработный и сидишь на кор 2 дуо, раз такой вумный?
Жесть, 18 версий и до сих пор нет настроек рендеринга шрифтов.
Мы давно перешли на electron + react. Если сможете найти более простое и более кроссплатформенное решение, готов выслушать ваши доводы. Нытьё о том, что на копролитах типа кор 2 дуо с 4 гигами тормозит не принимается.
На пентиум 3 с 512 мегов оперы ваще ваш электрон не запускается.
> На пентиум 3 с 512 мегов оперы ваще ваш электрон не запускается.Пентиум 3 это не наша целевая аудитория.
Какой смысл ориентироваться на нищих 6omжей?
> На пентиум 3 с 512 меговОсновная ваша проблема даже не в том, что вы неплатежеспособны и априори неинтересны для бизнеса, а в том, что вас таких всего полторы штуки, в отличие от тех, кто работает на актуальном железе.
Fltk. Прост как топор.
Отличная среда, для настоящих несгибаемых любителей кроссплатформенности, не то что это флаттер, который запускается и работает!
Флаттер уже давно канул в лету и почти перестал напоминать о себе. Он повторил судьбу Ruby — стремительный взлет популярности сменился таким же стремительным забвением.
Согласен, его время прошло! Кстати если интересно попробуй под виндовс 11 собрать проект на qt с нуля, особенно мне нравится когда какая нибудь версия не совсем актуальная, то ли выше , то ли ниже, это очень увлекательно, а в убунту сколько вариантов для сборки QT, супер вобще SDK. Хотя и на флаттер попадаются любители опенсоурса, такое закрутят, по типу питон под C++, но восновном там скукота нажал кнопочку и работает, причем на удивление везде. Жаль только что проект загнулся и его время прошло.
> для создания кроссплатформенныхПростите, о каком кросс речь? Полторы платформы - это сейчас - кросс?