2011-11-06

Qt Developer Days 2011, Munich

Вот и дошли мои руки до написания отчета по поездке в Мюнхен на DevDays этого года. Честно говоря, немного стыдно, что я подзабросил блог, надо как-то пытаться реабилитироваться. Но это потом. А сейчас рассказ о самой поездке.

Приехал я сильно заранее - в субботу днем, так как в этом году я ехал туда как часть команды ICS и на воскресенье были запланированы различные вводные, сборка стенда и прочая подготовка. По сути в субботу ничего и не было, пропустим ее :)

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



Плюс я наконец-то получил свою футболку и еще один C7, как Qt Ambassador (об этом я напишу в следующих постах) от милой девушки Мэриэнн

Ближе к вечеру я встретил только что приехавшего Фолкера с ДевНета, а еще попозже мы завершили этот день вместе с другими модераторами ДевНета в баре отеля


Понедельник
Утро понедельника встретило нас бооольшими очередями на регистрацию и выдачу стаффа

В понедельник на DevDays традиционно проходят тренинги по различным областям Qt и я, в принципе, тоже был записан на один из них (Deep Dive). По этому поводу даже случилась целая история.


Изначально я регистрировался без тренингов, просто на три дня (хотя мне по деньгам было без разницы записываться с тренингами или без них. Я ехал по скидке модераторов DevNet, которая покрывала все), так как знал, что скорее всего будет в первый день проходить QtCS2 и записался на секцию Qt in Education в первый день (по сути для записи на три дня надо было либо записаться на тренинг, либо на Qt in Education). Даже если бы вдруг не было QtCS2, то Qt in Edu я бы тоже с удовольствием послушал. Ближе к самим DevDays мне приходит письмо от одного из менеджеров Nokia, что Qt in Education не будет по причине малого количества людей, но я могу бесплатно выбрать себе тренинг, что я в итоге и сделал (а тогда как раз было не очень понятно что с QtCS2, информации было ноль, а времени оставалось 3 или 4 недели. Страница на kde.org о QtCS2 появилась уже позже). Правда, на тренинг я так и не попал :) Почти весь день провел на QtCS2. Но зато у меня теперь есть флешка с логотипом Qt, которую выдавали всем зарегистрировавшимся на тренинги :)


