Разработка программ на ios. Как создать ваше первое приложение для iPhone

Кто не мечтал создать свою игру для iPhone и iPad? Игровая индустрия сейчас развивается стремительными темпами, и желание попробовать себя в данном направлении вполне естественно. Многие боятся стать , поскольку считают, что дело это непростое, требующее предельной концентрации и богатого опыта. Однако начать свой путь к мечте можно и без навыков программирования.

Один из инструментов разработки двух- и трехмерных приложений и игр — игровой движок Unity. С его помощью создаются приложения как для Windows и OS X, так и для iOS, Android и . Кроме того, движок используют на приставках PlayStation 4, Xbox 360, Wii и других. Unity очень популярен среди таких разработчиков, как Blizzard, EA, Ubisoft, поскольку работа с движком довольно простая, интерфейс удобный и есть бесплатная версия. Редактор легко настраивать, он имеет несколько различных окон, что делает возможным отладку игры прямо в нем.

Сам проект в Unity поделен на уровни, которые также называются сценами — это отдельные файлы с игровыми мирами, содержащими свои наборы сценариев, объектов и настроек. Скрипты при этом взаимодействуют с объектами, которые содержат наборы определенных компонентов. А благодаря поддержке системы Level of Detail высокодетализированные модели заменяются на менее детализированные, если игрок находится на дальнем расстоянии.

Редактор Unity действительно многофункциональный: система наследования объектов, скрипты в виде отдельных компонентов, поддержка физики твердых тел и ткани. Знакомство с движком на двух уровнях, включая интерфейс, создание скриптов, разработку ландшафта и создание мультиплеерной игры — это и многое другое предлагает сервиса GeekBrains.

Данная профессия имеет оценку сложности 2/5, при этом максимально востребована на современном рынке, а освоить разработку можно всего за полгода. Чтобы приступить к данному курсу, вам не нужны навыки программирования: главное — интерес и желание. При этом перспективы, как мы с вами убедились, впечатляющие — создание игр для iOS, Android, Xbox, PlayStation и других платформ. Средняя зарплата по Москве и МО для разработчика игр составляет 102 тысячи рублей в месяц. Опытные сотрудники запросто увеличивают этот показатель в пару-тройку раз.

Пусть к профессии «Разработчик игр» состоит из обучения C#, разбитого на два уровня, затем учеников ждут два уровня Unity, после чего они сразу приступают к командной разработке в компаниях и проектах. По итогам выпускник не просто получает резюме и сертификат о прохождении курса, но и имеет за плечами неплохое портфолио (в том числе создание мультиплеерных игр с помощью Unity 3D) и навыки командной разработки.

Уроки происходят онлайн, во время урока преподаватель объясняет материал, его действия ученики видят на экране, задают вопросы и обсуждают урок в чате. Как и в офлайне, они получают домашние задания, выполняют их, после этого проходят тестирование для закрепления пройденного материала. При помощи форума и опытных программистов можно обсуждать связанные с обучением темы.

Сомневаетесь, стоит ли инвестировать в разработку мобильного приложения ? Его можно сделать самостоятельно и абсолютно бесплатно. У вас может получиться тестовый вариант, с помощью которого удобно оценивать эффективность мобильной стратегии. А если постараетесь, вы сделаете приличное мобильное приложение, которое станет основным инструментом онлайн-взаимодействия с владельцами смартфонов и планшетов.

Свяжитесь с нами Обсудим?

Стоит ли делать свое мобильное приложение

Стоит. Если не верите на слово, вот несколько фактов:

  • По данным Flurry Analytics и comScore, владельцы смартфонов и планшетов пользуются браузером только 14 % от общего времени работы с девайсом. А 86 % времени они тратят на разные приложения.
  • Установленное приложение - ваш прямой канал связи с потребителем. Только подумайте: вам не нужно тратить деньги на рекламу или ждать, когда человек найдет вас с помощью «Яндекса». Остается поддерживать нужную пользователю функциональность и предоставлять ему релевантный контент.
  • Число покупок, сделанных с помощью планшетов и смартфонов, растет как в интернете в целом, так и в рунете. По информации маркетингового агентства Criteo , уже в 2016 году более половины онлайн-транзакций в рунете будут совершаться с помощью мобильных девайсов.

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

