Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) (Новая страница: «;{{SpeakerInfo}}: {{Speaker|Кирилл Чувилин}} <blockquote> </blockquote> {{VideoSection}} {{vimeoembed||800|450}} {{youtubelink|}} {{SlidesSection}…») |
StasFomin (обсуждение | вклад) |
||
;{{SpeakerInfo}}: {{Speaker|Кирилл Чувилин}} <blockquote> Qt — это мультиплатформенный фреймворк, предоставляющий широкий набор библиотек и инструментов разработки. Многие дистрибутивы Linux используют Qt как основной фреймворк, в том числе российские операционные системы для ПК, а также мобильная ОС Аврора, разрабатываемая компанией «Открытая мобильная платформа». Обучение разработке на Qt охватывает множество аспектов создания приложений, которые достаточно подробно рассматриваются в студенческом курсе, разработанном нашей компанией. При этом часть фреймворка, обеспеченная технологией Qt Quick и языком QML, с одной стороны позволяет создавать функциональные приложения, а с другой — достаточно компактна для освоения школьниками. В докладе представляются технические аспекты Qt Quick, которые удобно использовать для обучения школьников разработке мобильных и десктопных приложений. </blockquote> {{VideoSection}} {{vimeoembed||800|450}} {{youtubelink|}} {{SlidesSection}} [[File:Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf|left|page=-|300px]] {{----}} == Thesis == Компания «[https://www.omp.ru Открытая мобильная платформа]» (ОМП) является разработчиком средств, позволяющих выстроить доверенную инфраструктуру для работы с мобильными устройствами. Функционирование такой инфраструктуры обеспечивается, в том числе, операционной системой Аврора и платформой управления устройствами Аврора Центр. [https://auroraos.ru ОС Аврора] — это российский дистрибутив Linux, предназначенный для использования на смартфонах и планшетах корпоративными заказчиками и государственными компаниями. В совокупности технологии разработки для ОС Аврора сосредоточены вокруг ядра Linux, POSIX-совместимых интерфейсов<ref>[https://standards.ieee.org/project/1003_1.html PosixP1003.1] - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8</ref>, а также фремворка [https://qt.io Qt]. Со стороны ОМП реализован ряд мер, нацеленных на обеспечение качественной и быстрой разработки ПО. Он включает поставку инструментов разработки и документации, организацию технической поддержки и консалтинга по разработке, предоставление примеров приложений <ref>Кирилл Чувилин, Проекты с открытым исходным кодом как основа передачи компетенций разработчикам приложенийдля ОС Аврора, СПО: от обучения до разработки. Объединённая конференция. Переславль-Залесский, 19—22 мая 2022 г. : сборник тезисов конференции, --M. ООО «МАКС Пресс», 2022 г. С. 158—161</ref>, а также [[Обучение разработке на Qt для мобильных устройств. Что нужно студентам и профессионалам (Кирилл Чувилин, OSEDUCONF-2021)|проведение учебных мероприятий]]. Среди сотрудников ОМП есть специалисты по разработке ПО, которые также имеют опыт преподавания в вузах. Совместно с партнёрами нами были подготовлены материалы для проведения учебных курсов в вузах и организациях дополнительного образования по системной разработке и разработке прикладного ПО для ОС Аврора. В 2022 году мы также получили ряд запросов от образовательных организаций, работающих со школьниками, на разработку и внедрение новых учебных материалов по разработке для среднего образования. В том числе в октябре [[Совместные образовательные программы по основам open source разработки Кружкового движения и ОС Аврора (Алексей Федосеев, OSEDUCONF-2023)|мы провели семинар совместно с Кружковым движением Национальной технологической инициативы]], на котором с методистами обсудили содержание и форматы недостающих образовательных программ, а также участие ОМП в подготовке методических материалов. Результатом обсуждения стал набор компетенций на направлениям разработки и дизайна интерфейса, которыми полезно обладать школьникам, интересующимся IT-специальностями, и соответствующих программ, среди которых: * Основы администрирования ОС; * Основы сетевого взаимодействия (TCP/IP, HTTP, FTP); * Основы разработки (C, Python или node.js); * Основы дизайна UI (Figma); * Алгоритмы и структуры данных (C); * Разработка UI (QML, JS); * Основы WEB-вёрстки (HTML, JS, CSS); * Инструменты разработчика (GIT, Docker); * Системная разработка (Linux, C, POSIX); * ООП (Qt, C++); * Проектирование UI/UX приложений (QML, Figma); * Разработка мобильных приложений (Qt, Аврора). В докладе акцент сделан на кроссплатформенной разработке прикладного ПО, основой которой в данном контексте являются технологии Qt, а также языки программирования C++ и QML. === Технологии Qt для школьников === Qt — это мультиплатформенный фреймворк, предоставляющий широкий набор [https://qt.io библиотек и инструментов разработки ПО]. Примеры программ, написанных на Qt: KDE, Skype, Telegram, Virtual Box, Google Earth и др. Многие дистрибутивы Linux используют Qt как основной фреймворк, в том числе Ubuntu, Fedora, Red Hat и отечественные Заря, ROSA, ALT Linux. Не исключением является и ОС Аврора, разрабатываемая компанией «Открытая мобильная платформа». Технологии, которые используются при разработке на Qt, довольно обширны и включают как различные подходы к шаблонам проектирования (предлагая концепцию сигналов-слотов, а также механизм делегатов для работы с представлениями), так и API для взаимодействия с различными подсистемами и периферией. В основе фреймворка Qt лежат парадигма объектно"=ориентированного программирования, язык C++ и метаобъектный компилятор. Его удобно использовать как наглядный примеры в курсах по C++ или ООП. Кроме того, есть успешный опыт использования Qt для [[Машинная графика в школе на свободных библиотеках (Артем Проскурнев, OSEDUCONF-2021)|обучения алгоритмическому программированию и работе с графикой]]. Но фреймворк Qt также предоставляет технологию [https://doc.qt.io/qt-5/qmlapplications.html Qt Quick], которая, с одной стороны, обладает достаточно низким порогом входа, доступным школьникам, а с другой — позволяет создавать полноценные приложения. Кроме того, она на практике знакомит с концепцией декларативного программирования, которая сейчас активно используется при создании мобильных приложений. В докладе рассматриваются технические аспекты, которые важны для формирования методических материалов учебных программ. === Программа курса по Qt Quick === В этом разделе приведён вариант программы для обучения школьников, который охватывает все важные аспекты разработки приложений с использованием технологии Qt Quick. ;Основы Qt Quick: # Знакомство с фреймворком Qt и технологией Qt Quick. # Инструменты разработки. # Структура проекта. # Знакомство с языком QML. # Основные визуальные типы. # Позиционирование элементов. # Обработка событий. # Определения новых свойств объектов. # Взаимодействие с пользователем. ;Расширенные возможности Qt Quick: # Подключение JS-библиотек. # Трансформации и состояния. # Анимации. # Работа с компонентами. # Модели. # Представления. # Многопоточность. ;Организация UI приложений. # Библиотеки системных компонентов. # Навигация в приложениях. # Работа с текстом. # Элементы управления. # Меню. # Масштабирование приложений. # Стилизация приложений. # Локализация приложений. ;Использование системных API. # Работа с файлами. # Мультимедиа. # Камера. # Работа с HTTP. # Web-сокеты. # Датчики. # Геолокация. # Работа с базами данных. # Взаимодействие приложений. # QML-плагины ОС Аврора. {{----}} [[File:{{#setmainimage:Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023)!.jpg}}|center|640px]] {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> <references/> [[Категория:OSEDUCONF-2023]] [[Категория:Draft]] [[Категория:СПО в образовании]] |
Версия 04:41, 18 января 2024
- Докладчик
- Кирилл Чувилин
Qt — это мультиплатформенный фреймворк, предоставляющий широкий набор библиотек и инструментов разработки. Многие дистрибутивы Linux используют Qt как основной фреймворк, в том числе российские операционные системы для ПК, а также мобильная ОС Аврора, разрабатываемая компанией «Открытая мобильная платформа».
Обучение разработке на Qt охватывает множество аспектов создания приложений, которые достаточно подробно рассматриваются в студенческом курсе, разработанном нашей компанией.
При этом часть фреймворка, обеспеченная технологией Qt Quick и языком QML, с одной стороны позволяет создавать функциональные приложения, а с другой — достаточно компактна для освоения школьниками.
В докладе представляются технические аспекты Qt Quick, которые удобно использовать для обучения школьников разработке мобильных и десктопных приложений.
Содержание
Видео
Презентация
Thesis
Компания «Открытая мобильная платформа» (ОМП) является разработчиком средств, позволяющих выстроить доверенную инфраструктуру для работы с мобильными устройствами.
Функционирование такой инфраструктуры обеспечивается, в том числе, операционной системой Аврора и платформой управления устройствами Аврора Центр. ОС Аврора — это российский дистрибутив Linux, предназначенный для использования на смартфонах и планшетах корпоративными заказчиками и государственными компаниями. В совокупности технологии разработки для ОС Аврора сосредоточены вокруг ядра Linux, POSIX-совместимых интерфейсов[1], а также фремворка Qt.
Со стороны ОМП реализован ряд мер, нацеленных на обеспечение качественной и быстрой разработки ПО. Он включает поставку инструментов разработки и документации, организацию технической поддержки и консалтинга по разработке, предоставление примеров приложений [2], а также проведение учебных мероприятий.
Среди сотрудников ОМП есть специалисты по разработке ПО, которые также имеют опыт преподавания в вузах. Совместно с партнёрами нами были подготовлены материалы для проведения учебных курсов в вузах и организациях дополнительного образования по системной разработке и разработке прикладного ПО для ОС Аврора.
В 2022 году мы также получили ряд запросов от образовательных организаций, работающих со школьниками, на разработку и внедрение новых учебных материалов по разработке для среднего образования. В том числе в октябре мы провели семинар совместно с Кружковым движением Национальной технологической инициативы, на котором с методистами обсудили содержание и форматы недостающих образовательных программ, а также участие ОМП в подготовке методических материалов.
Результатом обсуждения стал набор компетенций на направлениям разработки и дизайна интерфейса, которыми полезно обладать школьникам, интересующимся IT-специальностями, и соответствующих программ, среди которых:
- Основы администрирования ОС;
- Основы сетевого взаимодействия (TCP/IP, HTTP, FTP);
- Основы разработки (C, Python или node.js);
- Основы дизайна UI (Figma);
- Алгоритмы и структуры данных (C);
- Разработка UI (QML, JS);
- Основы WEB-вёрстки (HTML, JS, CSS);
- Инструменты разработчика (GIT, Docker);
- Системная разработка (Linux, C, POSIX);
- ООП (Qt, C++);
- Проектирование UI/UX приложений (QML, Figma);
- Разработка мобильных приложений (Qt, Аврора).
В докладе акцент сделан на кроссплатформенной разработке прикладного ПО,
основой которой в данном контексте являются технологии Qt,
а также языки программирования C++ и QML.
Технологии Qt для школьников
Qt — это мультиплатформенный фреймворк, предоставляющий широкий набор библиотек и инструментов разработки ПО. Примеры программ, написанных на Qt: KDE, Skype, Telegram, Virtual Box, Google Earth и др. Многие дистрибутивы Linux используют Qt как основной фреймворк, в том числе Ubuntu, Fedora, Red Hat и отечественные Заря, ROSA, ALT Linux. Не исключением является и ОС Аврора, разрабатываемая компанией «Открытая мобильная платформа».
Технологии, которые используются при разработке на Qt, довольно обширны и включают как различные подходы к шаблонам проектирования (предлагая концепцию сигналов-слотов, а также механизм делегатов для работы с представлениями), так и API для взаимодействия с различными подсистемами и периферией.
В основе фреймворка Qt лежат парадигма объектно"=ориентированного программирования, язык C++ и метаобъектный компилятор. Его удобно использовать как наглядный примеры в курсах по C++ или ООП. Кроме того, есть успешный опыт использования Qt для обучения алгоритмическому программированию и работе с графикой.
Но фреймворк Qt также предоставляет технологию Qt Quick, которая, с одной стороны, обладает достаточно низким порогом входа, доступным школьникам, а с другой — позволяет создавать полноценные приложения. Кроме того, она на практике знакомит с концепцией декларативного программирования, которая сейчас активно используется при создании мобильных приложений.
В докладе рассматриваются технические аспекты, которые важны для формирования методических материалов учебных программ.
Программа курса по Qt Quick
В этом разделе приведён вариант программы для обучения школьников, который охватывает все важные аспекты разработки приложений с использованием технологии Qt Quick.
- Основы Qt Quick
- Знакомство с фреймворком Qt и технологией Qt Quick.
- Инструменты разработки.
- Структура проекта.
- Знакомство с языком QML.
- Основные визуальные типы.
- Позиционирование элементов.
- Обработка событий.
- Определения новых свойств объектов.
- Взаимодействие с пользователем.
- Расширенные возможности Qt Quick
- Подключение JS-библиотек.
- Трансформации и состояния.
- Анимации.
- Работа с компонентами.
- Модели.
- Представления.
- Многопоточность.
- Организация UI приложений.
- Библиотеки системных компонентов.
- Навигация в приложениях.
- Работа с текстом.
- Элементы управления.
- Меню.
- Масштабирование приложений.
- Стилизация приложений.
- Локализация приложений.
- Использование системных API.
- Работа с файлами.
- Мультимедиа.
- Камера.
- Работа с HTTP.
- Web-сокеты.
- Датчики.
- Геолокация.
- Работа с базами данных.
- Взаимодействие приложений.
- QML-плагины ОС Аврора.
Примечания и ссылки
- ↑ PosixP1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8
- ↑ Кирилл Чувилин, Проекты с открытым исходным кодом как основа передачи компетенций разработчикам приложенийдля ОС Аврора, СПО: от обучения до разработки. Объединённая конференция. Переславль-Залесский, 19—22 мая 2022 г. : сборник тезисов конференции, --M. ООО «МАКС Пресс», 2022 г. С. 158—161