5 российских студентов, которых Apple пригласила на WWDC 2017 Статьи редакции

Пообщались с разработчиками о языке программирования Swift, конкурсных и личных проектах, планах на будущее.

Каждый год в начале лета Apple проводит WWDC — конференцию, на которой компания представляет новые версии программного обеспечения — iOS, macOS, watchOS, tvOS — и проводит встречи с инженерами, на которых они делятся с разработчиками советами по созданию продуктов.

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

Филипп Захарченко. 16 лет, Москва

Филипп Захарченко и Тим Кук

Ученик 10 класса московской экономической школы «Зайцево» Филипп Захарченко выиграл поездку на WWDC второй год подряд: при этом, если в прошлом году он посещал конференцию по программе для школьников, то в 2017 году он участвовал уже в конкурсе для студентов.

Захарченко рассказал, что начал изучать программирование в 12 лет, а его первым языком программирования стал Visual Basic: «В какой-то момент, работая над социальным веб-сервисом, я осознал, что будущее, скорее всего, не за сайтами, а именно за приложениями. А основным толчком для меня стал релиз Swift».

«Язык пришлось изучать самостоятельно: при помощи документации и немногочисленных инструкций. Swift хорошо структурирован и достаточно прост в освоении — поэтому на изучение основных принципов и создание первого приложения to-do list ушло менее недели», — рассказывает разработчик.

Я достаточно долго думал над тем, какой проект реализовать [в 2017 году], ведь Swift Playgrounds является специфической платформой, направленной на образование. В какой-то момент я вспомнил видео с WWDC 2016 "Everyone Can Code", и подумал, что можно было бы создать интерактивную сцену, на которой за короткое время объяснялись бы основные принципы программирования в общем и использования языка Swift в частности.

В итоге получилась 3D-сцена, за три минуты вводящая пользователя в принципы программирования: затрагиваются переменные, условия, массивы, их сортировка и циклы.

В свободное от учебы время Захарченко занимается разработкой приложений для iOS, macOS, watchOS, tvOS. Среди них мобильный трекер для отслеживания дедлайнов Deadliner, карты для iOS с дополненной реальностью Extmaps, виртуальная клавиатура для ученых с греческим алфавитом GreekType, macOS-конвертер для создания GIF ZetGIF и таймер для перевода компьютера в спящий режим Sleep App.

Также Захарченко работает iOS-разработчиком в итальянском стартапе AnyPark и является сооснователем платформы для создания интерактивных пользовательских форм, опросов, голосований CrowdBack.

«За счет совершенно различных типов вопросов достигается высокая конверсия самой формы. В режиме реального времени можно получить такие данные, как эффективность опроса, посещаемость, количество участников, наиболее частые ответы, рекомендации, слабые и сильные стороны компании», — поясняет разработчик. По его словам, CrowdBack все еще находится в разработке, но уже получил первые инвестиции.

После школы Захарченко планирует переехать в США, чтобы продолжить обучение в университете: «Достаточно давно я начал рассматривать эту страну как возможность для поступления в университет. Поездка в США и на WWDC в частности позволила мне конкретизировать мой выбор».

Андрей Володин. 21 год, Воронеж

Андрей Володин выиграл поездку на WWDC второй год подряд. В 2016 году Apple пригласила его благодаря разработанному им алгоритму с использованием технологии Metal, который ускорял обработку графики в сто раз.

После первой поездки в Сан-Франциско разработчик начал преподавать Swift в университете: «Мои пары стали очень популярными, приходили даже студенты из других факультетов, спрашивали, можно ли посидеть послушать».

Володин рассказывает, что изначально решил попробовать Swift на волне интереса к новому языку программирования, при этом знакомиться с ним пришлось самостоятельно: «У нас в Воронеже на тот момент о нем даже не слышали». Язык привлёк его возможностями «из коробки»: «После него возвращаться к C/C++ бывает больно. Swift подкупает огромным сообществом разработчиков — чтобы ты не захотел, скорее всего, это уже есть на GitHub».

«Пожалуй, самый главный недостаток является и его преимуществом — Swift Evolution. Это одна из фундаментальных вещей, которая делает Swift тем, что он есть, но я, например, уже год не могу портировать старый проект с Swift 2.3 на 3.x, так как конвертор просто не справляется», — считает Володин.

После WWDC 2016 у меня появилась безумная идея портировать мой игровой движок, созданный под iOS и macOS, на другие платформы, используя тот же Swift.