В таком случае, стоит ли рисковать и предлагать лояльным клиентам DIY-приложения, а не сделанные профессионалами штучные программы для Android и iOS? Давайте разбираться.

Когда можно создать приложение самостоятельно

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

Вы помните, когда бизнесу можно самостоятельно сделать сайт? Правильно, когда денег на сотрудничество с профессионалами еще нет, а время и желание разобраться с WordPress или «Джумлой» есть. Такая же ситуация с приложениями. Созданные самостоятельно программы для iOS и Android можно условно сравнить с сайтами на «движках» с открытым кодом.

Чтобы начать работать, регистрироваться не придется. Нажмите кнопку Create Now на главной странице или выберите меню Create App в правом верхнем углу на любой странице сервиса.


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

  • Manual . Этот шаблон позволяет сделать программу-гайд.
  • Blog . Приложение поможет аудитории вашего блога читать новые заметки с экрана смартфона или планшета.
  • Website . Шаблон конвертирует в приложение сайт.
  • Pages . С помощью этого шаблона можно сконвертировать в приложение с простой функциональностью любой контент.
  • News . Шаблон позволяет создать приложение агрегатор отраслевых или региональных новостей.
  • Page . Шаблон конвертирует в приложение офлайн-контент, например, электронную книгу.
  • VK Page и Facebook Page . Создайте приложение, позволяющее следить за обновлениями открытых групп во «Вконтакте» и в Facebook.
  • YouTube . Используйте шаблон для продвижения своего канала на YouTube.

Как создать приложение для блога

Воспользуйтесь шаблоном Blog. В соответствующем поле укажите URL блога или RSS-канала. Выберите цвет заголовка заметок.


Укажите название приложения.


Добавьте описание.


Выберите стандартную или добавьте произвольную иконку. Подходящий размер изображения - 512 на 512 пикселей.


Для создания загрузочного файла нажмите кнопку Create App. После этого необходимо зарегистрироваться в системе. Подтвердите регистрацию и перейдите в личный кабинет. Здесь вы можете установить приложение на свое мобильное устройство, опубликовать его в Google Play и Amazon App Store. Также система предлагает опцию монетизации. Если вы воспользуетесь этой функцией, в приложении будет отображаться реклама.


Проверьте, как работает приложение на вашем мобильном устройстве. На планшете программа должна отображать список публикаций в блоге в формате заголовка и анонса.

Откройте шаблон и настройте внешний вид приложения. Выберите способ отображения контента: по одному шагу на экране или список шагов.


С помощью редактора добавьте текст, изображения, видео или ссылки. Чтобы добавить в программу фото, загрузите его на хостинг Imgur и вставьте ссылку в соответствующее поле.


После редактирования контента укажите название приложения, добавьте описание и иконку. Нажмите кнопку Create App. После создания загрузочного файла установите его на мобильное устройство и проверьте работоспособность.

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


8 конструкторов аналогичных AppsGeyser

Если универсальный конструктор AppsGeyser вам не подошел, обратите внимание на аналогичные сервисы:

  • AppsMakerStore . С помощью сервиса можно создавать приложения разных типов: от программ для Ecommerce до решений для контент-проектов. Конструктор делает приложения для iOS и Android. Интерфейс сервиса русифицирован. Для новичков есть информативное руководство по использованию конструктора. Сервис платный.
  • Mobincube . Инструмент для создания и монетизации iOS и Android-приложений. Базовая функциональность сервиса доступна бесплатно. Конструктор позволяет сделать приложения разных типов.
  • Good Barber . С помощью этого сервиса можно разрабатывать Android- и iOS-приложения. Конструктор платный, стоимость использования составляет 16 USD в месяц.

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

Конструкторы приложений: каменный топор или тонкий современный инструмент?

Не бросайтесь из крайности в крайность. С помощью предложенных сервисов действительно можно создавать работоспособные функциональные приложения. Полученные программы можно использовать для решения разных задач: от обеспечения онлайн-торговли до распространения контента и обучения аудитории. Созданные в конструкторе приложения можно опубликовать в Google Play и App Store, редактировать, монетизировать с помощью рекламы или платных установок.