Итак, как понятно из лирического отступления, я на первом дне принимал участие в Qt Contribution Day (то есть то, что раньше называлось QtCS#2). Проходил он, как и первый (Берлин, июнь 2011) в режиме unconference. Сей режим означает что день делится на временнЫе слоты, которые заполняются самими участниками евента. То есть кто хочет, тот и выступает с волнующими его проблемами

За время этого дня мной были посещены следующие слоты:
10:00-11:00. Хоть этого слота и нет в расписании, но по сути это была вводное слово, после которого и были заполнены все остальные слоты. По сути во время вводного слова был просто обсужден список вопросов, которые стоит поднять за этот день.
13:00-14:00 Qt in Android. К сожалению, Богдан не смог приехать на DevDays в этом году. Вместо него этот слот вел Томас Сеник. Он в основном занимается поддержкой OpenGL в Necessitas. Нового почти ничего не узнал, но в очередной раз отметил для себя заинтересованность людей в QtMobility и Qt-Components для Necessitas.
14:00-15:00 inqlude - CPAN for Qt. Обсуждалось создание аналога CPAN, только для Qt. По сути уже готов прототип - inqlude.org. Проект представляет из себя некий централизованный архив ссылок на различные 3rd-party библиотеки на Qt с возможностью их устанавливать через консольное приложение (написано на Ruby). К сожалению, мне пришлось уйти с середины слота и я так и не смог задать самого интересующего меня вопроса: "А что же делать в разных пакетных дистрах линукса? Ведь там по сути проще ставить пакеты из репозиториев, нежели впихивать в систему непонятные бинари".
15:00-16:00 Startup time optimization for QML. Слот был достаточно оригинален, но опять же пришлось уйти чуть раньше и в итоге я не узнал на чем остановились. Обсуждались различные методики ускорения запуска приложений, написанных на QML. Начиная от lazy вычислений и заканчивая особенностями расположения симболов в библиотеках.
16:00-17:00 Qt5 on Raspberry Pi. С Raspberry Pi я был уже слегка знаком к этому моменту (он входил в выставочные экземпляры у нас на стойке), но все равно решил посетить этот слот. Если в двух словах, то было показано насколько крут Qt5 и QML в нем (на этом $25 девайсе выдавалось около 900 fps). Обсуждалось что будет, когда этот девайс дойдет до релиза, что еще предстоит сделать (в частности еще не было экспериментов с touchscreen, даже еще не подбирали железо для этого).

Во время первого дня у меня временно очутился в кармане кирпич вместо моего n950. Как известно всем обладателям n950 за неделю до DevDays вышла новая прошивка для него, но я ее в итоге почему то получил только уже когда приехал в Германию. Долго собирался с духом, но в итоге обновил его. Вернее попытался это сделать. Что-то пошло не так, телефон завис, начал возмущаться что ему мало памяти для обновления, в итоге я его ребутнул и он закономерно превратился в красивый кирпич с выдвигающейся клавиатурой. К моему счастью, Nokia сделала стенд Nokia n9 App Doctors, который помогал всем желающим с проблемами при разработке под MeeGo Harmattan и с железячными проблемами. Они мне быстренько прошили мой n950 флешером (да, у них тогда уже был флешер последней прошивки, хотя официально он вышел только через пару дней после этого) и мне пришлось опять его настраивать (хотя, к чести Harmattan и железной клавиатуры, на n950 это занимает дай бог минут 30).

Ну и конец понедельника (опять же традиционно) - Welcome Reception от платинового спонсора. Пара бокалов бесплатного пива и розыгрыш Kindle (нет, я не выиграл, но пива попил).

Вторник
Вторник на DevDays - очень важный день. Это одновременно и Keynotes, и Dinner with Trolls. Ну я пойду по порядку.

Keynotes начался с перформанса на видео с обратным отсчетом и прочими плюшками. После чего выступил Марко Аргенти о судьбе Qt в Nokia (по большей части маркетологическая фигня и прочее, ну как обычно). После него вышел Рик Спенсер и стал рассказывать об использовании Qt в Ubuntu (Unity 2d), на середине его доклада мне опять же пришлось уйти, но рассказывал достаточно интересно.

После кофе-брейка были еще два keynotes: от CNN (пропустил) и от Ларса Кнолла (главный мейнтейнер Qt). Вот последний keynote был самым интересным. Он был о Qt5, Qt Project, Open Governance и прочей всех сейчас интересующей информации о дальнейшей судьбе Qt с точки зрения программиста, а не маркетолога.

Завершились Keynote очень феерично. После выступления Марко Аргенти был произведен розыгрыш по цветовой дифференциации штанов точек на беджиках. Варианты были: синяя точка, красная точка, нет точки (мой случай). Моему случаю вообще не было шансов, а вот красные и синие боролись с помощью рандома. В итоге победили синие. Всем людям с синей точкой на бедже были выданы N9 (cyan, 16gb). Это была очень большая очередь людей.


На самом деле, я в итоге тоже получил N9. После розыгрыша точек Квим Гил написал в твиттере, что все, кто не с синими точками, но кто является разработчиками свободного ПО, могут найти его после обеда на стойке Qt и получить N9. При личной беседе выяснилось что не только разработчики свободного ПО, но и модераторы DevNet тоже могли их получить. Я подходил под обе категории и в итоге часа на 3 позже всей толпы с синими точками я тоже стал обладателем новенького N9 (никто кстати не знает случаем где на него достать родной черный чехол, такой же как идет в комплекте с телефоном?)


После обеда настала очередь различных докладов (то есть то, зачем собственно все и приезжают на DevDays. Нет, именно за докладами, а не пива попить). Оба дня я провел в Qt Labs (за двумя исключениями - один временнОй слот я просто никуда не пошел и еще один я провел на Dance dance revolution сессии). Напишу немножко о каждой.

Using Qt Quick and the new Qt graphics stack, Scenegraph. Сессия сводилась к рассмотрению того, как писать кастомные элементы в Scenegraph по сравнению с более привычным всем GraphicsView. Рассматривались как простые подходы (мало чем отличающиеся от нынешнего), так и более сложные, отличающиеся коренным образом.
Qt Quick Components for Desktop. Ооо, эту сессию вел Jens, я помню насколько он фееричен еще с того года. В этом году он не обманул ожидания и провел сессию live-coding с использованием qt-components для десктопа. Эти компоненты представляют из себя достаточно занятную штуку, так как являются прослойкой и в итоге отображают Qt Widgets (что позволяет поддерживать системный look'n'feel), но описываются через QML (что позволяет проще сделать более гибкий и богатый на анимации интерфейс).
What's new in Qt Quick 2.0. Достаточно любопытная сессия о различных нововведениях. Очень красивые демки (с использованием частиц), но половину я прослушал, так как настраивал свежеполученный n9.

Плюс ранее упомянутый Фолкер привез с собой кексы (а еще и Герольф их тоже привез) и во время кофебрейка мы их дружно поглощали небольшой компанией модераторов ДевНета.

После сессий начался Happy Hour и последующий за ним Dinner with Trolls. В этом году Dinner with Trolls проводился не в стиле обычного ужина, а в стиле Oktoberfest c красивыми девушками, парнями с огнем, игрищами и прочим. Ну и конечно с розыгрышем n9, куда же без него :)




Среда
Очередной набор сессий :)
Qt Quick 3D. Ой, я честно там не понял примерно половину. Как то не сложилось у меня за мою практику с 3d и шейдерами, поэтому, к сожалению, был немного не в теме, но в целом выглядит прикольно.
Dance, Dance QML Revolution. Сессия Джастина Ноэля (тоже из ICS) про игровые программы на QML. Прикольно, красиво, с анимешными няшками.
Persistent Object Storage for Qt Quick. Возможно будущая неотъемлемая часть разработки на QML. Рассказывали о QtJsonDb - библиотеке, которая хранит данные в общем виде для всех приложений. То есть одно приложение может взять данные, хранимые другим (если знает о них конечно). Пока что в глубокой альфе, но в будущем думаю будет очень удобная вещь.
How to Contribute to Qt и Qt5 roadmap. Эти сессии были по сути объединены в одну. На первой рассказывалось о том, как выглядит иерархия в Qt Project и как происходит одобрение мерж реквествов от сторонних разработчиков. Теперь для всех это едино. И разработчики из  Nokia и сторонние разработчики проходят через общий процесс. Что, несомненно, облегчает жизнь последним :) Вторая часть рассказывала о том, что будет в Qt5 и частично собирала все остальные Qt Labs воедино.

Ну и конечно же, во время кофе-брейка опять проводилось собрание по поеданию кексов модераторами ДевНета :)

На этом DevDays завершились. See you there next year!

3 комментария:

  1. Спасибо за отличный отчёт :)
    а вот Qt in Education, это вообще о чём? Применение Qt в образовательных целях?

    ОтветитьУдалить
  2. Да, это об использовании Qt, как базы в различных ВУЗовских курсах, о преподавании Qt и т.д.

    ОтветитьУдалить
  3. Спасибо, прочел то, что ты рассказать не успел :)
    Опубликовал - пусть народ поинтересуется.

    ОтветитьУдалить