Разработка приложений под iOS7. С чего начать?

Наблюдаю сейчас такой тренд — очень много людей хочет делать приложения под мобильные платформы. Люди, которые раньше делали визитки и сайты идут в iOS-дизайнеры. Это, конечно, замечательно. Новый опыт и всё такое. Только вот информации на русском языке довольно мало. Оно и понятно. Те, кто уже набрался опыта и работает в этой сфере, не любят тратить время на уроки и рассуждения — им бы проект сдать и ещё для себя успеть пару приложений спроектировать. Куда уж тут делиться опытом!

Зато у меня ситуация прямо противоположная. Я только начал. И очень хочется поделиться этими первыми шагами. Они, пожалуй, самые важные. Чтобы пройти по всем грабелькам быстрее, набить собственных шишек, заработать свой опыт.

Итак, вы решили научиться делать классные приложения под iOS.
С чего же начать? Куда смотреть?

Урок здравого смысла

Самый первый вопрос, который вам следует задать самим себе: «А это ли то, что я хочу?»
Не торопитесь отвечать «да». Следует подумать, что для этого потребуется и в каком объёме.

Перво-наперво, хорошо бы иметь свой iPhone. Четвёрочку хотя бы, ну, или пятёрку. Это необходимое условие. Нельзя начать делать приложения, не представляя как работает iOS. Ну, нельзя, правда. Это как учиться ходить по картинкам в самоучителе. Ничего хорошего не получится. Поэтому желающие без айфонов идут копить ден.знаки и покупать волшебный предмет.

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

А ещё английский будет крайне полезен при чтении различных материалов по теме.

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

В основе хорошей типографики лежит правильный выбор пропорций и начертаний правильного шрифта.

При этом нужно помнить, что картинка на экране монитора и реальная картинка на экране айфона — это две разные картинки. И воспринимаются они совершенно по-разному. Не каждый сможет сразу увидеть проблему при разработке приложения. Здесь нужен айфон и опыт его использования. Хорошим подспорьем будет использование специальных программ, которые позволяют показывать макеты прямо на экране вашего айфона (Silkscreen — для фотошопа, Sketch Mirror — для Sketch.app).

Это только мааленькая вершина айсберга!

Совершенно очевидный вывод: чтобы начать заниматься разработкой приложений под iOS, необходимо иметь довольно обширную базу различных знаний в совершенно разных областях. Или иметь огромное желание прокачать все необходимые навыки. И вот тогда… Ну, вы меня поняли.

А есть ли цель?

Теперь давайте поговорим о цели. Это не просто «я хочу делать iOS-приложения». Этого недостаточно, чтобы сделать действительно хорошее приложение. Хорошее приложение должно изменять мир к лучшему, решать какую-то проблему, быть удобным и красивым. Иначе зачем оно?

Правильно поставленная цель поможет сделать ваше приложение популярным; а вам вырасти в профессиональном плане.

Я не просто хочу делать приложения. Я хочу делать клёвые приложения!
Полезные приложения. Красивые приложения. Удобные приложения. Умные приложения.
На меньшее я не согласен!

Как выбрать хорошую идею для приложения?

Понятно, что всё начинается с идеи. Но сейчас очень сложно найти что-то по-настоящему новое. Рынок переполнен ту-душками, календарями и приложениями, которые считают калории. И они продолжают появляться. А знаете почему? Потому что человеку надоедает одно и то же. Он так устроен, ему хочется чего-нибудь новенького. Чтобы разноцветное и «вау»! Или наоборот, строгое и простое. Но чтоб удобное!

Самый простой вариант выбора идеи для приложения — это придумать приложение для себя. То, чего тебе не хватает. Чего хотелось бы увидеть, а на рынке этого нет. И плевать, что это очередной калькулятор или календарь. Но зато именно с теми функциями, которые нужны тебе. Будь уверен — ты не один. Таких людей множество. И, возможно, именно твоя идея станет популярной на пару недель. Чтобы потом быть вытесненной очередным новым приложением.