Помните, что недостаточно просто создать приложение. Необходимо вложить много сил в его продвижение. Обращайтесь к нам , если хотите доверить эту работу профессионалам, которые точно знают, что нужно делать, чтобы привлечь новых пользователей.

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

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

Свяжитесь с нами Обсудим? Закажите бесплатную консультацию

О создании собственного iOS-приложения наверняка подумывали многие. Однако, если вы новичок в этом деле, первой ступенью в освоение станет решение вопроса «с чего начать».

Главной целью этой статьи является постановка ориентиров для начинающего iOS-творца, с помощью которых будет проще понять с чего начать свое развитие в этой сфере. Вы узнаете о необходимом инструментарии разработчика, ознакомитесь с основным языком программирования для iOS-приложений Objective-C, узнаете, что такое Cocoa, получите ряд полезных ссылок и т.д.

Инструментарий iOS-разработчика

Приступая к освоению, для начала устанавливаем весь необходимый инструментарий: Xcode – созданную компанией Apple программу для создания приложений под OS X, iOS и комплект iOS SDK.

Xcode – удивительная штука, предоставляющая все необходимое в разработке приложений предназначенных для iPhone и iPad. Пользовательский интерфейс Xcode – это единое рабочее окно (workplace window ), в котором и происходит вся магия: от написания кода, его проверки и отладки багов до разработки интерфейса программного обеспечения. Упомянутый выше набор iOS SDK, призванный расширить комплект инструментов Xcode, не требует дополнительной загрузки и устанавливается автоматически с Xcode.

Таким образом, как вы уже поняли, вся работа начинается с установки последней версии Xcode, найти которую можно в Mac App Store .

Вторым шагов станет регистрация новоиспеченного iOS-программиста в Программе Разработчиков iOS . Регистрация необходима, если вы серьезно настроены на развитие и продвижение вашего детища в AppStore. В противном случае можно не париться и ограничиться Simulator’ом, входящим в комплекте iOS SDK.

О дальнейших шагах в освоении Xcode можно узнать здесь:

Язык Objective-C

Objective-C – объектно-ориентированный язык программирования, используемый для создания iOS-приложений. Objective-C является надмножеством языка С, что означает возможность написания кода как с использованием C, так и на языке Objective-C.


Вот небольшая подборка различных ресурсов (книг и сайтов), способных оказать помощь в освоении Objective-C: Для тех, кто знает английский язык:

Фреймворки

Любое приложение для iOS создается с помощью Objective-C и фреймворков Cocoa. Во фреймворках, разработанных корпорацией Apple, содержится библиотека функций, к которым обращается ваше приложение. При этом доступ к библиотеке фреймворка могут иметь сразу несколько приложений в одно время.

Apple создает фреймворки уже содержащие все необходимые функции, что экономит время и является своеобразным гарантом качества проделанной работы.

Желающим ближе познакомиться с темой сюда:

Шаблоны

Необходимым подспорьем при создании стандартных приложений для iOS являются шаблоны проектов. Однако это не значит, что шаблоны решают все проблемы: после ознакомления с базовыми iOS Design Patterns , разработчику так или иначе придется "обтесать" свое творение, в соответствии с существующими потребностями.

Привлекательная оболочка

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

Подробнее о проектировании интерфейсов:

И еще пара моментов

Теперь отвлекаемся немного от технической составляющей и обратимся к идей. При создании любого приложения важно понимать какова цель и какие функции оно будет выполнять. Определитесь будет ли приложение работать только на iPhone, а может iPad или же оно будет универсальным. Потратьте еще немного времени и определитесь с видом модели данных, стилем интерфейса, поизучайте фреймворки. Все это поможет вам четче представить архитектура программного обеспечения.

На этом наша экскурсия в мир разработки приложений для iOS окончена и предполагается, что ответ на вопрос "с чего начать" у вас теперь есть. Остальное все в ваших руках.

Если вы не нашли ответа на свой вопрос или у вас что-то не получилось, а в комментаряих ниже нет подходящего решения, задайте вопрос через нашу . Это быстро, просто, удобно и не требует регистрации. Ответы на свой и другие вопросы вы найдете в разделе.

Для менеджеров и простых людей

Часто слышишь фразу:

А не сделать ли мне эдакое приложение под айфоны!?

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

Идея

Любой проект начинается с идеи, и уже исходя из этого может оказаться, что приложение сделать нельзя. Знакомые мне разработчики отказывались от работы по самым разным причинам:

  • Нельзя определять положение пользователя в помещении точнее пяти метров;
  • Не получится определить, находится ли человек в самолёте, над какой страной пролетает и момент пересечения границы государств;
  • Не существует возможности узнать номер телефона человека (если только пользователь сам не введёт его);
  • “Если это просто сайт, оформленный в приложение, то его завернут” (речь про ревью приложения командой App Store);

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

Команда

Реализацию идеи можно заказать у компаний, которые сделали уже сотню приложений, а можно собрать собственную команду. Эксперты и так во всём разбираются, но и стоить их услуги будут соответственно. Поэтому мы рассмотрим вариант своей команды.

Я намеренно пропущу этап набора людей, потому что это относится к любому проекту, а не именно к iOS-разработке.

Трудно поверить, но писать приложения для iOS можно лишь на “маках”. Поэтому, каждому разработчику понадобится одно устройство на macOS и одно - на iOS (есть некоторые способы обойти это ограничение, но мы не будем их затрагивать). На маке он/она будет писать код, на айфоне - смотреть, что из этого получилось. Также можно надеяться, что iOS-разработчик придёт со своими девайсами (случай нередкий).

Самый недорогой вариант - купить каждому подержанный mac mini с клавиатурой, мышкой, монитором, набором кабелей и какой-нибудь iPhone 5s. Кстати, lightning-кабели с этого момента можете считать расходником: ломаются они крайне быстро.

Ко всему прочему, понадобится обзавестись “аккаунтом организации-разработчика Apple”, который стоит $99 в год и позволяет управлять доступами разработчиков, устройствами и так далее. Можно обойтись и индивидуальным аккаунтом, но стоит он столько же, а командных возможностей у него нет.

Интерфейс управления Apple Developer аккаунтом для организаций

Дизайн

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

Минимально от дизайнера понадобится следующее:

  • Иконка приложения в различных размерах (под различные типы экранов);
  • Картинки приложения (скриншоты) под каждый поддерживаемый экран и язык в случае, если на картинке есть текст (скриншоты могут сделать и разработчики, но зачастую на них добавляют и дополнительную инфографику);
  • Каждая картинка, которая используется в приложении, во всех нужных размерах (2–3x);

Если же вы хотите действительно качественное приложение, обязательно просите у дизайнера:

  • Рисунки всех экранов приложений (можно сделать исключение для похожих экранов);
  • Картинки для всех всплывающих сообщений, уведомлений;
  • Для всех элементов, где будет анимация - продумать и нарисовать её;
  • Карту переходов по приложению - user flow, её можно просить одной из первых - эта карта здорово помогает определить основные и дополнительные экраны, их содержимое;


Пример user flow от UBER для кнопки “Отвезите меня туда на UBER”

В максимальном случае берите дизайнера на постоянную основу и работайте с ним над созданием действительно удобного и приятного приложения, которым смогут пользоваться все (тонкий намёк на “доступность” - когда приложение подходит и для людей с ограниченными возможностями).

Тестирование

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

Этими вопросами занимаются тестировщики, желательно, чтобы они обладали опытом работы именно с iOS-приложениями. Вопрос: как они будут это делать?

Естественно, здесь тоже понадобятся устройства. Хорошо, если вы найдёте всевозможные сочетания версий iOS, типов iPhone/iPad, разрешений экранов, которые планируете поддерживать. Но тут есть различные обходные пути и дополнительные возможности:

  • Можно поддерживать лишь несколько типов устройств сначала, а потом дорабатывать приложение под оставшиеся. Однако Apple не очень любит, когда приложение заблокировано только для одного вида iPhone, если для этого нет явных причин.
  • Протестировать часть функционала можно на Симуляторе (это программа под macOS, эмулирующая реальный iPhone). В нём можно задать и размер экрана, и тип устройства, но протестировать можно не всё: только на реальных устройствах получится проверить работу с различными датчиками (гироскоп, акселерометр, компас, …), TouchID, пуш-уведомлениями.
  • Обязательно протестируйте приложение в условиях плохого или отсутствующего соединения (конечно, если интернет реально используется);
  • Убедитесь, что приложение не сильно тратит батарейку;
  • В случае большого приложения оцените необходимость автоматического тестирования: пробегаться по сотне форм в каждой новой версии сложно и не очень рационально.