Я написал письма людям из сообщества разработчиков Swift — некоторые из них работали в Apple и Facebook, и таким образом попал в закрытый канал в Slack, где мы общались с влиятельными программистами на равных — несмотря на то, что мне всего 20 лет. Часто общался с разработчиками из Аргентины в чате, а по ночам моя мама не понимала, почему я не сплю и говорю по-английски.

Андрей Володин

В конце декабря 2016 года Володин портировал свою разработку для iOS и macOS на Linux. Он предполагал, что сможет представить проект как заявку на участие в WWDC в 2017 году.

Я написал о своей разработке в Twitter, и заметку «лайкнул» Крис Латтнер — создатель Swift. Однако мои последующие планы были полностью разрушены из-за того, что полностью сменился регламент на студенческую стипендию WWDC 2017. Было понимание, что Apple не сильно интересуют твои прошлые заслуги.

Андрей Володин

«Ко мне вновь пришла безумная идея, — рассказывает Володин. — Как вы знаете, процессор в устройстве быстрый, но исполняет команды последовательно, при этом графическая карта даёт возможность исполнять, например, 40% команд одновременно, но каждую из них медленнее. С учетом того, что я увлечен технологией Metal, у меня возникла идея написать игру, которая полностью рассчитывалась бы на графической карте, чтобы на стороне процессора ничего не происходило с точки зрения логики и отрисовки».

По словам разработчика, первые прототипы появились всего за четыре дня до дедлайна подачи заявок в Apple: «За считанные часы до срока я тестировал версию через нескольких друзей на их устройствах, и подался прямо перед закрытием. Это, конечно, был больше эксперимент, нежели реальная цель. Получилось красиво — сама игра отрисовывается не с помощью вершинок, а с помощью шейдера. Она получилась неоновая, красивая. Своей идеей для WWDC 2017 я решил изменить парадигму, когда задействуется только одно состояние процесса».

Яна Валиева. 21 год, Ростов-на-Дону

Яна Валиева — единственная девушка-разработчик из России, номинированная на стипендию Apple. Она учится на четвертом курсе Южного федерального университета и подала заявку для участия в конференции благодаря преподавателю курса iOS Development, на котором изучают разработку на Swift.

Для участия в WWDC Валиева разработала игру реверси, в которой пользователь может соревноваться с компьютером.

В игре есть два режима — случайный и AI. Первый режим — режим новичка. Компьютер не слишком задумывается о стратегии игры и выбирает случайный ход из возможных.

Наиболее интересной для меня был работа над вторым режимом — AI. Здесь я реализовала алгоритм поиска наилучшей тактики и придумала забавную эвристику оценки тактик.

Алгоритм вышел злым и постоянно меня побеждал — возможно, я просто плохо играю в реверси. Кроме того, в игре предусмотрен режим подсветки возможных ходов для пользователя, которому не очень хочется вникать в тонкости правил игры.

Яна Валиева

В своём университете Валиева проводит мастер-классы по компьютерным наукам — в том числе для программы Microsoft Student Partners — и занимается разработкой системы оценки навыков вождения: «Я написала приложение для iOS-устройств, которое собирает показания датчиков, отправляет их на сервер в облаке и предоставляет пользователю результаты эксперимента. С помощью алгоритмов машинного обучения сервер выполняет оценку навыков вождения пользователя».

Вадим Захаренко. 20 лет, Москва

Вадим Захаренко учится на третьем курсе факультета вычислительной математики и кибернетики МГУ, где изучает машинное обучение, разрабатывает open-source-инструмент для тематического моделирования BigARTM (тематическое моделирование решает задачи определения тем в документах; поиска, классификации, аннотации коллекций документов и новостных потоков) и работает iOS-разработчиком в компании Jufy, где занимается проектом, связанным с криптографией и нейросетями.

Разработчик рассказал, что познакомился со Swift благодаря своему другу Ивану Грачеву — победителю WWDC Scholarship 2016 года: «Было просто эстетически приятно открыть Xcode, чтобы начать писать что-то на Swift». При этом первым опытом iOS-разработки для него стало приложение Google Maps Timeline для iOS, над кодом которого он работал во время стажировки в Google.

Google Maps Timeline для iOS

Для участия в WWDC 2017 разработчик создал базу для многофункциональной библиотеки машинного обучения на языке Swift.

Сейчас в App Store очень популярны приложения, которые используют машинное обучением и нейросети. В основном, это работа с графикой, например, приложения Prisma, MSQRD, Fabby. Чаще всего, все вычисления происходят на сервере, либо на клиенте используется библиотека C++, которая интегрируется потом со Swift или кодом Objective-C.

