Интернет Windows Android

Создаем свое первое приложение для айфона. Как создать приложение для IOS и взорвать AppStore: методики, инструкции, советы

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

Перспективы создания и публикации приложений для iOS

Как бы молодые разработчики ни тешили себя надеждами, приятного на рынке приложений мало. Из множества проектов, популярными становятся далеко не многие. Одна незаурядная американская компания Эпп Промо провела маркетинговое исследование и получила вот такие результаты: большинство опрошенных создателей приложений заявили, что 60% игр вообще не приносят деньги, а 82% говорят, что этим делом они себя прокормить не могут. Следовательно, им приходится работать где-то ещё.

Компания Apple заявляет, что их площадка - хорошее место для подобного рода заработка, но по факту дела обстоят иначе. Для того, чтобы зарабатывать деньги (ну, или хотя бы не уходить в минус), нужно попасть в Топ-100 или Топ-200. Другие разработчики объясняют это явление тем, что людям будет просто лень пролистывать далеко вниз для того, чтобы найти предложенный вами продукт. Если вас не напугало вышеописанное и вы все равно хотите создать своё приложение - идём дальше.

Как создать приложение для iOS и выложить его в App Store

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

Как установить среду разработки Xcode

Создаём приложение в Xcode

  1. Как создать новый проект. Открываем приложение. Далее выбираем меню «файл» и нажимаем на «создать новый файл». Нажимаем на приложение (application) под «ios» слева в окне. Переходим в раздел шаблонов. Нажимаем на пустое приложение (Empty Application).

    В интерфейсе программы выбираем «Single new application»

    2. Создание сториборда. Storyboard отвечает за отображение экранов приложения в вашей программе. Сториборды отображают то, что находится на каждом отдельном окне, и показывают их взаимодействие. Эта штука даёт возможность хорошо проработать вашу игру. Далее делаем следующее: Выбираем Файл, затем New, затем Файл. Далее нажимаем на «User Interface». Кликаем на сториборд, выбираем «next». В меню устройств нужно выбрать устройство, для которого предназначена ваша программа. В моём случае - I phone. Называем объект «Main».

    В Storyboard выбираем устройство

    3. Назначаем сториборд к вашему проекту. Теперь назначаем сториборд в качестве главного интерфейса нашей программы. Если все сделать правильно, сториборд будет доступен сразу, когда мы запустим нашу программу. Вот, как нужно действовать: выбираем имя своего файла во вкладке слева, нажимаем targets и выбираем свой проект из этого заголовка. Перейдите в меню «Generals» и выберите «Deployments Infos». В Main Interface вводим Main.Storyboard и переходим к следующему шагу.

    Вводим «Main.storyboard»

    4. Добавляем первый экран. Для этого нам понадобится контроллер вида. С помощью них мы сможем сгенерировать приблизительный вид приложения. Изначально можно изучить контроллеры вида и выбрать их из нескольких пресетов. Если вдруг вы в этом деле чайник, то лучше, конечно, выбрать из существующих. Таким образом, мы увидим, как будет выглядеть приложение в руках у обычного юзера. Выбираем «Mains Storyboards». Находим Object Library. Внизу правой части можно этот самый Object Library выбрать. Справа вы увидите появившееся окошко, которое именуется холстом. Перетаскиваем туда «Views Controller». Когда пользователь запустит приложение, он увидит загрузочное окошко. Поздравляем!

    В панели контроллера вида добавляем первый экран

    5. Добавляем объекты на наш экран. После выбора контроллера вида, вы можете добавлять объекты в ваше приложение. Их можно найти во все том же Object Library. Эту библиотеку можно найти внутри контроллера вида.

    Затем добавляем на наш экран объекты интерфейса

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

    Создаём индивидуальный интерфейс и измененяем свойства объектов

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

    Перетаскиваем контроллер вида на пустую часть холста

    8. Активируем «Navigation Controller». Эту фичу мы будем использовать для перемещения между несколькими окошками. Достигается с помощью Navigation Controller. Navigation Bar добавляется вверху программы. Запомните, Navigation Controller добавляется строго к начальному экрану для контроля за перемещением по всем остальным окнам. Для этого выбираем загрузочный экран. Нажимаем на editor, затем на Embed In, затем тыкаем на Navigation controller. После проделанных шагов появляется навигационная панель.

    Добавляемпо инструкции панель навигации

    9. Добавляем функциональность Navigation Controller. Когда меню навигации было создано, к нему необходимо добавить инструменты. С помощью этой фичи пользователь сможет «переезжать» по приложению из одного места в другое. Мы предлагаем добавить стандартный функционал. Добавьте заголовок (для этого нужно открыть пункт Navigation Item, а затем Attributes Inspector, после чего вводим заголовок), Navigation button и обеспечиваем кнопкам свойства.

    Добавление функционала на панели

    10. Связываем экран с кнопкой. Для связывания кнопок нажимаем ctrl, а затем перетаскиваем их её на следующий экран. Вскоре вылезет пункт Action Segue с доступными опциями. Выбираем «Push» для перемещения по окошкам.

    Связывание кнопки с экраном

    11. С помощью вышеперечисленных шагов можно создать программу с очень примитивным функционалом и интерфейсом. Если вы все же хотите создать действительно интересное приложение с возможностью обработки данных - изучайте язык Objective C.

    Пора приступать к изучению языка программирования

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