И не просите у разработчиков “инсталлятор” для приложения, которое они делают. В среде Apple невозможно скинуть файл на телефон, установить и запустить. Кто-то из разработчиков должен будет настроить доставку новых версий на все телефоны, где она нужна. Иначе нельзя.

Всё готово к запуску!

Итак, настаёт момент, когда приложение готово к тому, чтобы появиться в магазине App Store. Какие ещё неожиданности нас ждут?

Во-первых, приложению нужно имя. Если область приложения популярна, то все короткие и красивые имена могут уже быть заняты, так как App Store не допускает двух приложений с одинаковым названием. Остаётся придумать его в виде “XYZ - приложение для XYZ”. Это имя отображается лишь на самой странице приложения в AppStore и не обязательно должно совпадать с тем, что будет написано после установки под иконкой Вашего приложения у конкретного пользователя. На этот текст ограничение уникальности не распространяется.

С названием приложения есть одна небольшая хитрость. При создании в iTunes Connect приложения можно указать его название ещё до того, как версия для публикации реально готова. Таким образом, можно занять своё имя чуть-чуть заранее, хотя Apple уже не гарантирует длительность этого срока.

Во-вторых, нужно описание. От него и от названия будет во многом зависеть, насколько легко пользователь находит Ваше творение. Кстати, если поддерживается несколько языков, стоит сразу подумать, на которые из них будут переводиться описание и название.

В третьих, если не сразу, то после пары дней в магазине Вам станет интересно, а что в приложении вообще пользователи делают. Здесь на помощь приходит метрика, которая анонимно собирает статистику открытых экранов, покупок и любых интересных действий. Внедрением метрики стоит озаботиться сразу, а на её основе стоит делать выводы об улучшении существующего и создании нового функционала. Вероятно, у Вас будет искушение сохранить действия каждого пользователя вместе с его email или именем: помните, так делать нехорошо, потому что никто не любит, когда за ним/ней подглядывают.

В-четвёртых, Вам предстоит пройти ревью приложения от команды App Store. Ревью занимает около двух недель, и на нём всплывут все самые потаённые “фишки” Вашего приложения. Вот несколько советов для успешного прохождения этой проверки:

  • Если для доступа к основным функциям приложения необходимы логин/пароль и регистрация, обязательно снабдите команду App Store тестовыми данными для входа в приложение. Для покупок им понадобится тестовая кредитная карта. Если для нормальной работы нужны какие-то аксессуары - будьте готовы выслать в Apple и их тоже;
  • Если в приложении есть продажи чего-либо, должно быть также и пользовательское соглашение, содержащее фразу о том, что Apple ни при чём, а продавцом является Ваша компания. Этот текст должен быть доступен на всех языках, которые вы поддерживаете;
  • Если Вы продаёте виртуальные товары, скорее всего, надо будет использовать “покупки внутри приложений”;
  • Убедитесь, что не используется ни одного запрещённого API и что приложение в целом выполняет ровно ту функцию, которую обещает.

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

Приложение в App Store

Мы Вас от души поздравляем. Ваше первое творение наконец-то попадёт в руки пользователей! Самое время оглянуться на пройденный путь и подумать о новых версиях Вашего приложения.

Все началось с того, что я огляделся по сторонам и, не увидев автомобиля своей мечты, решил сконструировать его сам
Фердинанд Порше

Привет, Хабр. Хочу рассказать, как создал свое первое iOS приложение и что из этого получилось.

Идея

Идея для приложения возникла сама собой: создай то, чем бы ты с удовольствием пользовался бы сам. Я постоянно пишу заметки. Ведь у каждого занятого человека существует определенный набор фактов, которые он получает в течение дня, и которые стоит запомнить. А так как все люди забывают (и это нормально!), то нет лучшего решения, чем просто записать. Я все время чувствовал какое-то неудобство при работе с представленными в AppStore приложениями-заметочниками. Излишняя сложность в управлении, наличие ненужных категорий, нагромождение дополнительной информации - все это мешает приложению выполнять его основную функцию. Плюс ко всему многие из этих вещей выглядят просто некрасиво.

