Как стать автором
Обновить

Комментарии 41

С Qt вы забудете дорогу в StackOverflow — всё будет понятно и так

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

К сожалению, реально кроссплатформенной альтернативы кути нет.

Причем не просто забили. Активно вносят новые. И тоже успешно не чинят

Тут у ребят комерческая лицензия. И у них этот баг починен.

Должны же троли (как они там теперь называются, не помню) как-то заставлять вас покупать лицензию.

Нет у них уже коммерческой лицензии наверняка, уже и приложения в сторе нет. Хотя мне оно нравится к примеру больше чем ya maps. Да и СДК поприятней чем у ya на первый взгляд.

Или не починен.

Мне периодически прилетают уведомления "ваш баг 4-летней давности мы не починили, а закрыли по таймауту"

Наличие коммерческой лицензии не гарантирует, что баг починят (хотя и немного повышает его приоритет). Если взять до сих пор незакрытые багрепорты с тегом "reported_by_support_standard" (то есть, зарепорченные клиентами с коммерческой лицензией) с тяжестью P2 и выше (хотя можно и все посчитать, будет ещё внушительнее) и созданные более трёх месяцев назад (чтобы уж хоть сколько-то времени дать им на починку), то найдётся довольно немало, самый старый из которых висит с 2008 года, и это результаты только по основному проекту, а ещё есть всякие аддоны и инструменты.

QT же из России ушел?

Qt же из России ушел?

Публично они только закрли загрузку бинарных сборок.
Что в общем-то бессмысленно, после их нововведений с LTS,
так как всем кто не платит "Qt Group" и так приходиться собирать их исходников или пользоваться сборками не от "Qt Group".

А вот как они поступили со своими платными клиентами из России неясно,
в публичном объявлении они просто предлагали связаться с ними.

На плюсах, возможно, но есть, например, Delphi с полностью кроссплатформой (FMX)

В моем случае, если были баги, то мы фиксили его сами. Вот так и получается, что на выходе полукастомная версия Qt получается)

Мы компилируем и линкуем это в «исошку» (.iso) и получаем нативную библиотеку, которая включается в сборку Android Gradle-ом. 

А в Андроид дальше как подключается? Через JNI, или ещё какие-то адекватные способы появились? (давно уже не делал таких проектов, но помню муторно было с JNI)

JNI, муторно, но большая часть работы с платформой сделана в Qt, руками приходится дописывать только свои интеграции. У 2Gis на гитхабе есть репозиторий с полезными штуками https://github.com/2gis/qtandroidextensions

А какими способами отлаживаете приложение, собранное под Android, если надо искать сложные баги, не воспроизводимые на десктопе? Можно в креаторе одновременно ставить бряки в kotlin части и C++?

Баги только на android бывают довольно редко, чаще всего удается воспроизвест на desktop. Если же нет, то можно настроить отладчик android-studio, он умеет в native

Класс! Почему-то интуитивно думал, что вы ушли с Qt где-то в момент перехода к пока-еще-не-совсем super-app. Здорово, что фреймворк все еще удовлетворяет нуждам.

P.S. Некоторое время назад к моей статье был (почему-то сейчас нет, видимо автора забрал НЛО) комментарий вроде "вау, Qt такое может в мобайле?". Передаю вам эстафетную палочку :)

Что мешает выпустить версию для десктопа, если оно на QT?

А смысл? GPS на десктопе вроде не частое явление.

Тут уже больше смысл в оффлайновых картах.

Оффлайновые карты для десктопа? Это что-то странное.

Иду я по лесу с ноутом, заблудился. Открыл оффлайн карты - нашёл выход из леса?)

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

Раньше и интернет был диалап. А именно тогда я оффлайн картами с компа и пользовался.

Раньше и программы с картами были. А сейчас карты-то пакетом можно заранее скачать, а вот с "настольным" софтом совсем не густо. Есть, конечно, OsmAnd, но на компе что-то смотреть всё же удобнее, чем на смарте.

Есть, конечно, OsmAnd, но на компе что-то смотреть всё же удобнее, чем на смарте.

Если Linux, то можно собрать https://github.com/organicmaps/organicmaps/ у него наряду с GUI для iOS/Android есть GUI на Qt для PC.
А может он уже есть собранный для вашего дистрибутива.

Ирония в том, что ещё во времена, когда 2гис назывался "ДубльГИС" - десктопное приложение с оффлайн картами было)

Очень удобно было использовать в качестве справочника или чтобы напечатать нужный участок карты, чтобы дойти до нужного предприятия (сейчас звучит дико).

Да и вроде навигация какая-то там была, если вдруг у тебя в ноуте был GPS.