Как опубликовать


Возможные проблемы и пути их решения

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

Не забывайте следить за продажами. Сделать это можно с помощью Itunes Connect Mobile. Компания Apple будет периодически присылать вам уведомления с аналитикой продаж, но следить самостоятельно лишним не будет. Успехов вам и больших продаж!

Ну что-же, пришло время написать нам свою первую программу для нашего iPhone. Если вы еще не поставили себе XCode + iPhone SDK — то вам . И так, XCode у нас стоит и настроен, начнем?

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

Создаем наш первый и надеюсь не последний проект:

Далее нас спросит какой тип приложения создавать. Слева в панели выбираем iPhone OS -> Application а в центральном окне выбираем тип проекта View-based Application . Назовем нашу первую программу, допустим, FirstApp

В результате у нас создается проект с уже созданным контроллером (первым окном нашей программы)

Главное окно проекта выглядит вот так:

Xcode создал для нас первый контроллер, это два файла c названиями FirstAppViewController.h и FirstAppViewController.m

Файл FirstAppViewController.h выступает как-бы заголовком (оттуда и расширение файла.h от слова header) В нем мы будем оглашать переменные и методы которыми будем пользоваться в главном файле FirstAppViewController.m

И так, открываем файл FirstAppViewController.h и создадим два указателя:

IBOutlet UILabel *username;

Первая переменная username — это текстовая метка, в которую мы будем записывать наше имя. nikField — это текстовое поле, откуда мы будем читать наше имя.

Записывать это нужно в блоке @interface firstAppViewController: UIViewController { }

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

— (IBAction)setNik;

В итоге, наш файл FirstAppViewController.h должен выглядеть так:

#import @interface firstAppViewController: UIViewController { IBOutlet UILabel *username; IBOutlet UITextField *nikField; } - (IBAction)setNik; @end

Теперь, перейдем в файл FirstAppViewController.m

Добавим сюда наш метод setNik. Писать нужно после строчки @implementation firstAppViewController

- (IBAction)setNik{ username.text = nikField.text; }

Тут мы прописываем, что при выполнении этого метода в текстовую метку username будет записан текст из поля nikField

Еще нам нужно освободить память от этих указателей после того как мы их используем. Делается это в методе под названием dealoc

- (void)dealloc { ; ; ; }

Просто добавляем все указатели, которые использовали, вот в таком формате: ;

Теперь, открываем файл интерфейса FirstAppViewController.xib Он запускается в редакторе интерфейсов Interface Builder.


