3 июня 2021 г.
В 2021 году Всемирная конференция разработчиков, которую проводит компания Apple, уже во второй раз пройдёт в виртуальном формате. В числе миллионов её участников будет особая группа молодых разработчиков — 350 конкурсантов Swift Student Challenge, представляющих 35 разных стран мира.
Ежегодно перед конференцией WWDC студенты могут попробовать свои силы в программировании и решении проблем. Чтобы стать участником конкурса, нужно создать собственный мир в Swift Playgrounds. Победителей выбирает компания Apple, в числе которых оказались некоторые из российских школьников и студентов из Москвы и Санкт-Петербурга.
Степан Кравцов, 15 лет (Москва)
Степан учится в Московской экономической школе (МЭШ), а два года назад прошел курс программирования в CTY (Centre for Talented Youth) при Университете Джона Хопкинса, где впервые познакомился с кодингом. «В моей школе каждый ученик должен сделать большой проект, когда заканчивает
Идея в рамках задания WWDC21
Основываясь на обучающей программе Apple об использовании нейронных сетей, Степан решил создать приложение, которое будет более подробно и наглядно демонстрировать их работу. Целевой аудиторией, в первую очередь, являются люди, которые увлекаются программированием. Суть приложения заключается в том, что специальный алгоритм анализирует загруженное в приложение видео и на основе положения тела в кадре определяет какие действия совершает человек. Проект предназначен для демонстрации функциональности модели CoreML. Сама игровая площадка работает с моделью, созданной с помощью CreateML, который используется для классификации действий, совершаемых человеком. Она также работает с фреймворком Vision и использует UIKit. Информация публикуется между различными потоками с помощью Combine, и, наконец, пользовательский интерфейс, включая кнопки и текст, создается с помощью SwiftUI. «Излишне говорить, что эта игровая площадка лучше работает на устройствах с бионическим нейронным движком», — рассказывает Степан.
Дмитрий Ткаченко, 24 года (Москва)
Дмитрий самостоятельно изучал программирование по материалам в Интернет. Интерес к этой теме у него появился еще во 2 классе, когда появился первый персональный компьютер. Спустя некоторое время он понял, что хочет не только потреблять контент, но и создавать его. Дмитрий — студент второго курса магистратуры МФТИ (Московского физико-технического института). «Мне очень нравится сообщество computer science! Я думаю, что очень важно делиться своими знаниями и энтузиазмом с другими, чтобы профессионально развиваться, вдохновляться и вдохновлять других», — рассказывает Дмитрий.
Дмитрий создал приложение Doppel, которое находит похожие фотографии и дубликаты в вашей медиатеке, чтобы впоследствии удалить ненужные и сэкономить объем памяти на вашем устройстве. При этом приложение ничего не удалит без вашего подтверждения. «В настоящее время я наблюдаю тенденцию так называемого „цифрового загрязнения“. Думаю, что в ближайшем будущем эта проблема встанет на одну ступень с проблемой загрязнения окружающей среды. Я хочу помочь людям эффективно справляться с цифровым загрязнением, уменьшить их потребность в облачном хранилище, избавить их от необходимости тратить огромное количество времени на просмотр и отбор фотографий, а также изменить их способ взаимодействия с фотографиями. Именно это и является целью Doppel. Приложение может автоматически находить дубликаты и похожие фотографии в вашей галерее, выбирать лучшие и удалять остальные», — рассказывает Дмтирий. В будущем он планирует продолжать разработку приложений, которые окажут позитивное влияние на «цифровое загрязнение».
В этом году на WWDC Дмитрий надеется узнать как можно больше о новых инструментах для работы в операционных системах, считает, что AR и VR являются главными технологическими трендами на сегодняшний день.
Идея в рамках задания WWDC21
Дмитрий — большой поклонник изобразительного искусства, а его любимый художник — Ван Гог. Интерес к живописи и любовь к программированию стали основой для его проекта. «Я хотел создать приложение, которое объединит искусство и программирование. Я люблю живопись, но в условиях пандемии, к сожалению, невозможно путешествовать и посещать музеи. Я очень хотел подарить людям возможность все вокруг превращать в картины великих художников, чтобы видеть мир вокруг себя в виде картин», — рассказывает Дмитрий. Основным инструментом для создания приложения стала технология Style Transfer, представленная на WWDC 2020. Для создания макета пользовательского интерфейса и игровой площадки Дмитрий использовал Figma. Для создания же самого проекта Swift Playgrounds Author Template и XCode 12.4. Чтобы завершить работу над пользовательским интерфейсом он использовал фреймворк UIKit. «Для работы с моделями передачи стилей я создал образец проекта XCode для iOS и импортировал туда модели, а затем сгенерировал их интерфейсы», — рассказал Дмитрий. Также он использовал следующие фреймворки: VideoToolbox, Vision, CoreML, AVFoundation и CoreMedia.
Артем Бобров, 23 года (Санкт-Петербург)
Свои первые уроки программирования Артем прошел еще в школе, а в настоящее время учится в магистратуре 2 курса факультета информационных технологий и программирования в Национальном исследовательском университете ИТМО. Интерес к программированию обнаружил благодаря Apple, когда начал пользоваться своим первым MacBook. Затем в тестовом режиме Артем начал создавать аналоги популярных приложений, чтобы на практике отточить мастерство кодинга. В рамках WWDC21 Артем надеется узнать как можно больше о новых принципах программирования.
Идея в рамках задания WWDC21
Весь проект Артема стал реальностью исключительно благодаря Swift, а основная сложность была связана с созданием макета и анимации. «Я особенно горжусь расширениями векторной геометрии, которые помогли мне построить, может быть, четверть проекта. Дополнительные цели этой игровой площадки Swift заключались в использовании как можно меньшего количества стороннего программного обеспечения и минимизации количества изображений», — рассказывает Артем. Идея проекта родилась, когда друг Артема показал ему рекурсивную функцию, то есть функцию, которая может вызывать сама себя. Основная идея проекта заключается в том, что пользователь может написать код функции, а затем получить её визуальное отображение. Также в проекте задействована пошаговая и обратная анимация с разными скоростями. Приложение в первую очередь адресовано тем, кто интересуется программированием и хочет писать алгоритмы. В процессе работы над проектом Артем столкнулся с трудностями в создании красивой и плавной анимации. Чтобы решить эту проблему ему пришлось писать дополнительные функции.
Apple гордится тем, что поддерживает и развивает новое поколение разработчиков, в том числе благодаря ежегодным соревнованиям, приуроченным к WWDC. За последние три десятилетия несколько тысяч студентов сумели отточить свои навыки и познакомиться с другими программистами разных возрастов. Они успешно работают в сфере технологий, запускают совместные стартапы, создают некоммерческие организации, нацеленные на использование технологий для создания лучшего будущего.
Источник: Пресс-служба компании Apple в России