Второй вариант требует времени и правильного анализа. Нужно пробежаться по приложениям из одной области и попытаться понять, что именно делает их такими популярными. И как их можно улучшить. Каких функций не хватает? Какие лишние? Что мешает делать это действие в один клик? А вообще без клика?

А потом сделать своё, но более удобное. Или более красивое.
А лучше — и то, и другое. Здесь не нужно бояться копировать что-то из других приложений.
Главное, чтобы новое приложение было лучше!

Есть ещё один хороший вариант — это взять приложение какого-нибудь известного бренда и переделать его по-своему, улучшить, сделать удобнее, красивее. Но здесь есть некоторые сложности. Если это приложение для банка, то там есть ряд требований по безопасности. И сделать подобное приложение со знакомым iOS-программистом не выйдет, нужна сертификация, допуски. С другой стороны, если ваше приложение заметят, то есть большой шанс быть приглашенным на работу. Сбербанк, Кока-Кола, РЖД — осмотритесь, вокруг полно возможностей!

Контекст

Очень важный момент: довольно мало приложений, которые действительно учитывают контекст.

Если я бегу по улице, а мне нужно быстро записать телефон с адресом, или отправить документ на ходу, а кнопки у приложения мизерные — это печаль. Вряд ли я буду пользоваться им. Я найду что-то другое. Быстрое, с большими кнопками.

Удобство в одной ситуации вовсе не означает удобства в другой.
Примеров можно привести очень много.

Вместо этого я скажу одно — думай!

Цветовая палитра

Цвет — это основа нашего мира. Цвет и контраст очень сильно влияют на восприятие. Правильно выбранная цветовая палитра творит чудеса! Даже если приложение не очень удобное, но красочное и яркое — им будут пользоваться.

Многие знают, что такое цвет, но почему-то мало кто знает, что такое тон цвета. Или не умеют использовать эти знания. Даже опытные дизайнеры, порой, совершают самые дурацкие ошибки.

Чтобы избежать ошибок, связанных с тоном, нужно перевести свою красивую цветную картинку в ч/б. И внимательно посмотреть. Если элементы сливаются с фоном или выглядят не очень контрастно — нужно переделать.

Для тех, кто не знает о цвете ничего или знает очень мало, рекомендую прочитать книги Йоханнеса Иттена «Искусство цвета» и «Искусство формы». Это основа основ.

Так что же делает приложение действительно классным?

Конечно же …всё. Если приложение удобное и красивое, но работает медленно, то его быстро заменят на что-нибудь менее навороченное, но быстрое. Поэтому оставляйте только главное, только то, что действительно нужно. Не бойтесь выкидывать лишнее при проектировании! Это сильно сократит работу вашим программистам, а вам позволит предложить новые функции для для следующих версий.

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

Оно должно решать проблему.

Сделать

«Так что же нужно сделать-то?» — спросите вы.

Рассказываю:

  1. Выбираем идею для приложения.
  2. Продумываем как оно должно работать и что оно будет уметь.
  3. Рисуем все экраны со всеми ключевыми действиями. Ручкой. На бумаге.
  4. Расставляем связи между ними. Должен получиться сценарий с понятной цепочкой действий.
  5. Сценариев может быть много. Вы должны зафиксировать все. Ручкой. На бумаге.
  6. Внимательно смотрим и задаём себе вопрос: как можно улучшить/упростить то, что получилось?
  7. Улучшаем. Проверяем. Всё круто и удобно? Нет — возвращаемся на шаг назад. Да — идём дальше.
  8. И только после этого приступать к отрисовке дизайна. Начинать стоит с главного экрана, с основной функции. Остальное получится само собой.

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

Контроль

Очень рекомендую найти себе хорошего наставника, преподавателя, учителя, арт-директора. Он будет бить вам по рукам, когда вы будете делать фигню (а вы будете). Это лучшее, что вы можете сделать, чтобы действительно начать делать хорошие приложения. Без этого ваш путь будет долог и тернист. А первые приложения — ужасны.

Что делать, если арт-директора нет?
Искать. Думать. Анализировать. Идти длинным путём. Воспользоваться советом Николая Товеровского из Бюро Горбунова — найдите себе врага. И работать-работать-работать. Без этого ничего хорошего не получится.

