Інтернет 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 -\u003e 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 \u003d 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