Search
Write a publication
Pull to refresh

Comments 31

Если вы имеете ввиду какой-нибудь .ova (например для virtualBox), то на мой взгляд нет:

  1. Есть тормоза и задержки (даже на хорошем компуторе). Как я не пытался прокидывать драйвера видеокарты, у меня не получалась безупречная скорость отклика, как с докера. Вероятно дело в том что там активно целое десктоп окружение в довесок

  2. Обновление версии = скачать новый бинарный экспорт .ova, например 10гб (оптимистично). Снимки (snapshot вроде?) поддерживаются только на машине где они были сделаны и не экспортируются для других пользователей.

намного, с точки зрения пользователя.

Быстрее во всем смыслах, и экономит память.

Немного поглазел, выглядит интересно. До этого не щупал. Думаю пощупаю на досуге, благодарю

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

А контейнер не виртуалка? Особенно если у него будет wsl.. Просто они предлагали configuration as code. В принципе кому что удобнее.. нужно что-то новое либо менять контейнер менеджить версии, либо конфиг файл и перезапускать среду, версии конфы в Гите.. было удобно раньше.. сейчас хз.

В креаторе уже есть зачаточная поддержка разработки в докере, аналог дев контейнеров. Год назад я это щупал. Не знаю насколько продвинулись в этом направлении.. Если допилят до состояния как в VSCode, тогда можно будет не изобретать такое.

Да, они есть и даже работают

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

Я бы хотел иметь команду навроде docker check IMAGE_NAME latest

Можно с помощью crane или skopeo узнать дайджест образа в регистри без полного скачивания. Ну или даже curl-ом, дайджест в заголовке надо будет словить.

Благодарю за дельный совет. В текущей реализации это уже пихать некуда, т.к. разделение create | start. Но возможно в будущем, для каких-то других ситуаций будет полезно

UFO landed and left these words here

Это из разряда мечтаний. Qt-специфичные технологии имеют лучшую поддержку в IDE, внезапно, QtCreator :) И обеспечивать поддержку этим приблудам в vsc желания мало, с учетом того что из коробки в QtCreator они есть.

Например в vsc лучше обертка над отладчиком (ИМХО), на уровне расширений больше вариантов по созданию шаблонов продуктов, намного понятнее механизм создания своих расширений, ну и в целом сообщество намного больше со всеми вытекающими.

Но этого недостаточно на текущем уровне, когда вся эта история с IDE, исключительно моя инициатива и держится только на энтузиазме. Выхлоп будет несопоставим трудозатратам, так я это оценил, когда с кавалерийского наскока попробовал получить в vsc уровень комфорта QtCreator со стеком Qt + QML + C++

Released on 28.08.2024

Нет, контейнер состряпал уже как 2 года назад, тогда этой штуки не было..)
Вообще вижу там целый набор расширений недавних от Qt. Возможно, когда с их помощью можно будет делать все то же, что и в QC, то стоит задуматься еще разочек о переходе на базу VSC :)

UFO landed and left these words here

Красивое из коробки отображение QString и прочих кутешных классов в отладчике (в vscode есть конечно возможность подгрузить преттипринтеры для Qt). QML и Widgets дизайнер. Дополнение в QML коде. Удобная сборка и деплой приложения под Андроид.
Это я навскидку вспомнил..

UFO landed and left these words here

вот побольше конкретики плюсом к тому, что написал @navrocky

  1. Это не описано в статье, но
    QC в дереве проекта от сборочной системы qbs имеет полезное контекстное меню, которым я регулярно пользуюсь (добавление продуктов, добавления файлов в ресурсы qrc, ...). В единственном расширении VSC на qbs контекстного меню нет совсем, эти фичи пришлось бы делать по другому, либо допиливать расширение

  2. В проекте используем кастомные wizard. В VSC есть расширения такого плана, но нужно было бы всё на них переделать

  3. Это не описано в статье, но
    Подавляющее большинство коллег работают на QC. Мое решение с порога было бы сильно менее популярное для общественности и скорее всего только я один бы этим пользовался, будь базой VSC.

  4. Qt-шная документация в формате .qch. Я не нашел способа отображать ее в VSC. В QC по F1 на каком-либо символе мгновенно получаешь доку

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

UFO landed and left these words here
UFO landed and left these words here

У меня нет предпочтения к Win как к рабочей системе, но допустим. В крайнем случае в этом выражении Win+WSL можно заменить на какой-нибудь хостовый линукс и получится что-то например Ubuntu+VSC

Как у вас обеспечивается переносимость такого рабочего окружения между компьютерами?

UFO landed and left these words here

у меня есть вынуждено-развернутое окружение проекта под винду, на домашнем ПК и иногда (пару раз в квартал) я использую его для решения редких специфичных задач, где платформа играет роль. Но это не значит, что я хотел бы сидеть на ней всегда, как я уже сказал, у меня нет личного предпочтения к Win. Так что да, я избегаю винды

В статье упомянул, что распределение рабочих компов примерно 50 на 50 (win, linux), плюс тестируют также на разных платформах, так что у меня нет вынужденной необходимости всегда держать под рукой win окружение

Вы при желании можете просто запустить QtC внутри WSL и всё

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

Этим стабильно пользуется 10-15 человек, потому что с нуля настраивать окружение долго, а у меня в рабочей документации четкая инструкция по которой можно за 5 минут получить полностью настроенную IDE с комплектом, подвязанными дебагерами, сборочной системой нужной версии, шаблонами создаваемых продуктов, сниппетами, собранной под Qt комплект утилитой интроспеции Qt приложений, ... и многое многое другое. За 5 минут реального времени с вычетом пассивного ожидания скачивания образа.

UFO landed and left these words here

То у вас каждый разработчик индивидуальность

Такого тезиса в статье не было. Есть легкая кастомизируемость контейнера, но это мелочи. В основном все юзают QC и не с моей подачи

вы насильно впихиваете

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

нифига она не на 5 минут

Инструкция сильно меньше статьи. В статье отразил ход мыслей в процессе создания и с какими проблемами сталкивался. В боевой инструкции на голую систему 6 шагов, 4 из которых просто копипаст команд в терминал (установка докера, подтягивание скриптов запуска с репозитория, ...). 5 минут это для того кто делает в первый раз, я для интереса прогонял за 1 минуту.

проект не надо было разворачивать год

про год речи нигде не было. 1-2 дня.
Развернуть чтобы просто скомпилировалось это одно, это условно "быстро"
Развернуть с учетом всего накопленного полезного инструментария, специфичных настроек, ... уже долго

Вместо того, чтобы юзать простой удобный инструмент, вы из принципа городите костыли

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

UFO landed and left these words here

Ещё, как вариант, в докере можно поднять Xvnc, простенький рабочий стол с IceWM или чем-то подобным, получается практически виртуалка. А если ещё прикрутить к этому NoVnc (https://github.com/navrocky/novnc-docker) то вообще можно из браузера туда ходить, работать удалённо.

Пробовали ли Вы flatpack или snap? Какие были недостатки с ними?

Это только про сам креатор. А там в докере ещё можно настроить и все необходимое окружение, определенную версию операционки, необходимые devel пакеты, возможно какие-то вспомогательные сервисы, типа постгрес или кейклок.

Sign up to leave a comment.

Articles