Помните детскую сказку Николая Носова «Заплатка»?

Здесь главный герой Бобка учится заплатки пришивать. Колет пальцы, но пробует, учится, переделывает. Описан длинный путь проб и ошибок. С арт-директором вы проделаете этот путь в разы быстрее. Хотя, иголку держать он вас, конечно, не научит. А вот «пришивать» — запросто!

Как ещё сократить время на создание приложения?

— Не делать лишнего
Того, на что уходит действительно много времени.

Например, не рисовать иконки. Этого добра сегодня ну очень много:
http://thenounproject.com
http://iconmonstr.com
http://www.iconfinder.com
http://www.flaticon.com

— Не тратить время на эксперименты
Когда нет опыта и каких-то готовых решений, именно эксперименты съедают большую часть времени — ведь вы ещё не знаете что именно «работает» и как сделать лучше. Нужно быть готовым к тому, что сделать быстро и хорошо сходу не получится. Нужен багаж знаний.

— Использовать готовые решения
Прошерстите Аппстор. Смотрите на дриббл или пинтерест. Собирайте свою коллекцию хороших решений. Но здесь, опять же, при отсутствии опыта можно увидеть красивую картинку и не понять, что она совершенно не решает нужную задачу. И таких красивых, но абсолютно бесполезных концептов, сейчас очень много. Картинка красивая, но не более. Такая дрибблизация en дизайна только вредит. Особенно начинающим. Нужно быть очень аккуратным!

Вывод

Учиться новому всегда здо́рово. В случае с разработкой приложений под iOS7, это ещё и перспективно. Но здесь важно понимать, что делать просто красиво сегодня недостаточно. Нужно научиться думать, научиться понимать приложения, применять новые знания, находить лучшие решения. Путь этот длинный и непростой, но очень интересный. И главное, чтобы то, чем ты занимаешься, не только было клёвым само по себе и нравилось как процесс, но ещё и изменяло мир к лучшему!

2014   app   iOS
2 comments
Bizikov

Спасибо за интересную статью! Но мне кажется название записи не совсем соответствует смысле текста. Разработка приложения это далеко не только придумывание идеи и создание макетов страниц. А как же само программирование? Стоило бы хотя бы упомянуть, что для разработки приложений ios, понадобится не только айфон, но и мак. Потому что только с мака можно разрабатывать приложения, в xcode, причем необходимы знания ООП и в частности языка objective-c. Было бы интересно увидеть список из книг, которые стоит прочитать новичку, что бы вникнуть в саму суть objective-c.
Хотя мне кажется статья больше не о полной разработке приложения для ios, а скорее дизайна приложения.

SmartGeek

Да, статья именно о разработке дизайна приложения. В заголовке намеренно не указано, что статья про дизайн. Потому что тема очень широкая. Очень немногие программисты задумываются об эстетике и удобстве приложения. Им бы новые эффекты закодить или правильно организовать клиент-серверное взаимодействие.

Важно, чтобы программист задумывался о дизайне, а дизайнер — о том, как это всё будет работать ещё на этапе проектирования. Ещё лучше, если у них есть возможность посоветоваться друг с другом. Тогда скорость разработки возрастает в разы.

Bizikov

Я как раз только начинаю изучать эту тему. Ты верно сказал, что это достаточно модное направление. Мне интересна разработка как со стороны дизайна, так и программная реализация. Не собираешься ли случаем сделать подборку материалов, посвященных разработке ios приложений? Да и вообще интересно, что ты сам читаешь на эту тему.

SmartGeek

Нет, подборку материалов для разработчика я делать не буду. По одной простой причине — я не разработчик приложений, ничего не могу сказать про подходы и подводные камни. Я не пишу код. Здесь я плохой советчик.

Могу порекомендовать хорошо ознакомиться с материалами для разработчика от Эппл. Там очень много полезного. Очень странно, но многие этим пренебрегают. И, в свете выхода новой macOS 10.10 и iOS8 с новым языком программирования Swift, очень рекомендую начинать с самых новых инструментов.

Popular