Поэтому, поставив все ставки на простоту и удобство, я приступил к созданию концепции. Модель приложения с единым списком заметок. Все в одном месте, что может быть проще? Если что–то имеет большую ценность или актуальность, совсем не обязательно вешать на него ярлык, ведь достаточно просто переместить более важную заметку в топ списка. Старые и ненужные записи постепенно будут опускаться вниз и в последствии будут удалены пользователем.

Функционал

После того, как концепция была придумана, я выписал основной функционал - те вещи, на которые я хотел бы сделать акцент в управлении:

Довольно стандартный функционал для подобного рода приложений, согласитесь. Но это только верхушка айсберга, дьявол кроется в деталях.

Инструментарий

Перед тем, как писать код в Xcode, я полностью воссоздал внешний вид приложения в векторном редакторе Sketch. Эта программа отлично подходит для быстрого создания макетов. Для этого приложения доступна масса плагинов, среди них есть Sketch Preview - просмотр артборда сразу на устройстве через программу Skala Preview. Всего лишь нужно скачать бесплатные программы Skala Preview на компьютер и мобильное устройство и установить плагин. После этого выбрать нужный артборд, нажать комбинацию Command+P и уже через секунду внешний вид приложения транслируется на устройство.

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

Разработка

В приложении я использовал всего два контроллера – один непосредственно для всех-всех-всех заметок, другой - для отображения небольшого туториала при первом запуске. Работу с базой данных я организовал с помощью фреймворка CoreData.

После создания базового функционала (создание, удаление, редактирование заметок) я решил улучшить каждую из этих функций.

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

Анимации удаление и перемещения в топ я решил реализовать самостоятельно, а визуальное сопровождение максимально приблизить к реальной жизни. Что-то приобрело более высокий приоритет - свайп вправо и заметка перемещается в топ списка. Чтобы удалить - свайп влево и анимация зачеркивания покажет на сколько еще нужно продлить свайп чтоб завершить удаление. При случайном удалении - нужно просто потрясти устройство («Shake»), и заметка вернется на свое прежнее место.

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

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

Нейминг

Название приложения - самая важная часть при разработке, это первое что видит пользователь в магазине. На хабре есть по этому поводу. К подбору имени я решил подойти основательно: для начала я перебрал список 1000 самых популярных слов в английском языке и выписал всевозможные комбинации, которые подходили бы для названия мобильного приложения для заметок, к тому же хотелось уложиться в 8-10 символов. Но при этом не хотелось выбирать название SuperNotes или NotesPlus etc, хотелось чего-то нового. Мне понравилось сочетание mad note , на которое случайно наткнулся в Urban Dictionary:
mad note - excellent, entertaining, surprising, unexpected or awe-inspiring

Сразу же появился и слоган: MadNotes - Note your passion. Поскольку палитра основных цветов у меня уже была готова (белый, синий, красный), я решил сразу придумать подходящую иконку. Ситуация с логотипами для приложений подобного рода плачевная:

Поскольку заметки на бумаге пишут карандашом или ручкой, я решил отобразить это на иконке - карандаш повернутый под углом 45 градусов. Получилось вот так:

Результат

Поскольку изначально проект задумывался как дизайнерский, я решил поучаствовать с моим приложением в всеукраинском конкурсе Ukrainian Design Awards: The Very Best Of в категории Digital Design. До конкурса оставалось несколько недель, за это время я успел сделать публикацию на Behance, где визуально показал все основные функции приложения, а также записал видео-превью.
Поскольку победителей конкурса не разглашают до самого последнего момента, было невероятно приятно увидеть свою работу на выставке работ победителей - жюри увидели и оценили главную концепцию - минималистичное и, вместе с тем, функциональное приложение для ведения заметок.


Приложение находится в AppStore уже несколько месяцев, за это время я сделал шесть обновлений и переписал код на Swift. В последней версии (1.2) добавлена синхронизация с iCloud, так что заметки уже успели перебраться в облако.

Спасибо внимание.
Note your passion

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то