Ничего себе вы вспомнили. Хотя тогда он, вроде, только в Новосибе был. Сейчас масштабы побольше и скорости в разы выше)

Построение маршрутов было, навигации не было.

Эм... но ведь она есть? Пример. Именно десктопная и оффлайновая. Или речь о чём то другом?

Она 2016 года выпуска. В ней, как минимум, довольно убого работает прокладка маршрутов на общественном транспорте.

Есть 2gis.ru, её не хватает?

Я пишу на qml-е уже год и могу сказать, что разработка на нем крайне не удобная. У qml не встроен hotreloader, что замедляет разработку. Есть библиотека-дополнение qt felgo, в котором встроен hotreloader, но он поддерживает только 5 версию qt. Javascript на версии 5.15.2 по нынешней разработке устарел. У него нету ни fetch, ни Map, ни Set. Большую часть логики и выдачу данных приходится писать на c++-qt. А это долго, ты пока напишешь модель, унаследованную от QAbstractItemModel, проинцилизируешь ее в qml, пройдет полдня. Qml не умеет распознавать std контейнеры, поэтому должна идти дополнительная связка с qt core и std. А сама IDE qt creator, такое ощущение, что вообще не развивается. Она не умеет перетаскивать файлы, если нужно эти файлы переместить. Qt уже на 6-ой версии, которая активно использует cmake, но при этом IDE при добавлении новых cpp файлов, не умеет добавлять их в конфиг cmake. IDE просто копирует их местоположение в буфер, чтобы ты самостоятельно их вставил в конфиг.

И это только вершина айсберга. За все время программирования на данной технологии, мои идеи для проектов спотыкались об реализацию QML.

Javascript на версии 5.15.2 по нынешней разработке устарел

я не думаю, что Qml в принципе предназначен для написания жирной бизнес-логики

хотите много писать на js, ну так сразу берите Electron или что-то в таком духе

ты пока напишешь модель, унаследованную от QAbstractItemModel

пишется один раз, потом переиспользуется

ты пока напишешь модель, унаследованную от QAbstractItemModel, проинцилизируешь ее в qml, пройдет полдня

Просто пишите быстрее!

Думаю fetch можно через pollyfill подтянуть, Map и Set есть
https://github.com/qt/qtdeclarative/blob/5.15/src/qml/jsruntime/qv4setobject.cpp
https://github.com/qt/qtdeclarative/blob/5.15/src/qml/jsruntime/qv4mapobject.cpp
Добавление файлов в cmake появилос в 11 Beta: Qt Creator is now able to add files directly to your CMake project files.

Сегодня мы бы выбирали между Qt, Kotlin и Jetpack Compose (а Flutter, думаю, оказался бы в пролёте — даже год назад нам приходилось самим писать библиотеки или искать их на «Гитхабе»)

Вы собираетесь полностью переезжать на другой фреймворк? Есть ли какие-то причины возможного переезда? Интересно узнать, какие инструменты используются для работы с графическими объектами на айфонах)

Compose то не подойдёт - карта же наверняка в surface (или что там ещё есть низкоуровневое) рендерится. Compose не поддерживает surface без androidview, если только не сделать обёртку над картами, а интерфейс уже в compose делать.

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

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

Слово "инструмент" происходит от латинского слова instrūmentum. Неужели так сложно использовать русские слова вместо заимствованных?)

Это слово пришло в русский язык уже давно и прочно заняло в нём своё место. Оно всем понятно и объяснимо. Здесь можно провести аналогию с наименованиями месяцев: январь, февраль, март и т.д. Эти слова тоже пришли в русский язык из латинского, но давно стали частью русского языка, входят во все его словари и энциклопедии. Выдумывать ещё одни слова вместо уже существующих и укоренившихся – засорять русский язык

А вот и не подерётесь /s )

Qt любят ребята, которые ценят кроссплатформенность. Например, Tesla использует его для своего UI. 

А у Tesla есть несколько на столько разнородных платформ, что им нужна кросс-платформенность? Или речь про какие-то клиенты?

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

Но и в обратную сторону: последнее время много прикладных ребята приходило на собесы, которые пользуют(!) Qt, но его механику воспринимают как магию или просто данность. Сигнал-слот соединение - ну классная штука, много пользы, но при чем тут moc-компилятор, и как оно так асинхронно долетает в другой поток - без понятия. Соответственно, в чистых плюсах тож плавают. С другой стороны, в 2023 так уж ли надо знать разницу между 'ё' и "ё", и почему взятие символа в русской строке не работает в STL просто так.

Кажется к Qt надо допускать только за выслугу лет и только летом. Но QML - прекрасен, спору нет.

Чет я разворчался)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий