Как написать программу для iPhone
Сегодня iPhone - не просто популярное устройство, а настоящая живая легенда. Легенды ходят и о тех, кто сумел заработать на программах для него астрономические, по белорусским меркам, денежные суммы. С чего нужно начинать, чтобы вам достался свой кусок пирога под названием iPhone/iPad?
Success stories
Начинать без вдохновения не стоит, потому что программирование сродни искусству - даже если вы пишете программу исключительно для того, чтобы заработать с её помощью денег, а не с целью самореализации, лучше всего она выйдет в том случае, когда к ней, что называется, "лежит душа". Пожалуй, лучше всего в таком случае могут мотивировать истории тех, кто уже достиг успеха на поприще создания приложений для "яблочных" устройств.
Итак, вот первая из success stories. Работавший программистом в Sun Microsystems Этан Николас, попав в затруднительное финансовое положение из-за рождения сына, решил попытать счастья и заработать денег на продаже собственной игры для "яблочного" коммуникатора. По его собственным словам, после принятия решения о её написании, в течение шести недель он одной рукой укачивал сына, а другой писал код на совершенно незнакомом ему языке программирования (об этом языке мы поговорим чуть ниже). Но, как выяснилось в дальнейшем, мучения Этана были не напрасны: буквально в первый же день после публикации игра iShoot принесла своему создателю две тысячи долларов. Потом, конечно, продажи "просели", но после выпуска урезанной бесплатной версии снова поднялись до более чем приличного уровня. А к тому моменту, как игра вышла на первое место по популярности среди iPhone-приложений и стала приносить $37 тыс. ежедневно, Этан Николас успел уйти из Sun Microsystems и нанять своему сыну сиделку.
Впрочем, этот пример, скажем прямо, еще не самый впечатляющий, потому что игры для мобильных платформ всегда были востребованы пользователями. iPhone открыл настоящую эру совершенно бесполезных, но дико успешных мобильных приложений, которые впечатлили своим успехом даже журналистов таких изданий, как Forbes. Самый, пожалуй, яркий пример подобного продукта - программа iSteam, которая помогает создать имитацию заиндевения экрана коммуникатора. Пользователь дует в микрофон - в зависимости от интенсивности получившегося "ветра" экран запотевает по-разному, и на получившемся "инее" пальцем можно рисовать различные узоры. Как вы думаете, сколько можно заработать на таком приложении? Оказывается, за первый месяц продаж его создатель Костас Элефтериу сумел получить от пользователей почти $50 тыс., при цене одной копии в $0.99. Ничуть не более полезна и другая ставшая чрезвычайно популярной среди пользователей программа под названием iFart - хотя, пожалуй, развлечь своего пользователя она может куда лучше, чем iSteam. Стоит iFart тоже всего один доллар, и за эти деньги пользователь получает универсальный инструмент для того, чтобы издавать неприличные звуки: отрыжка, сморкание, пукание... По словам написавшего её Джоэля Комма, он был в шоке, когда после публикации программы в каталоге AppStore в первые же десять дней её купили более тринадцати тысяч человек.
Вас это вдохновляет? Что ж, будем считать, что первый шаг на пути создания приложения для iPhone мы с вами сделали. Теперь давайте поговорим о том, где разжиться идеей для создания успешного приложения.
В поисках идей
На самом деле, конечно, угадать, какая именно идея "выстрелит", очень сложно. Не факт, что сегодня те же самые iFart и iSteam "пошли" бы так же хорошо, как тогда, когда они были написаны. В то же время, зачастую можно угадать, что будет интересно пользователям в ближайшее время. Ярким примером этого будет еще одна success story, которая поможет понять, к чему имеет смысл "привязываться" при разработке iPhone/iPad-приложений.
Как известно, в Америке очень популярным видом спорта является бейсбол. Об этом явно догадываются и производители программного обеспечения для "яблочного" коммуникатора: во время американского чемпионата по бейсболу ассоциация MLB выпустила приложение MLB.com At Bat 2009, позволяющее болельщикам смотреть статистику матчей, отрывки трансляций и т.д. через свои телефоны. Приложение стоимостью $10 было куплено почти 130 тыс. раз, принеся ассоциации более миллиона долларов чистой прибыли.
Привязываться к каким-либо широко разрекламированным спортивным событиям или другого рода мероприятиям - достаточно неплохая стратегия, однако важно помнить, что и конкуренция в этой нише очень высокая. Вообще же дать представление о вкусах пользователей и тенденциях в этой области может мониторинг популярных приложений в AppStore в течение некоторого времени. Не стоит при этом бросаться сразу писать то, что сейчас находится в топе - лучше отследить программы, которые быстро поднимаются от низа к верху, и постараться написать что-то в том же духе, поскольку предпочтения пользователей - вещь достаточно нестабильная, и пока вы будете писать свои приложения, те из них, которые были на пике популярности, могут оказаться уже никому не нужными.
Ну и, конечно, если у вас есть идея, которая возникла в процессе использования коммуникатора, то именно её имеет смысл реализовывать в первую очередь - как показывает опыт тысяч программистов, сумевших сделать неплохие деньги собственным умом, именно приложения, идеи которых были "выстраданы" авторами от начала и до победного конца, обычно становятся самыми популярными и успешными.
Нужен ли сам iPhone?
Очень важный вопрос, который возникает у начинающего iPhone-разработчика, заключается в том, есть ли необходимость в наличии самого телефона. Что и говорить, вопрос далеко не праздный. Стоимость iPhone поневоле заставляет задуматься простого программиста, ещё не заработавшего свой миллион долларов на календаре бейсбольных матчей или очередной вариации на тему "тетриса", особенно если этот программист ещё не покинул студенческой скамьи. Может, стоит взять кредит и купить все-таки коммуникатор в расчете на будущие прибыли? Или лучше постараться обойтись эмулятором, потому что далеко не каждый тетрис делает своего создателя богачом?
Конечно, при прочих равных, с "айфоном" в руках разработка пойдет веселее и качественнее, чем без него. Потому что как бы хорош не был эмулятор, всё равно он не покажет вам всех тонкостей движения по экрану пальцев, то есть интерфейс будет не так хорош, как при разработке с использованием самого коммуникатора. Опять же, никто не отменял и обычную, присущую разработке любого программного продукта мистику - особенно мистическое "не работает", хотя, по идее, не работать просто не может по определению. Само собой, что даже просто узнавать о проблемах при их возникновении (если само устройство отсутствует), придётся от конечных пользователей. Что, скажем прямо, заставит их относиться к вам совсем не так хорошо, как хотелось бы. Опять же, в процессе пользования коммуникатором могут возникнуть какие-нибудь идеи по поводу создания приложений для него, что также является однозначным "за" в пользу приобретения iPhone.
Впрочем, если iPhone действительно является для вас неподъёмной покупкой, то, в принципе, можно попытать счастья и с эмулятором. Другое дело, что сейчас нxа рынок вышло уже четвертое поколение этих аппаратов, и вполне можно сделать, что называется, "ход конём" и приобрести бывший в употреблении аппарат одного из более ранних поколений, который будет стоить заметно дешевле, чем из магазина. Можно пойти ещё дальше и приобрести не коммуникатор, а плеер iPod Touch, который имеет такую же программную начинку, как iPhone, но без "телефонных" функций и стоит несколько дешевле "яблочного телефона".
Нужно сказать, что покупка iPhone при разработке приложений под него оправдана ещё и по той причине, что, по сути дела, разработчик поставлен в достаточно тепличные условия - ему предлагается, фактически, одно-единственное устройство от одного производителя с заранее известной аппаратной и программной начинкой. Один раз разработав интерфейс (который, кстати, помогут выполнить "на уровне" руководящие указания от дизайнеров Apple), разработчик может забыть о его тестировании на экранах десятков разных устройств - разных по размеру, яркости, чувствительности к прикосновениям пользователя... Фактически, разрабатывая приложения под iOS (а именно так сейчас называется операционная система, применяемая в портативных устройствах Apple), разработчик не сталкивается и с половиной всех трудностей, которые ждут тех, кто пишет софт под другие распространенные мобильные системы - Symbian, Windows Mobile, Android... Конечно, если приложение "выстрелит" на AppStore, то будет иметь смысл задуматься о написании версий и для этих мобильных платформ, но это уже дело далекой перспективы. О сложностях, связанных с портированием iPhone-приложений на другие системы, нужно будет думать тогда, когда возникнет реальная угроза столкнуться с ними лицом к лицу.
Так что, если уж заниматься разработкой приложений для "айфона", то все-таки есть смысл приобрести себе какой-нибудь девайс с iOS, тем более, что сейчас возможностей сделать это даже при ограниченном бюджете не так уж и мало.
Что ж, на этом "философскую" часть разговора о создании приложений под iPhone можно считать завершенной - в следующий раз перейдем к технической части.
Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by