Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023) — различия между версиями

Материал из 0x1.tv
Перейти к: навигация, поиск
(Новая страница: «;{{SpeakerInfo}}: {{Speaker|Кирилл Чувилин}} <blockquote> </blockquote> {{VideoSection}} {{vimeoembed||800|450}} {{youtubelink|}} {{SlidesSection}…»)
 
(Технологии Qt для школьников)
 
(не показаны 4 промежуточные версии этого же участника)
;{{SpeakerInfo}}: {{Speaker|Кирилл Чувилин}}
<blockquote>
Qt    это мультиплатформенный фреймворк,
предоставляющий широкий набор библиотек и инструментов разработки.
Многие дистрибутивы Linux используют Qt как основной фреймворк,
в том числе российские операционные системы для ПК,
а также мобильная ОС Аврора, разрабатываемая компанией «Открытая мобильная платформа».

Обучение разработке на Qt охватывает множество аспектов создания приложений,
которые достаточно подробно рассматриваются в студенческом курсе, разработанном нашей компанией.

При этом часть фреймворка, обеспеченная технологией Qt Quick и языком QML,
с одной стороны позволяет создавать функциональные приложения,
а с другой    достаточно компактна для освоения школьниками.

В докладе представляются технические аспекты Qt Quick,
которые удобно использовать для обучения школьников разработке мобильных и десктопных приложений.
</blockquote>

{{VideoSection}}

{{vimeoembed|912931931|800|450}}
{{youtubelink|}}
|_qIdIruYM2U}}
{{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]]
[[Категория:[[Категория:QT в образовании]]
[[Категория:Аврора]]

Текущая версия на 18:19, 3 марта 2026

Докладчик
Кирилл Чувилин.jpg
Кирилл Чувилин

Qt — это мультиплатформенный фреймворк, предоставляющий широкий набор библиотек и инструментов разработки. Многие дистрибутивы Linux используют Qt как основной фреймворк, в том числе российские операционные системы для ПК, а также мобильная ОС Аврора, разрабатываемая компанией «Открытая мобильная платформа».

Обучение разработке на Qt охватывает множество аспектов создания приложений, которые достаточно подробно рассматриваются в студенческом курсе, разработанном нашей компанией.

При этом часть фреймворка, обеспеченная технологией Qt Quick и языком QML, с одной стороны позволяет создавать функциональные приложения, а с другой — достаточно компактна для освоения школьниками.

В докладе представляются технические аспекты Qt Quick, которые удобно использовать для обучения школьников разработке мобильных и десктопных приложений.

Видео[править вики-текст]

on youtube

Презентация[править вики-текст]

Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023).pdf

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
  1. Знакомство с фреймворком Qt и технологией Qt Quick.
  2. Инструменты разработки.
  3. Структура проекта.
  4. Знакомство с языком QML.
  5. Основные визуальные типы.
  6. Позиционирование элементов.
  7. Обработка событий.
  8. Определения новых свойств объектов.
  9. Взаимодействие с пользователем.
Расширенные возможности Qt Quick
  1. Подключение JS-библиотек.
  2. Трансформации и состояния.
  3. Анимации.
  4. Работа с компонентами.
  5. Модели.
  6. Представления.
  7. Многопоточность.
Организация UI приложений.
  1. Библиотеки системных компонентов.
  2. Навигация в приложениях.
  3. Работа с текстом.
  4. Элементы управления.
  5. Меню.
  6. Масштабирование приложений.
  7. Стилизация приложений.
  8. Локализация приложений.
Использование системных API.
  1. Работа с файлами.
  2. Мультимедиа.
  3. Камера.
  4. Работа с HTTP.
  5. Web-сокеты.
  6. Датчики.
  7. Геолокация.
  8. Работа с базами данных.
  9. Взаимодействие приложений.
  10. QML-плагины ОС Аврора.
Обучение школьников кроссплатформенной разработке на основе Qt и Qt Quick (Кирилл Чувилин, OSEDUCONF-2023)!.jpg

Примечания и ссылки[править вики-текст]

  1. PosixP1003.1 - Standard for Information Technology--Portable Operating System Interface (POSIX(TM)) Base Specifications, Issue 8
  2. Кирилл Чувилин, Проекты с открытым исходным кодом как основа передачи компетенций разработчикам приложенийдля ОС Аврора, СПО: от обучения до разработки. Объединённая конференция. Переславль-Залесский, 19—22 мая 2022 г. : сборник тезисов конференции, --M. ООО «МАКС Пресс», 2022 г. С. 158—161