Из библиотеки компонентов перетаскиваем нужные нам компоненты в окно нашей программы и расставляем так как удобно. Дальше в маленьком окне выбираем File’s Owner и нажимаем Command+2 что переносит нас в меню Connections inspector. Видим там список наших указателей, которые мы уже прописывали, а справа от них пустые кружечки. Клацаем на пустой кружочек возле указателя nikField и не отпуская тянем к текстовому полю. Когда мы подводим к ниму указатель мыши, он обводится прямоугольником и отпускаем. Таким образом, мы привязали это поле к указателю nikField. Теперь сделаем так же с указателем username и перетащим его на тот текст, где хотим видеть наш ник (у меня на картинке это текст %username%). Еще чуть ниже видим наш метод setNik и связываем его с нашей кнопкой. Но когда вы поднесете к кнопке и отпустите, то выпадет контекстное меню из которого выберите Touch Up Inside. Это означает, что этот метод сработает когда мы нажмем и отпустим кнопку. То что нам и нужно:)

Ну что, сохраняем, переходим обратно в Xcode и нажимаем Build & Run. Урааа, наша первая программа запустилась:) Нажмем в текстовое поле, появляется клавиатура, пишем имя. Но в нашей программе еще не хватает одного маленького штриха. Это чтобы убиралась клавиатура по нажатию на кнопку Done, когда мы закончили вводить наше имя.

Для этого опять включимся в конструктор интерфейсов, нажмем на нашу кнопку. Нажмем Command+1 и найдем там блок Text Input Traits. В нем есть несколько выпадающих списков, но нас интересует только самый нижний: Return Key. Выбираем со списка Done и в низу блока ставим галочку возле Auto-enable Return Key. Дальше мереходим в Command+2 Connections Inspector и видем там слово delegate . Жмем на кружек возле него и тяним к блоку File’s Owner

Теперь возвращаемся в наш файл FirstAppViewController.m После нашего метода setNik добавляем еще такой код:

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { ; return YES; }

Сохраняем и пробуем запустить (можно использовать комбинацию Command+R) Пробуем написать наше имя в текстовом поле. При написании появляется кнопка Done по нажатию на какую закрывается клавиатура. Теперь жмем на нашу кнопку и вуа-ля, программа с нами здоровается:)

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

Вот вам еще линк на архив проекта Можно скачать, включить посмотреть если у кого-то что не получилось. Ну а если есть вопросы — то пишите в комментариях.

Итак, вам тоже пришла мысль: «А как мне научиться писать программы для iPhone? «, «Как мне сделать свое мобильное приложение? «, «Как заработать миллионы ничего не делая? «. Постараюсь пошагово ответить на эти вопросы (кроме последнего).

Что нужно знать с самого начала

Чтобы создавать программы для iOS официально от вас требуется компьютер Apple (iMac или Macbook ). Но если говорить совсем честно, вам нужна операционная система OS X , поэтому многие по началу хитрят и умудряются использовать Хакинтош (Hackintosh ), то есть запускают OS X на обычных компьютерах — это экономный вариант, противозаконный и довольно хлопотный в плане настройки. Я вам рекомендую, раз уж вы твердо решили стать iOS-разработчиком, купить простенький Macbook или Mac Mini, можно даже б/у (любой, выпущенный с 2010 года).

Дальше — на чем писать. Приложения для iOS пишутся на языках программирования Swift или Objective-C , а все магическое действо происходит в программе Xcode (бесплатная). Swift — это очень новый язык, который Apple представила буквально недавно (середина 2014 года) и теперь активно доносит мысль, что программировать нужно только на нем, за ним будущее, он более современный и быстрый. И они правы, учите Swift . Objective-C напротив язык с давним прошлым, поэтому понять его значительно сложнее начинающим, что не отменяет его мощь и богатство существующих наработок и книг по нему (чего не скажешь в данный момент про Swift). И тем не менее, повторяю, учите Swift .

Если хотите делать кроссплатформенные приложения (одновременно под iOS и Android) — учите C# и используйте среду разработки Xamarin (платная). Хотите делать кроссплатформенные игры — качайте среду разработки Unity3D (условно-бесплатная), учите уже упоминавшийся выше C# .