Идея моей заявки на WWDC заключалась в том, чтобы сделать базу для удобной и многофункциональной библиотеки машинного обучения на чистом Swift — то есть сделать процесс использования машинного обучения в iOS-приложении проще.

В существующих библиотеках я не нашел самого простого алгоритма классификации — классификации методом ближайших соседей, поэтому решил начать разработку библиотеки именно с него. Со временем рассчитываю добавить более сложные алгоритмы. Как дойдут руки, выложу библиотеку в open-source и, возможно, коммьюнити подхватит это и получится сделать что-то стоящее.

Вадим Захаренко

Александр Даниляк. 21 год, Москва

Александр Даниляк учится на пятом курсе МФТИ и является сооснователем проекта ColorMe — технологии для определения цветотипа человека. С ее помощью бизнес в бьюти-сфере может таргетировать свои товары под конкретных людей по фотографии — например, по обычному селфи.

«В качестве клиентов мы рассматриваем интернет-магазины одежды и косметики, салоны красоты и бьюти-издания. Мы предоставляем нашу технологию в виде SDK и API», — рассказывает разработчик.

В 2014 году Даниляк вместе с четырьмя разработчиками создал команду, которая участвовала в различных хакатонах: PayPal Battlehack 2014, Skoltech Hackathon. В 2015 году его команду отобрали для участия в Facebook Finals 2015 — мероприятия проходило в штаб-квартире Facebook в Калифорнии.

«Во время всех хакатонов я был ответственным за UI/UX и iOS-реализацию. Потом был перерыв, команда распалась, и уже с новой командой я вернулся к хакатонам через пару лет: поучаствовали в MLH Junction 2016 в Хельсинки и получили награду за наилучшее использование AWS в конкурсе HackUPC Winter 2017 в Барселоне. Некоторые из проектов, реализованных в рамках хакатонов, переросли в самостоятельные стартапы, например, ColorMe», — рассказал разработчик.

Разработкой приложений Даниляк увлекся на втором курсе университета, при этом в качестве платформы для обучения выбрал виртуальные уроки Stanford University с курсом iOS Application Development.

К моменту изучения Swift, я уже был знаком с C++, Java, Python и Objective-C, то есть некоторый опыт изучения языков уже был. Также, многие подходы из iOS-разработки одинаковы для Objective-C и Swift.

Лучшие источники, чтобы познакомится с языком:

— Официальная книжка от Apple. Написана на простом английском, есть примеры кода. Очень хороший вариант.

Swiftbook.ru — хороший русский перевод книги и дополнительные материалы. Для новичков есть разные видео с ответами на вопросы, не связанные с программированием: про поиск работы и так далее.

Затем нужно изучить UIKit для создания приложений или 2D/3D-движки для создания игр. Для изучения и того и другого отлично подойдут следующие материалы:

Raywenderlich.com — сайт с туториалами для программирования под все современные платформы. Отлично написано, все моменты подробно объяснены, есть как простые, так и сложные.

Appcoda.com — тоже хороший сайт с туториалами.

Александр Даниляк

Для участия в WWDC разработчик написал простейшую игру в 8-битном стиле: «Хотелось попробовать что-то новое, поэтому писал ее для macOS и пользовался фреймворком для 2D игр от Apple: SpriteKit».

0
29 комментариев
Написать комментарий...
Сергей Хорсев

Парни молодцы большие, особенно девушка! А ты сидишь на диване и исходишь слюной, пока школьники ездят в Калифорнию :laughing:

Ответить
Развернуть ветку
Хидеки Хара

совершенно верно. Только не "ты", а "мы"

Ответить
Развернуть ветку
Aleksandra Chupakhina

Офигеть, и это в 16 лет! В приятном шоке от нашей молодёжи!

Ответить
Развернуть ветку
Mass Saint-Aquille

Если честно сам язык Swift не выглядит перспективным, даже если его и выбрали как второй Apple. Но тем не менее сейчас не об этом.

