Перша частина моєї серії про розробку незалежних продуктів
Як розробник мобільних застосунків, я, звісно, найбільше мрію написати застосунок і спокійно дивитися, як надходять гроші ( ͡° ͜ʖ ͡°).
З якими проблемами можна зіткнутися, створюючи застосунок самотужки? Нещодавно я випустив власний застосунок і хочу поділитися труднощами, з якими зіткнувся, та своїми рішеннями.
1. Визначте потребу
У кожного трохи своя причина створити незалежний застосунок.
Якщо мислити масштабно, можна побачити нагальну потребу людей, розв'язання якої змінить світ; бракує лише програміста.
А в меншому масштабі, можливо, ви просто хочете побачити власний застосунок в App Store. Це може бути експеримент із новою технологією: після появи розширень Today в iOS 8 вийшло багато незвичайних застосунків на їх основі. Або це може бути утиліта, що усуває незручність у вашому житті, як-от файловий менеджер чи погодний застосунок із продуманими функціями.
Знайдіть потребу, велику чи малу. Вона дасть мотивацію рухатися далі.
Я створив застосунок для керування файлами під назвою File Manager, виходячи з потреб дружини.
File Manager перетворює телефон на сервер. Інші пристрої в тій самій мережі Wi-Fi можуть керувати його файлами через браузер: упорядковувати папки, копіювати й переміщувати файли, вивантажувати та завантажувати їх.
Визначившись із цією потребою, я витратив приблизно три місяці, щоб довести проєкт до випуску. Дорогою трохи вивчив Swift.
2. Прототипи та взаємодії в застосунку
Коли є потреба та її розв'язання, ви, ймовірно, вже приблизно уявляєте прототип і дії користувачів. Наступний крок — визначити конкретні екрани та взаємодії.
Я спробував кілька інструментів прототипування, а потім відмовився від них.
Виявилося, що за час опанування інструмента прототипування й створення макетів я встиг би зібрати екрани за допомогою xib. Зрештою проблему прототипу я розв'язав ескізами від руки.
Пізніше, створюючи інші продукти, я зрозумів, що прототипи потрібні. Прототипування — це насправді впорядкування логіки й забезпечення її внутрішньої узгодженості.
3. Що робити з усіма маленькими піктограмами?
Після підготовки прототипу я вже приблизно уявляв загальну структуру проєкту. Але крім коду залишалася проблема, якої не уникнути жодному незалежному розробнику!
Де взяти всі маленькі піктограми для проєкту?
Ось кілька бібліотек піктограм, якими я користувався:
- Бібліотека піктограм Alibaba → Повні набори векторних піктограм із довільно змінюваними кольорами й розмірами — щедрий ресурс. Для комерційного використання все ж потрібен дозвіл автора.
- icons8 → 56 500 безкоштовних пласких піктограм! Є піктограми для різних платформ і навіть застосунок для Mac.
- iconfinder → Також пропонує повні набори піктограм, із виразнішою комерційною моделлю.
4. Тестування та бета-тестування
У компанії тестувальники, колеги з продуктової команди та інші учасники допомагають удосконалювати застосунок. Як незалежному розробнику якомога раніше знаходити й запобігати якомога більшій кількості помилок?
4.1 Самостійне тестування
Тепер роботу, яку я раніше передавав тестувальникам, доводиться робити самому. Крім ручного тестування, можна виростити й тестову мавпочку, яка допоможе з перевірками.
4.2 Пошук бета-тестувальників
Створення незалежного застосунку означає не лише роль розробника: ви також відповідаєте за продукт, експлуатацію, підтримку користувачів тощо. Просування теж лежить на нас. Почніть із друзів, однокласників і родини та напишіть у соцмережах: мій застосунок майже готовий, допоможіть його випробувати!
Бета-користувачі не лише знаходять помилки. Їхні нові запити й пропозиції можуть ще більше допомогти розширити та вдосконалити застосунок.
4.3 Поширення тестових збірок
Якщо отримати ідентифікатори пристроїв бета-тестувальників нескладно, можна скористатися платформою для розміщення бета-збірок, наприклад Pgyer або fir.im. Діють обмеження щодо пристроїв.
Якщо ідентифікатори пристроїв отримати важко, можна скористатися Apple TestFlight, відкритим після iOS 8, з кількістю місць для бета-тестування до 10 000.
5. Знімки екрана для App Store
Чому знімкам екрана для випуску присвячено окремий розділ? У незалежних розробників порівняно мало каналів просування. Знімки й опис на сторінці продукту в App Store — це вхід і вітрина застосунку.
Якщо ці знімки мають поганий вигляд, ми можемо втратити відвідувача, який щойно знайшов застосунок.
У компанії зі знімками допомагають дизайнери інтерфейсу й колеги з продуктової команди. А як отримати знімки потрібних розмірів, працюючи самотужки?
5.1 Знімки в симуляторі
Можна знімати екрани застосунку прямо в симуляторі, хоча результат може виглядати дещо грубувато.
5.2 Трохи оздоблення
Рекомендую безкоштовний сайт shotbot. Завантажте матеріали, і він створить повний набір знімків продукту в єдиному оформленні.
Примітка від 2022-04-11: Пізніше я написав застосунок для Mac спеціально для створення знімків до власних випусків в App Store.
6. Інші використані ресурси
Під час роботи над певними взаємодіями й дизайном сторонні інструменти та готові піктограми іноді не цілком відповідають вашим побажанням.
Тоді редагуйте зображення самі!
Звісно, більшість розробників не надто вправні у Photoshop, а дехто взагалі ним не користувався. Що робити?
Ось два сайти: Online PS і вебредактор Meitu
Прості зміни зображень можна зробити в браузері, не завантажуючи важкі програми Adobe. Для тих із нас, хто не дуже добре знає Photoshop, це гарна новина.
Крім редагування зображень, головним болем може стати й сама піктограма застосунку. Ще один сайт, який я рекомендую, — MakeIcon: завантажте логотип 1024×1024, і він автоматично створить піктограми всіх інших розмірів. Підтримується навіть iMessage в iOS 10.
7. Підсумки
Я завершив розробку за допомогою наявних ресурсів, без дизайнера інтерфейсу. Якщо у вас є дизайнер, можете спокійно прямувати до виходу  ̄ヘ ̄.
Я давно хотів зробити власний застосунок. По-справжньому взявся за нього лише нещодавно, коли впорядкував усе потрібне. Найголовніше — нарешті з'явилася чітка потреба, яку треба задовольнити, а дорогою я трохи вивчив Swift.
Під час розробки в мене був навіть тиждень, коли я майже не писав коду. Я зрозумів, що під час створення незалежного застосунку саме потреба допомагає не кидати роботу. Її масштаб неважливий; важливо розв'язати проблему.
У міру розробки вимог ставало більше: обмін через AirDrop, інтеграція iCloud і розробка ShareExtension ще не були завершені. Рухайтеся далі, удосконалюйте потроху! ʘʚʘ (Я нізащо не зізнаюся, що спочатку робив цей застосунок, аби ділитися своєю «колекцією.avi» між ПК, телефоном та iPad.)
Ось посилання на мій застосунок: Найпростіший спосіб керування файлами — File Manager
Примітка від 2022-04-11: Застосунок більше не знаходиться через пошук. Не знайшовши доброго способу монетизації, я продав його аутсорсинговій компанії. Продаж дав багато приводів для роздумів; докладніше про це в наступній статті.
Оригінальну статтю опубліковано на Jianshu. Згодом мій обліковий запис Jianshu зламали, а інші статті постійно блокували. Тепер я переношу всі дописи блогу на github.io.