А еще, чтобы запускать свои приложения на iPhone/iPad (даже на этапе разработки) и затем выкладывать их в AppStore, вам нужно купить статус Apple Developer за 100$ в год. После покупки это лишний раз мотивирует как минимум отбить эти деньги 🙂

Когда я задался этим вопросом, то подумал, что нужно просто взять хорошую толстую «библию» по Objective-C (напомню, Swift тогда еще не было) и постигать тайные знания языка программирования главу за главой. Все советовали книгу Стивена Кочана «Программирование на Objective-C «. Wrong! Не повторяйте мою ошибку. Да, азы языка были постигнуты, книга хорошая, но это справочник и он далек от реальной разработки приложений с нуля. Чтобы научиться программировать вам нужно «запачкать руки», пытаясь написать первые, пусть совсем простые, но работающие приложения. Вам нужны уроки с примерами. От простого к сложному. А еще важно поставить реальную цель, первое приложение, которые вы хотите написать и выпустить в AppStore. Каждый урок или книга должны давать вам знания, которые вы можете применить в своем проекте. Не совершайте ошибку «вечного студента», который только то и делает, что изучает-изучает-изучает, но откладывает момент начала настоящей работы. К примеру, я ставил себе цель сделать приложение-радио и выпустить его в AppStore за месяц — и у меня получилось.

Если вы знаете английский, считайте вам крупно повезло, сейчас я расскажу вам, где черпать все знания. На русском, к сожалению, информации очень мало и зачастую она запаздывает (и переводится с английского).

The iOS Apprentice

Лучший англоязычный обучающий сайт — RayWenderlich.com . Он мега-крут по трем причинам: 1) можно бесплатно прочитать море уроков от азов до попытки повторить существующие успешные приложения (в том числе на Swift), при этом все написано душевно и с юмором; 2) там есть видео-уроки (правда, платные); 3) Важнейшая причина — у них есть книги для начинающих, которые обучат вас с нуля на примере создания приложений, очень доходчиво, с картинками (ну, как мы любим). Книги платные (дают бесплатно только первую часть), но они того стоят. Купил их все и они давно окупились, так как они строят хороший фундамент кирпичик за кирпичиком. Это не сравнить просто с чтением разных уроков вперемешку на этом же сайте. Начните с покупки книги The iOS-apprentice (первую часть которой можно скачать бесплатно). Она научит вас создавать первые приложения на Swift. Также у них есть книги по разработке игр на SpriteKit (фреймворк Apple для разработки игр).

Второй по-полезности ресурс — AppCoda . Он попроще RayWenderlich, но суть та же — читаем уроки по Swift, учимся на примерах. У них тоже есть собственные книги (платные), кроме бесплатных уроков.

А что, если не знаете английский — упс, подобных российский интернет-ресурсов просто нет. Книги на русском? Конечно, вы найдете какие-то книги на Ozon, но все они устаревшие и не научат вас языку Swift (на данный момент все только по Objective-C).

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

Где найти ответ, что-то не получается

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

StackOverflow — самый большой кладезь готовых ответов на английском. 80% ответов я нахожу там.

Google — банально, просто вбив в поиск вопрос, можно найти ответ. Если сразу не получается, поиграйтесь с формулировкой вопроса.

Тостер — аналог StackOverflow, но на русском. Здесь пока сложно находить ответы, так как база вопросов еще не очень большая. Зато можно спросить — на ресурсе достаточно профессионалов, которые вам ответят.

Ну или можете спросить меня. Пока бесплатно 🙂

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

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

Шаг первый. Придумайте идею и название

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

1 Зайдите в AppStore и посмотрите представленные там программы. Возможно, вам что-то придет в голову.

2 Также посмотрите на список своих приложений (установленных ). Вероятно, что не все из них нравятся вам и хотелось бы добавить к некоторым какую-то функцию. Это и будет идея для вашего творения!

3 Посмотрите на приложения своих друзей с той же целью .

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