Таких молодых людей по (нашей, я говорю о нашей) стране сотни, чаще всего они заканчивают свою динамику на производстве каких-то небольших приложений и сама дорога в большой Айти бизнес для них закрывается. Будем честны, такими как Дуров они навряд-ли станут, но в этом скорее беда нашего экономического строя. В нашей стране с населением в два раза меньше чем в США и в почти 10 чем в Китае присутствует достаточно высокая концентрация золотой молодежи (Я не о мажорах говорю, а вот о таких умах). Вполне логичным было бы создание особенных экономических зон для ИТ бизнеса. Как ранее предлагал тот-же Дуров грамотным решением (на мой взгляд) является превращение из Крыма в IT офшор. Унификация и снижение налогов (в том числе и для фонов), дебюрократизация, laissez-faire, упрощение визового режима для стран ЕС (Хотя безусловно это должно согласовываться с ФСБ) - все это и еще многое другое являются ключом для создания благоприятной атмосферы для девелоперов и ученых.

Ответить
Развернуть ветку
Sergey Usoltcev

Крым под санкциями, в том числе многих IT компаний, насколько я знаю. Плюс он не признан почти никем — мало вероятно что кто-то туда поедет.

Мне думается, тут проблема архитектурная и даже если сейчас будут какие-то начинания, то результат все равно окажется в стиле Роснано и Сколково.

Ответить
Развернуть ветку
Mass Saint-Aquille

К сожалению это правда. Санкции очень сильно мешают.

Сколково и Роснано не работают по принципу laissez-faire, вот именно поэтому мы и видим бессмысленные траты на почти бессмысленные проекты. Нужно чтобы в их деятельности был заинтересован рынок, а этого к сожалению нет.

Ответить
Развернуть ветку
AS

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

Ответить
Развернуть ветку
Andrey Galko

Бедный мальчик, в 16 лет гей из запада пропагандирует ему нетрадиционные отношения. Как сказал бы Милонов, забанить Apple, Кука и VC.

А если серьёзно, то вау. Рад за ребят. Они талантливы и этого заслужили.

Ответить
Развернуть ветку
Хидеки Хара

Фотка, где пацана обнимает Тим Кук, - хм....

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Alexander Matveev

Поцелуй в живот от ввп его исцелит (:

Ответить
Развернуть ветку
Камаз Узбеков

Самых лучших забирают, суки

Ответить
Развернуть ветку
Mikhail Fedorenko

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

Ответить
Развернуть ветку
Камаз Узбеков

Сами они никуда не уедут без помощи спонсоров. А вот средний айкью в России упадёт после их отьезда. Чему тут радоваться?

Ответить
Развернуть ветку
Mikhail Fedorenko

Радоваться нужно тому, что умный и активный человек нашёл место для максимальной самореализации.

Как же надоели эти державники, которые больше заботятся о мощи абстрактного государства, а не счастье отдельного человека.

Ответить
Развернуть ветку
Александр Краснов

Совковое мышление.

Даже если один из пяти вернёться и будет делать страну лучше - это всё равно лучше чем пять из пяти будут тухнуть на диване.

Ответить
Развернуть ветку
Камаз Узбеков

Вернёться, как же

Ответить
Развернуть ветку
Андрей Захаров

Всё хорошо, но у меня маленький вопрос:
почему на сайте BigARTM написано Konstantin Vorontsov (профессор РАН, д.ф.-м.н. как я понимаю), а в статье кто-то другой ?

Тогда уж не разрабатывает, а участвует в разработке, наверное будет более корректно. Или я не прав, просветите !

Ответить
Развернуть ветку
Вадим Захаренко

Безусловно, я участвую в разработке в составе научной группы Воронцова Константина Вячеславовича - автора идеи и руководителя проекта.

Ответить
Развернуть ветку
Андрей Захаров

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

Ответить
Развернуть ветку
Вадим Захаренко

Спасибо:)

Ответить
Развернуть ветку
Евгений Смирнов

Поздравляю. Желаю добиться выдающихся успехов.

Ответить
Развернуть ветку
Max Leontiev

Почему у вас тоже мысли о том же, а ?

Ответить
Развернуть ветку
Хидеки Хара

Журналисты спецом самую провокационную фотку в топ поставили.
Манипулируют нами, бессовестные.

Ответить
Развернуть ветку
Max Leontiev

Хорошее фото в анонсе - гарантия успеха !

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Oleksandr Fisun

В мои 32 статья меня очень мотивирует! )
спасибо.

Ответить
Развернуть ветку
Максим Дмитриев

Своих мозгов нехватает, побираются по миру.

Ответить
Развернуть ветку
Максим Дмитриев

Минусаторы, вы считаете что программы по привлечению умных людей из других стран, это не высасывание интелектуального капитала из них?

Ответить
Развернуть ветку
26 комментариев
Раскрывать всегда