Как делаются приложения для iPhone. Рассказывают разработчики
За иконкой приложения на экране вашего смартфона - целый мир: идея, команда разработки, исследования рынка, адаптация к операционной системе. В каждую программу вложены тысячи часов работы, споров, тестирования и ловли ошибок. И когда люди, которые над ними работают, собираются вместе - им есть что обсудить.
Ближайшее крупное мероприятие - Apple WWDC - пройдет в американском Сан-Хосе с 5 по 9 июня. RG Digital поговорил с топовыми российскими разработчиками о том, как обычно проходят технологические конференции.
Какие вообще международные конференции посещают разработчики?
Основные мероприятия для программистов устраивают несколько гигантов: Apple, Google и Microsoft. Отличие между ними - в расстановке акцентов, в разном стиле отношений с партнерами и контентом, объясняет Андрей Ивашенцев, директор по инновациям в Game Insight.
"К примеру, Microsoft всегда была компанией с очень сильным партнерским каналом и делает основной упор на привлечении партнеров и их кейсов. Если посмотреть на структуру доходов компании, то можно увидеть, что она весьма диверсифицирована, а значит, успешных партнерских историй можно рассказать про каждую сферу деятельности", - говорит Андрей.
"У Apple ситуация другая - приоритет отдается платформе и высочайшему качеству софта, который на ней работает. На WWDC приезжает тысяча инженеров Apple, они рассказывают о том, какими должны быть идеальные приложения, и разработчики получают информацию из первоисточника. Ключевое отличие конференций - реальная возможность встретиться с инженерами, которые делают именно ту конкретную функциональность, которая критически важна для вашего продукта. У Google что-то среднее: там много корпоративных инженеров, но они используют партнерские кейсы, чтобы их словами подтвердить свои тезисы. Партнерские же доклады представляют небольшую долю от общего контента конференции", - продолжает Ивашенцев.
Но разве нельзя все обсудить в онлайне?
По словам программистов, ехать на мероприятия крупных технологических брендов стоит хотя бы за особой атмосферой.
"На WWDC начинается новый технологический год Apple, который заряжает тебя энергией впрок. Тысячи людей приехали сюда, чтобы понимать, что им делать на следующий год: что будет важно, приоритетно, например, к выходу нового устройства. Эту энергетику можно прочувствовать, только оказавшись на мероприятии лично.", - говорит Андрей Ивашенцев.
Кроме того, в случае с Apple это еще и возможность наедине и в группах пообщаться с дизайнерами и ИТ-специалистами из этой компании. При разработке под открытые платформы вроде Linux программисты могут посмотреть исходный код и быстрее понять, почему та или иная функция не работает так, как запланировано. "В случае с iOS так сделать нельзя, потому что исходники закрытые, и можно лишь предполагать, почему это не работает. Можно, конечно, "лечить по фотографии", а можно приехать к тому, кто писал этот код, и спросить", - говорит ведущий разработчик "Яндекса" Роман Бусыгин.
"Это особенно ценно, потому что, скорее всего, у специалистов из Apple есть дополнительная информация о том, что люди используют и что действительно важно для них в приложении", - добавляет Егор Толстой, руководитель мобильной разработки в Avito.
По словам Бусыгина, плюс конференции еще и в том, что туда едут люди, которые работают с такими же инструментами и частями кода. "Если у тебя не получается сходу найти ответ на свой вопрос, ты можешь прийти на конкретную сессию и пообщаться с ними, увидеть совершенно другой взгляд на решение типовых вопросов", - говорит он.
Как попасть на конференцию?
Поток желающих попасть на крупные технологические мероприятия растет с каждым годом. Билеты на конференцию Microsoft раскупают за несколько минут, а Apple и Google и вовсе ввели лотерею.
То есть право купить билет на WWDC стоимостью 1600 долларов (без стоимости перелета до Калифорнии) надо еще выиграть. "Ты радуешься приходу SMS о снятии денег", - смеется Егор Толстой из Avito.
Впрочем, есть еще один путь - для студентов и школьников. Перед WWDC Apple разыгрывает для них стипендии, которые покрывают и дорогу, и участие в конференции. В качестве заявки нужно выполнить задание: это может быть разработка тематического приложения или презентация уже готового проекта с сопроводительным письмом. В этом году такие стипендии получили пять студентов и школьников из России.
У молодежи есть и еще один бонус: на основной презентации они сидят прямо перед главой Apple Тимом Куком. Обычным разработчикам приходится порой стоять в очереди всю ночь, чтобы занять хорошие места в зале.
А развлечения какие-нибудь есть?
В рамках WWDC проходит вечеринка Beer Bash - фактически концерт с пивом на открытом воздухе.
Глава разработки приложения App in the Air Сергей Пронин (App in the Air) рассказывает, как ходил на Beer Bash вместе с группой студентов, выигравших стипендию от Apple.
"Там была группа Good Charlotte, которую в последний раз я слушал в 2008 году, а они вообще ее не слышали, потому что им тогда было по 10 лет или даже меньше. Они недоумевали: "Что это за старперы?". В итоге я нашел от-дельную компанию людей - "старперов" вроде меня, и мы устроили нормальный замес. Нас было человек 30, мы кричали все песни наизусть".
Роман Бусыгин из "Яндекса" говорит, что инженеры Apple тоже присутствуют на Beer Bash: "Если вы узнали кого-то из них на Beer Bash, то это отличный повод подойти к ним и сказать спасибо за улучшения, которые они добавили в новой SDK, а также отметить праздник вместе с ними".
Я немного научился писать код и хочу создавать iOS-приложения. Что мне делать?
Ходить на местные форумы и сообщества разработчиков, советует Егор Толстой. В Москве ежемесячно проводятся встречи под названием CocoaHeads. Туда приходят люди, которые уже встречались с инженерами Apple на WWDC, и у них можно что-то узнать. Еще каждую неделю мобильные разработчики собираются в офисе Avito на Peer Lab - более неформальные встречи, на которых они делятся своим опытом и знаниями с другими.
Такие встречи - это возможность пообщаться с "такими же, как ты", добавляет Сергей Пронин. По его словам, далеко не везде так можно делать, и в России есть специальные сообщества для подобных обсуждений и встреч - "митапов" (meet-up), как их называют сами разработчики.
Общаться важно как со своим братом-разработчиком, так и с инженерами Apple, уверены создатели популярных приложений. "Лучше самостоятельно анализировать новую информацию, а потом спрашивать у коллег и экспертов. Именно в этом случае родится видение, которое поможет дальше жить и работать", - подытожил Андрей Ивашенцев.
Вопреки опасениям, у большинства программистов нет никаких секретов от других участников сообщества разработчиков. "По опыту, все очень открыты, только если это не связано с их коммерческой и технологической тайной", - делится Сергей Пронин.
Гордятся ли разработчики тем, что они разработчики?
Первое время - да, гордятся, говорит Сергей Пронин. Пока не прочитают несколько отзывов о своем приложении в App Store.
Зато очень приятно, когда твоим приложением пользуются родители, добавляет Роман Бусыгин.
"Мне было неудобно, когда мои родители начали пользоваться приложением LiveJournal, которое я делал. Очень трудно было объяснить им, что я не имею никакого отношения к тому, что пишут люди в своих блогах", - рассказал Егор Толстой.
Как на самом деле создаются крутые приложения?
За работой простого на первый взгляд мобильного приложения стоит труд множества людей, причем зачастую это выглядит неординарно.
Например, создатели приложения App In The Air (оно помогает отслеживать авиарейсы, предупреждает о начале и завершении регистрации и дает множество других подсказок путешественникам) начали очень много летать на самолетах, чтобы понять, чего не хватает их программе.
"Мы поняли, что надо летать, и начали сами много летать, чтобы понять, как используется наше приложение", - говорит Сергей Пронин. В его компании улучшение продукта выглядит именно так.
"Продуктовый менеджмент вырастает из нас, обычных людей. Я полетал, понял, что мне не хватает вот этого. Сел, запрограммировал - и оно есть", - делится он.
В больших компаниях продуктовый менеджмент может быть совсем другим. Идеи по улучшению берутся отовсюду, в том числе из опыта технической поддержки и отзывов пользователей, рассказывает Игорь Акимов, руководитель отдела мобильных продуктов ABBYY. По его словам, каждый может прийти со своей идеей и предложить реализовать ее.
А в Game Insight реализовали специальную систему, которая "читает" отзывы в App Store. "У нас, как и у многих других компаний, есть аналитические средства для оперативного отслеживания отзывов к нашим играм. Пользователи пишут: вот здесь и здесь у вас плохо, а вот здесь - хорошо. На основе этих отзывов мы можем принимать те или иные решения по развитию игры, часто прислушиваясь к мнению игроков", - рассказывает Андрей Ивашенцев.
Егор Толстой из Avito рассказал, что в его компании обычно "пляшут" от целей, которых нужно добиться. "Мы разбились на маленькие команды, каждая из которых реализует потребности кого-то из целевой аудитории, - говорит разработчик. - Кто-то делает все для продавцов, кто-то - для покупателей, кто-то мессенджер создает, и это уже такие небольшие команды, в которых у каждого есть право голоса, и право предложить какую-то фичу, которая поможет достичь цели".
Как будут выглядеть приложения через пять лет?
"Приложений уже, может, даже и не будет", - фантазирует Роман Бусыгин из "Яндекса". - "Они станут настолько неосязаемыми, что ты не будешь понимать, что пользуешься каким-то конкретным приложением. Ты будешь просто решать свою задачу".
"Что бы там ни было, у разработчиков будет что-то тормозить, не работать. Нам всё равно понадобится ездить на конференции и узнавать, как сделать правильно", - улыбается Егор Толстой из Avito.