Что касается названия, то к этому вопросу также стоит отнестись очень серьезно. Для начала посмотрите на самые и их названия. Зайдите на apple.com/ru/itunes/ с этой целью. Обязательно посмотрите раздел бесплатных и платных.

Эксперты выделяют несколько советов относительно того, каким должно быть название, а конкретно:

  • длина около 10 символов (не намного больше, можно меньше, но, опять же, не слишком);
  • желательно английский язык (в интерфейсе, кстати, он тоже должен быть, чтобы расширить потребительскую аудиторию);
  • два слова в названии;
  • одно слово должно полностью отражать предназначение;
  • второе слово должно быть описанием первого.

Шаг четвертый. Разработка концепции

На первом шаге вы уже приняли идею и название будущего приложения. Теперь стоит сделать то, что позволит вам приступить непосредственно к разработке. Речь идет о концепции. В этом понятие включается следующее:

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

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

Когда все наброски у вас есть, можно приступать к кодингу!

Шаг пятый. Кодинг

Вот теперь открывайте Xcode и выполняйте следующие этапы создания ПО на iOS:

1 На стартовом экране, в меню слева нажмите «Application» (откройте этот раздел) и выберете «Empty Application» . Нажмите «Next» . Дальше введите свои данные, а в поле идентификатора разработчика (дается Apple) укажите «example» , а в поле префикса класса укажите «XYZ» .

2 Дальше выберете «File» и в выпадающем списке «New» . Дальше последовательно нажмите «User Interface» , «Storyboard» и кнопку «Next» . В меню устройств выберете и в поле имени введите «Main» . Сохраните этот файл в ту же папку, что и основной проект. После этого в древе проекта (слева) появится файл Main.storyboard. Это, как вы уже могли понять, визуальное представление всех экранов вашей программы. В дальнейшем вы будете редактировать именно его.

3 Теперь нужно сделать так, чтобы при запуске приложения открывался именно тот экран, который вы создадите в Storyboard. Для этого в дереве папок слева последовательно выберете свой проект, «Targets» , «General» , «Deployment Info» . Затем возле надписи «Main Interface» выберете «Main» , как на рисунке 8, - именно так мы назвали наш экран на предыдущем этапе.

Рис. 9. Назначение созданного экрана главным в Storyboard

4 Теперь, собственно, нужно создать этот самый главный экран, который откроется первым при запуске. Для этого в дереве слева нажмите на «storyboard» один раз. В основном окне откроется пустое окно. Внизу справа нажмите на иконку в виде куба, это библиотека объектов, которые можно внести на экран. Теперь справа найдите «View Controller» и перетащите его курсором мыши на пустое поле. Появится объект прямоугольного вида. Собственно, туда можно добавлять и все элементы.

5 Теперь вы можете добавлять и другие объекты из библиотеки . Это могут быть текстовые поля, поля ввода и остальные элементы. Если нажать на них два раза, то появится возможность изменять их атрибуты и свойства. Собственно, таким же образом можно написать какой-то код для реакции на клик. Впрочем, если вы смотрели видеоуроки по Objective-C, то прекрасно знаете, какие элементы вам нужны и как их добавить.

6 Если вам потребуется добавить еще экран, то сделайте это таким же образом, как и раньше – переместите на пустое место объект «View Controller» . Дальше можно будет так же перемещать различные объекты на него.

7 Теперь нужно сделать так, чтобы пользователь мог перемещаться между этими экранами с помощью свайпа или же путем нажатия на соответствующую ссылку. Для этого существует объект под названием «Navigation Controller» . Переместите его на свой главный экран. Дальше нажмите на «Editor» , затем «Embed In» и на вышеупомянутый объект. Вверху главного экрана появится серая панель. Это и означает, что к нему добавлена так называемая панель навигации.

8 Чтобы добавить кнопку перемещения по экранам, существует объект «Bar Button» . Это кнопка, если сказать проще. Переместите ее на панель навигации и задайте соответствующие свойства.

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

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

Привет, Хабр. Хочу рассказать, как создал свое первое 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