THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

Ти вже пишеш додатки під iOS? Тоді тобі повинні бути відомі різні варіанти розробки. А якщо в твоїй голові тільки з'явилася ідея про створення під iOS, то за нею повинні послідувати наступні питання:

  • яка мова потрібно вивчати?
  • де брати матеріали для вивчення?
  • чи потрібен Mac?
  • чи потрібно iOS-пристрій?
  • який редактор підійде для написання коду?

Стаття дасть відповіді на ці питання і допоможе досягти поставленої мети.

Операційна система iOS була випущена компанією Apple в 2007 році. Вона не обмежується iPhone і iPad, але я розповім про розробку додатків тільки для цих пристроїв. Стаття розділена на кілька частин:

  1. Розробка нативних додатків.
  2. Мови програмування для створення iOS-додатків.
  3. Середовище розробки.
  4. Розробка iOS-додатків та ігор з доповненою реальністю за допомогою фреймворка ARKit.
  5. Розробка ігор за допомогою фреймворка SpriteKit.

Крім нативной розробки існує ще й кроссплатформенная, коли додаток пишеться відразу для iOS і Android на мові, відмінному від нативного. Про це ми поговоримо іншим разом, але можете вгамувати цікавість вже зараз і прочитати, написаної для Лайв Тайпінг.

Розробка нативних додатків

Процес розробки нативного додатки - це написання програми на одному з основних мов для платформи iOS: Objective-C або Swift. Цей шлях створений корпорацією Apple і передбачає дотримання всіх її ідеям. Apple забезпечує розробників останніми версіями SDK (software development kit - набір засобів розробки), документацією, а також середовищем розробки Xcode.

Переваги нативной розробки:

  • додаток оптимізований під платф iOS, а значить, буде працювати швидко і коректно;
  • додаток реагує на натискання миттєво, відсутні затримки в анімації і при скролінгу контенту;
  • зрозумілий і простий доступ до апаратної частини пристроїв - камері, мікрофону, акселерометру, геолокації, адресній книзі, плеєру і т. д. На цих та інших можливостях пристрою можна базувати функціональність програми;
  • рідний для платформи інтерфейс. Нативні програми зазвичай оперують «платформеними» елементами інтерфейсу: меню, навігація, форми і всі інші елементи дизайну беруться від операційної системи і тому звичні і зрозумілі користувачеві;
  • з кожним оновленням iOS синтаксис мови Objective-C практично не змінюється, тому підтримка додатки відбувається практично безболісно - змінити або переписати доведеться лише незначна кількість коду.

недоліки:

  • підтримка програми на мові Swift. Регулярні оновлення версій платформи iOS змушують оновлювати код, але з приходом п'ятої версії Swift компанія Apple обіцяє полегшити цей процес;
  • більшість поточних проектів написані на мові Objective-C. З кожним роком все важче знайти програміста, який бажає писати на ньому, а переписувати проекти на Swift багато компаній відмовляються, тому що це величезний і неймовірно трудомісткий процес.

Для клієнтів студій розробки питання про те, за яку розробку платити - нативну або кроссплатформенную - теж актуальне. Кроссплатформенную розробку можна порадити тоді, коли бюджет обмежений, потрібно дізнатися попит на мобільний додаток або якщо на стороні клієнта є свій веб-програміст. В інших випадках вибір краще робити на користь нативной розробки. В Лайв Тайпінг можуть допомогти і з тим, і з іншим. , Якщо мають намір почати працювати над своїм мобільним додатком для iOS - ми готові все обговорити.

Якою мовою пишуть програми для iOS

Розробники з компанії Apple надали два варіанти:

  • Objective-C. Ветеран з великою історією, поступово відходить на другий план;
  • Swift. Дуже молодий і швидко набирає популярність серед розробників.

Обидві мови відносяться до об'єктно-орієнтованого програмування (ООП) і успішно виконують його основні парадигми: спадкування, поліморфізм, інкапсуляцію і абстракцію. Простими словами, ООП - це стиль написання коду, який дозволяє розробнику групувати схожі завдання в класи. Код відповідає принципу DRY (do not repeat yourself - повторюй самого себе) і стає легким для супроводу.

Objective-C

Мова програмування, створений на початку 1980-х років минулого століття шляхом схрещування С (Сі) з популярним в той час Smalltalk (зв'язок з об'єктами через повідомлення). Objective-C спочатку сприймався, як проста надбудова над мовою C, що модифікує його деякі синтаксичні конструкції, але після того, як за ліцензування взялася спочатку компанія Next Step, а потім на правах наступника і Apple, Objective-C став одним з найбільш популярних мов для розробки додатків для iOS. Тому багато типів даних в Objective-C успадкували префікс NS (Next Step). Це основна мова, що використовується компанією Apple, знання якої дозволяє писати під будь-які платформи Apple, в тому числі macOS.

плюси:

  • висока ступінь підтримувані коду: з кожним оновленням зміни в Objective-C мінімальні;
  • велика кількість документації, технічної літератури та величезне співтовариство. Apple надає і регулярно оновлює офіційні книги і ресурси. Які саме знання потрібні iOS розробнику, ти можеш дізнатися з;
  • швидкий перехід з однієї з мов сімейства C. Objective-C - це розширення мови С. Це означає, що будь-який код на С є також коректним кодом і для Objective-C, потрібно тільки звикнути до синтаксису;
  • сумісність Objective-C всередині проектів, написаних на Swift, дозволить тобі застосовувати дві мови одночасно.

мінуси:

  • якщо ти ніколи не стикався з програмуванням і вирішив відразу почати з Objective-C, то можуть виникнути складності розуміння принципів ООП і нагромаджених синтаксису. Труднощі зникнуть по ходу навчання;
  • низька читаність коду: на початку вивчення синтаксис здасться складним;
  • динамічна система типів даних, яка також є плюсом, передбачає можливість появи або пропуску помилок навіть під час компіляції. Зокрема, затягнути процес можуть помилки;
  • низька в порівнянні з мовою Swift продуктивність;
  • взаємодія з файлами Swift відбувається за допомогою «моста» (умовний адаптер, який переводить код на Swift в формат Objective-C), що сильно гальмує процес складання.

Приклади додатків, розроблених нашою командою на мові Objective-C:

  • - інтернет-магазин парфумерії та косметики;
  • - додаток для молодих батьків і вагітних жінок, яким потрібна консультація лікаря в будь-який час доби;
  • - інтернет-магазин одягу.

Swift



Молодий, могутній і відкритий мова програмування загального призначення. Офіційно представлений компанією Apple 2 червня 2014 року. Поєднує в собі все краще від C і Objective-C, але позбавлений обмежень останнього, що накладаються на догоду сумісності з C. У Swift використовуються сувора типізація об'єктів, що зменшує кількість помилок ще на етапі написання коду. Також в Swift додані сучасні функції, такі як дженерики, замикання, множинні повернені значення і багато іншого, що перетворюють створення додатка в більш гнучкий і захоплюючий процес. Основою нової мови програмування послужили існуючі компілятор, відладчик і фреймворки.

Swift здасться знайомим Objective-C-розробникам. Він поєднує в собі читабельність іменованих параметрів і міць динамічної об'єктної моделі Objective-C.

плюси:

  • швидкість. Зараз мова майже на одному рівні з C ++, і в Купертіно обіцяють, що це не межа;
  • спрощена навігація по файлах проекту. На відміну від Objective-C, який створює два файли для оголошення і реалізації, Swift обходиться всього одним. Крім того, імена методів і коментарі між файлами синхронізуються автоматично;
  • легка читаність, оскільки дану мову не побудований на C. Наприклад, не потрібно ставити крапку з комою в кінці рядка і писати дужки для оточення вираження всередині if / else. ніяких квадратних дужок, Swift нагадує звичайний англійську мову, є набагато чистішим і має спрощений синтаксис;
  • лаконічність. Кількість коду зі Swift стає набагато менше. Наприклад, для додавання двох рядків можна скористатися оператором «+«;
  • б прольшие можливості в порівнянні з Objective-C. Наприклад, дженерики (універсальні шаблони). Універсальний код дозволить тобі писати гнучкі, загального призначення, функції та типи, які можуть працювати з будь-якими іншими типами. Ти можеш написати код, який не повторюється і висловлює свій контент в абстрактній формі;
  • повна взаємодія з кодом, написаним на Objective-C, дозволить тобі застосовувати дві мови одночасно;
  • підвищена безпека. Swift, на відміну від Objective-C, строго типізований, тобто при оголошенні іменованих параметрів потрібно явно вказувати тип даних, інакше при виконанні коду компілятор викликає помилку. Це полегшить процес усунення багів, оскільки ти можеш вирішити проблему відразу;
  • підтримка динамічних бібліотек. Одне із значущих змін в Swift - перехід від статичних бібліотек до динамічних, які по суті є виконуваними шматками коду. Вони приєднуються до додатка і «зв'язуються» з новими версіями мови, що дозволяє програмі працювати стабільно.

мінуси:

  • Swift постійно розвивається і змінюється. Наприклад, виклик методу може змінитися після оновлення. Благо Apple збудували цей процес таким чином, що код написаний на більш ранніх версіях НЕ буде зламаний. Ти тільки побачиш попередження про те, що твій код написаний на старій версії, і редактор запропонує перехід на більш нову і допоможе виконати цей процес через підрядник;
  • взаємодія з файлами Objective-C відбувається за допомогою «моста», який сильно гальмує процес складання.

Б пробільша частина проектів нашої компанії написана на мові Swift. Ось деякі приклади:

  • - додаток магазину парфумерії та косметики;
  • - сервіс для покупки абонементів в кіно;
  • - додаток магазину одягу;
  • - додаток до статей про інформаційну безпеку.

C ++ (Сі плюс)



Компільований, статично збірний мову програмування загального призначення. Підтримує такі парадигми програмування, як процедурне програмування, об'єктно-орієнтоване програмування, узагальнене програмування.

С ++ підтримується iOS, але є одне «але»: все додаток цілком на ньому написати не вдасться. С ++ підійде для вирішення логічних завдань або цілих модулів додатка, а також для написання складних алгоритмів, але користувальницький інтерфейс повинен бути написаний на Objective-C або Swift.

Один з варіантів такої взаємодії - це використання діалекту Objective-C ++, якесь об'єднання Objective-C і C ++. Навіщо їх змішувати? Наприклад, найкраща бібліотека для поточного завдання була написана на С ++, іноді рішення проблеми можна було більш лаконічно зробити на С ++ чи необхідно викликати функції Objective-C з проекту С ++. Поширений приклад - портирование гри або движка під платформи Apple.

Нарешті, можна використовувати С ++ для поліпшення продуктивності. Гнучкість повідомлень Objective-C накладає деякі витрати в порівнянні з реалізацією здебільшого віртуальних функцій С ++. Об'єкти Objective-C не мають еквівалентних швидких віртуальних функцій С ++. Для оптимізації це може бути важливим фактором.

Яку мову вибрати?

Objective-C поступово поступається дорогу молодому Swift, який Apple всіляко популяризує. У минулому 2018 році в рейтингу Tiobe Objective-C займав нижчу позицію по відношенню до Swift. Виходячи з цієї статистики і перерахованих вище плюсів мови Swift, я б рекомендував саме його.

Але зовсім не знати Objective-C не вийде, так як в ході розробки додатків під iOS він буде зустрічатися, і тобі доведеться читати і розуміти його.

Що стосується мови C ++, то його знання - це корисна навичка, але тільки як опція, тому вирішувати тобі.

Де брати матеріали для вивчення?

Матеріали з мови Swift:

Варто відзначити, що крім рекомендованих мною відеокурсів, велика кількість як платних, так і безкоштовних навчальних матеріалів по Swift і Objective-C є на Youtube і спеціальних навчальних порталах, таких як Udemy і SwiftBook.

Матеріали з мови C ++

  • Мова програмування С ++. Підручник, який використовують в більшості ВНЗ;
  • безкоштовний відеокурс по С ++ від каналу #SimpleCode.

Джерела актуальної інформації

Щоб не відставати від тенденцій, не буде зайвим ознайомитися з наступним списком великих компаній і величезних особистостей, а також підписатися на їх твіттер, блоги і т. П.:

  • raywenderlich.com. Невичерпне джерело безкоштовних посібників. Підходить і новачкам, і професіоналам, яким потрібно швидко зрозуміти роботу нового фреймворка;
  • NSHipster. Блог дизайнера і розробника хмарного сервісу Heroku, який він веде вже не поодинці. Фреймворки, об'єкти фреймворків, Objective-C, Swift, Xcode, важливі open source-проекти - тут є корисні статті про все;
  • Natasha The Robot. Відмінний блог iOS-разработчіци Наташі Мурашев. Обов'язковий всім, хто розбирається зі Swift і не тільки;
  • Блог iOS-розробника студії Plausible Labs Майка Еша. Те, про що тут йдеться, потрібні знання трохи глибше базових;
  • Little Bites of Cocoa. Блог з усякими корисними посібниками. Новачки і досвідчені розробники полюблять його за лаконічність постів і широту освітлюваних питань;
  • iOS Dev Weekly. Cрез новин зі світу мобільного iOS-розробки. Приходить у вигляді поштової розсилки по п'ятницях. Куратор - Дейв Вервер;
  • Github відомої компанії Rambler & Co. Містить безліч цікавого з Open source. Також їх внутрішній спейс і блог;
  • Блог про розробку під iOS на «Хабрахабр»;
  • Cайт iosgoodreads.ru і канал в Telegram від Rambler. Найцікавіші статті, відео та новини, пов'язані з розробкою на iOS.

Середовище розробки iOS додатків

Найбільш популярні середовища розробки додатків на iOS, або IDE (Integrated Development Environmetn) - це Xcode від Apple і AppCode від JetBrains.

Xcode



Швидкий редактор, укомплектований повним набором інструментів для розробки під iOS, macOS і ін. Викачується з App Store безкоштовно.

плюси:

  • IB (Interface Builder). IB - це додаток з набором інструментів для розробки графічних інтерфейсів, інтегроване в Xcode. Процес роботи нагадує створення дизайну «на полотні». Всю верстку можна зробити в IB, а потім зв'язати візуальні елементи з файлом реалізації, в якому описана вся логіка взаємодії з ними.

Плюсом Interface Builder є наочна верстка, настроювання стилів, бекграунду, шрифтів і т. Д., А мінусом буде, наприклад, робота з анімацією, її можна виконати тільки кодом.

  • симулятор. надає повний набір iOS-пристроїв, на яких можна запустити і протестувати свій додаток;
  • відладчик. Вміє розбирати візуальну частину поелементно для пошуку помилок в верстці, також допоможе відловити баг і розібратися з проблемою витоку пам'яті. На додаток до всього відладчик може виробляти всі ці операції і UI-тести в «бездротовому» режимі;
  • вбудована система контролю версій в GitHub. Крім стандартних функцій розгалуження, в режимі розділеного екрану дозволяє переглядати зміни в різних «гілках»;
  • функція імітації геолокації. Незамінна при роботі з картою. Має «зашитий» набір міст, список яких можна доповнити;
  • містить Swift Playground, так звану «пісочницю», яка дозволяє швидко перевірити новий алгоритм або графічну рутину (наприклад, кілька рядків коду), не створюючи ціле додаток;
  • може збирати додаток відразу на iOS-пристрій;
  • підтримка « темної теми»MacOS.

мінуси:

  • нестабільний. В процесі роботи може мимоволі закриватися з помилкою. Проект ніяк не постраждає, і останні зміни коду не пропадуть. Просто перезапустити Xcode і продовжуй працювати з того моменту, на якому зупинився;
  • часто не працює автодоповнення (функція доповнення тексту по введеної частини).

AppCode



Як і Xcode, містить повний набір необхідних засобів для ефективної та зручної роботи з мовою Objective-C, Swift, C ++ і на 100% сумісна з Xcode.

плюси:

  • стабільний. Раптових закриттів, як в Xcode, немає;
  • автодоповнення не відвалюється і працює швидше, ніж в Xcode;
  • інтеграція з баг / issue-трекера, такими як JIRA, YouTrack, Lighthouse, Pivotal Tracker, GitHub, Redmine і т. д.;
  • більше докладний опис помилок і попереджень;
  • може збирати додаток відразу на iOS-пристрій, як і Xcode.

мінуси:

  • для збірки додатку все одно потрібен Xcode;
  • немає Intreface Builder. Відкриття IB-файлу з AppCode відбувається в Xcode;
  • немає візуального відладчика, а також немає бездротової налагодження;
  • немає Swift Playground;
  • запуск програми відбувається на Xcode-симуляторі;
  • AppCode - платний продукт, для безкоштовного ознайомлення дається 30 днів. На момент написання статті розцінки такі: за перший рік користування доведеться заплатити 199 $, другий - 154 $, наступні - 119 $ (дані взяті з офіційного сайту);
  • оновлення мови приходить з деякою затримкою. У Xcode ти отримаєш свіжу версію ще на бета-тестуванні.

Іншими словами, навіть якщо ти вибереш AppCode в якості основного IDE, для повноцінної розробки мобільних додатків на iOS все одно потрібен Xcode.

Чи потрібен Maс?

Так. Для розробки потрібна Xcode IDE (Integrated Development Environment - інтегроване середовище розробки). Встановити Xcode ти зможеш тільки на Mac. Вибирай з цих варіантів: MacBookPro / Air, iMac, MacPro або Mac mini (самий бюджетний варіант). Не обов'язково купувати новий, але щоб твій Mac міг підтримувати останню версію macOS хоча б два роки, раджу брати той, що не старші п'яти років.

Варіант для ознайомлення - поставити на свій PC віртуальну машину за допомогою, наприклад, VirtualBox. Стаття Installing MacOS to VirtualBox докладно описує, як це зробити. Працювати буде повільно, але для «швидкого старту» цілком підійде.

Чи потрібно iOS-пристрій?

Не обов'язково. IDE Xcode від Apple містить в собі симулятор пристроїв. Наприклад, можна вибрати iPhone XR і вживу перевірити результат своєї роботи. На жаль, симулятор повністю не замінить реальний пристрій (наприклад, камера або акселерометр в ньому відсутні).

Розробка додатків та ігор з доповненою реальністю за допомогою ARKit



ARKit - фреймворк, розроблений компанією Apple для роботи з AR. Що таке AR і як це працює? AR - це технологія, яка здатна сканувати навколишній простір і максимально достовірно інтегрувати віртуальні об'єкти в реальне життя. Ці самі віртуальні елементи можуть відображати спеціальні пристрої, що підтримують цю технологію:

  • смартфон і планшети. У нашому випадку - це iPhone і iPad;
  • AR-шоломи та окуляри. Одна з останніх розробок - окуляри Magic Leap;
  • комп'ютери.

Сканування простору відбувається за допомогою камери пристрою. Що може AR-додаток? Наприклад, онлайн магазин кросівок, в якому, крім покупки, є можливість відсканувати свою ногу і «приміряти» вподобану модель, таким чином на екрані твого iPhone або iPad твоя нога буде в обраному кросівках. Ще один з прикладів застосування AR - додаток від IKEA

Навчальні матеріали по SpriteKit:

Важливо! Розробка ігор для iOS не обмежується фреймворком SpriteKit. Існує величезна кількість движків для створення 2D і 3D ігор. Найпопулярніші з них - Unity і Unreal. А створенні хардкор-аркади Trigono розробники Лайв Тайпінг використовували движок OpenFL із застосуванням кастомних доробок.

висновок

Найактуальнішим мовою мобільного розробки під iOS в 2019 році є Swift. Причина не тільки в його швидкості та лаконічному синтаксисі, але і в тому, що він стає стандартом розробки-де-факто і отримує все більше підтримки з боку розробників Apple.

Це не скасовує необхідності знайомитися з Objective-C: на цій мові створені корисні бібліотеки, а підтримка старих, але великих і цікавих проектів добре оплачується.

Як видно, iOS-розробка глибока, і осягнення всієї її глибини підвищить твою цінність на ринку розробників. Сподіваюся, що ця стаття відповіла на всі можливі питання і ти поділишся нею з друзями. Якщо немає, то залишай коментарі - я на них відповім.

А якщо ви впевнені, що готові працювати над iOS-додатком, то - ми зв'яжемося з вами для безкоштовної консультації.

Ну що-ж, прийшов час написати нам свою першу програму для нашого 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 після натискання на яку закривається клавіатура. Тепер тиснемо на нашу кнопку і вуа-ля, програма з нами вітається :)

Здавалося б якась дрібниця, подумаєш написали таку дрібниці. А я, коли багато років тому вчив Делфі, вивчивши один такий приклад, щоб після натискання на кнопку щось писалося на екрані робив вже різні іграшки. Пам'ятайте одну з найперших браузерних ігор Бійцівський клуб? Ось я робив собі заради забави щось схоже і там все було засноване саме на такому принципі як ми тільки що з вами зробили. Так що грайте, експериментуйте!

Ось вам ще лінк на архів проекту Можна завантажити, включити подивитися якщо у кого-то що не вийшло. Ну а якщо є питання - то пишіть в коментарях.

"Але сьогодні привід особливий - мені захотілося виділити 10 кращих програм, На які варто звернути увагу любителям програмування. Тут є навчальні програми, одна гра для програмістів, компілятори і редактори коду.

Pythonista 3 - програма для створення програмного забезпечення на мові Python. Цікавий факт: назва мови відбулося не від плазуна пітона, а від назви комейдіного британського шоу "Літаючий цирк Монті Пайтона". Пайтон якраз англійською Python.

Деякі вважають, що Python відмінно підходить для першої мови програмування. Може це і так. Мова має нескладним і зрозумілим синтаксисом і при цьому великою кількістю функцій.

Python - популярна мова, використовуваних в багатьох великих компаніях. Наприклад, Google і Facebook використовують його в своїх проектах. Pythonista 3 дозволяє написати програму і тут же її запустити.

Мова програмування "smart BASIC"

Додаток, який пропонує користувачеві програмувати на просунутій версії самого популярного мови для навчання - Basic. Саме з Basic почалося моє знайомство з програмуванням років 20 назад.

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

Наш читач Олександр - програміст-любитель навіть раніше створював додатки на Smart Basic, які публікувалися в App Store.

Apple розробила мову програмування Swift для програмістів на iOS і Mac OS. Apple задумала Swift як більш легкий і читається мова для вивчення, ніж попередник - Objective C. У 2014-му році мову був впроваджений в Xcode. А в 2016-му році Google заявила, що Swift буде першою мовою для Android. Скоріш за все, це позитивним чином позначиться на швидкості виходу додатків під Android. Чи стане менше ексклюзивів і додатків, які виходять спочатку на iOS, а через кілька місяців / років на Android.

Swift Playgrounds від самих Apple дозволяє навіть новачкові зануритися в світ мови. Вивчити нові конструкції, вивчити роботу коду на живих прикладах в ігровій формі.

Серія "Вчимо мови програмування" від Sololearn

Нещодавно натрапив на серію цікавих додатків від компанії Sololearn, які пропонують інтерактивні уроки з вивчення мов програмування. Російською мовою доступні наступні мови: JavaScript, HTML, C ++, Python, Java, CSS, SQL, PHP, C #, JQuery, Ruby. Уроки по Swift англійською.

Я пройшов кілька уроків по JavaScript. Все дуже доступно і цікаво. Даються міні-уроки з прикладами, які можна тут же запустити в емуляторі. Після цього звичайно треба питання з варіантами відповіді або можливістю вписати текстову відповідь. Дуже наочно і зручно для початківців.

Є приклади коду і можливість їх запустити:

Всі додатки безкоштовні і без вбудованих покупок.

Textastic Code Editor 6

В App Store два пристойних редактора тексту для коду. Textastic при своїй ціні в 749 рублів (в американському App Store 10 доларів) є бюджетним варіантом.

Textastic підтримує синтаксис близько 80 мов програмування. Програма служить для красивого відображення і редагування текстів. Це не компілятор - зверніть увагу. Додаток працює так - ви завантажуєте код, редагуєте його і заливаєте потім назад.

Coda

А ось і дорожчий і просунутий варіант текстового редактора. За 1890 рублів ви отримаєте все в одному.

  • Редактор коду з підсвічуванням синтаксису і зручним редагуванням як онлайн, так і офлайн.
  • Підтримку багатьох популярних мов.
  • підтримку мережевих протоколів (Зокрема FTP) і головне - термінал SSH.
  • Синхронізацію між iOS і Mac (версія для Mac OS купується на сайті компанії Panic).

Натрапив недавно на цікаве додаток-довідник, який містить приклади коди на 6 мовах програмування: Swift, Java, C #, Python, C ++, Objective C. Суть його в тому, щоб людина могла швидко знайти шматок коду на потрібному йому мовою. Наприклад, програмісту потрібно швидко згадати як виглядає обробник помилок на C ++. Він дивиться в програму і знаходить потрібний фрагмент, який може застосувати в своїй програмі.

Розробник додатку зібрав приклади з цих 6 мов програмування і судячи з оновленням ще й актуалізує їх постійно.

Програма умовно-безкоштовна, але повна версія коштує всього 2 долари.

Codea

Codea з'явилася в 2012-му році, як перший додаток в App Store, на якому можна було писати програми для iOS. І до цього дня програму оновлюють. У Codea використовується мова програмування Lua, який був придуманий в Бразилії, і найбільше по идеалогии походить на JavaScript.

Codea створена, щоб спростити програмування для iOS. Тобто мета розробників була візуалізувати процес і зробити його за рахунок цього більш зручним.

Як приклад розробники виклали в App Store дуже придатну повністю безкоштовну гру Cargo Bot (вона написана на Codea). У ній необхідно переставляти кольорові ящики за допомогою руки-маніпулятора, щоб вийшло задане розташування. Для цього потрібно придумувати алгоритми за допомогою доступних команд.

Hopscotch: Make Games

Ще один додаток для створення ігор. Усередині зручні (показуються в маленькому віконці) навчальні відео, які на англійською допоможуть створити перші ігри.

У додатку можна вибирати об'єкти та придумувати їм дії. У підсумку виходять нескладні аркадні іграшки. Я спробував кілька, створених людьми. Не особливо вражений, але потрібно зробити знижку на аматорський рівень користувачів.

Всім хороша програма, але підписка 5000 рублів в рік - це за гранню добра і зла. Тому єдина програма в цьому топ-10, яку я включив за принципом: "Круто! Треба, щоб подивилися читачі ". Рекомендувати її з таким цінником не можу.

Сьогодні досить швидко розвивається IT-сфера. Кожна людина, якщо хоче спробувати себе в ній, вибирає один з напрямків і рухається до мети. Багато хто віддає перевагу додатків для iOS і Android. Створити їх, звичайно, досить складно, потрібні терпіння, знання і вільний час. Якщо ви серйозно налаштовані на це, то слід вчитися і йти до поставленої мети. самостійно?

Середовище розробки

Для початку необхідно встановити програму, де ви будете працювати з інтерфейсом і прописувати дії для потрібних елементів. Найпоширеніша - Xcode. На жаль, це середовище розробки доступна тільки користувачам продукції Apple. На сьогоднішній момент офіційною версією для Windows або Linux немає. під різну версію iOS потрібно різна версія даної програми.

Додатки для роботи з графікою

Щоб розробити зображення або дизайн для ігор, необхідно встановити утиліту для роботи з графікою. Поширена додаток - CorelDraw, яке дозволяє створювати фотографії за допомогою векторної графіки. Звичайно, для повноцінної роботи вам необхідно придбати повну версію, але стандартними способами можна користуватися безкоштовно.

Objective-C

Мова програмування Objective-C використовується для створення функціоналу для гри. Як ви могли помітити, він пішов від сімейства мов С, тому якщо ви раніше вивчали іншу мову програмування, то можете витратити досить мало часу на поглиблене вивчення і почати створювати свої додатки. Звичайно, існує безліч книг з вивчення Objective-C.

створення облікового запису

Щоб в подальшому продати свій додаток, потрібно зареєструватися в AppStore. У ньому ви також зможете надати іншим користувачам відкритий доступ, Щоб вони змогли протестувати програму. Звичайно, він не безкоштовний. 100 доларів вам буде потрібно, щоб на один рік поставити свій додаток на продаж.

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

Планування додатки

Спочатку вам необхідно визначитися з цільовою аудиторією для вашої програми. Від цього буде залежати інтерфейс і функціональність. Звичайно, якщо ви розробляєте програму, то варто домогтися рішення, якого не було раніше. Тільки так можна добитися популярності.

Також варто визначитися з тим, як буде влаштовано додаток. Ви повинні зробити інтерфейс максимально простим, щоб він привертав нових людей, а не лякав без основного свої можливості.

Кожна кнопка повинна відображати свої дії і показувати, що вона буде робити. У користувача не повинні виникати питання про те, що буде робити будь-яка клавіша. Продумайте, а потім втілити в життя, якісний інтерфейс.

створення програми

Для початку необхідно відкрити розглянуту середу розробки і створити новий проект. Щоб це зробити, потрібно перейти до розділу «Файл» і перейти до пункту «Application». Далі вибираємо «iOS» і переходимо до порожнього додатком «Empty Application».

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

У новому вікні вводимо ім'я продукту і ваш ідентифікатор, також слід вказати префікс класу. Якщо ви початківець розробник, то слід вказати в поле ідентифікатора «com.example», а в поле префікса «XYZ». Далі вибираємо із запропонованих пристроїв «Айфон» і підтверджуємо свої дії.

використовуйте Storyboard

В початку шляху зі створення програми для iOS можна використовувати Storyboard. Що це таке? Це функція, яка дозволяє візуально уявити всі ваші екрани в програмі. Він показує всі вікна і переходи, які використовуються між ними. Це хороший помічник у створенні програми. Щоб відкрити Storyboard необхідно:

    перейти в розділ «File» і пункту «New»;

    вибираємо кнопку «File» і переходимо до «User Interface»;

    після цього вибираємо потрібну функцію;

    залишається тільки вибрати пристрій «Айфон» і назвати файл.

Слід пам'ятати, що його необхідно зберігати в папку, де зберігаються дані про ваш проект.

додаємо екран

Щоб додати екран, необхідно застосовувати контролер виду. Він дозволяє визначити, як буде виглядати інтерфейс для користувача. Існує безліч вбудованих контролерів виду. Ви можете подивитися кожен доступний варіант і визначитися, який дизайн вам більше сподобається.

· Для цього переходимо до файлу «Main.storyboard» через навігацію.

· Вибираємо «Object Library», щоб завантажити всі необхідні об'єкти.

· Вам необхідно натиснути по «View Controller» і тягнути його до свого проекту. Так ви додасте свій перший екран.

об'єкти

Для iOS? Отже, ви визначилися з інтерфейсом і додали екран, тепер можна переходити до створення певних об'єктів. Щоб використовувати стандартні елементи, відкрийте список Objects Library. Якщо ви знайшли потрібний об'єкт, то ви можете перенести його на свій екран. Його можна легко переміщати і масштабувати.

редагування елементів

Розміщуючи об'єкти, ви застосовуєте свого роду конструктор. Створити додаток для iOS можна і так, але ці елементи мають непривабливий, у стандартному вікні. Щоб змінити оформлення: колір, шрифт, додати картинки і інші параметри, вам необхідно вибрати об'єкт і перейти до його властивостей. Зробити це можна, натиснувши на кнопку «Attributes Inspector» (ярлик нагадує щит).

панель навігації

Незабаром ви додасте безліч інших екранів, і в програмі зажадає ввести навігацію, щоб можна було легко знайти потрібну інформацію. Щоб додати його, необхідно:

    Знайти місце, де буде розташовуватися цей елемент. Його краще застосувати до початкового екрану, Щоб контролювати інші вікна.

    Натискаємо на кнопку «Editor» і переходимо до пункту «Embed In».

    Залишилося тільки вибрати необхідний елемент - «Navigation Controller».

Додаткові можливості

Як ви могли помітити, ми ще не використали мову програмування, щоб створити додаток для iOS. Цей момент буде тільки на вас. Ви повинні придумати, що має роботу вашій програмі аж і пропивати під це дії на мові Objective-C. Якщо ви не володієте хорошим навиком програмування, то слід почитати додаткову літературу.

тестування додатка

Xcode має емулятором, який дозволяє тестувати. Після його необхідно протестувати, перевірити працездатність. Для цього слід перейти до розділу «Simulator and Debug». Вибираємо потрібно пристрій, за допомогою якого ви хочете провести тестування.

збірка програми

Як створити додаток для iOS самостійно? Для повноцінного або гри необхідно зібрати проект. Переходимо до пункту «Build» і клікаєм по ньому. Так ви скомпілюєте додаток, і після цього воно відразу запуститься. Це забере у вас близько п'яти хвилин. Ви зможете спостерігати за тим, як буде відбуватися складання.

Пристрій для перевірки

Щоб остаточно переконатися, що ваш проект працює, необхідно виконати тестування на своєму пристрої. Якщо у вас є iPhone, то ви можете це зробити без проблем. Підключаємо свій пристрій до ПК. Далі виконуємо дії, які ми вже розглядали. Натискаємо на кнопку «Device and Debug», а далі переходимо до пункту «Build». Через кілька хвилин, коли додаток збереться, воно запуститися на своєму пристрої.

Якщо ви розібралися з тим, як створити додаток для «Андроїд» і iOS, але у вас виникли деякі проблеми, необхідно усунути їх. Ви можете подивитися в консолі, які помилки виникли в ході тестування. Взагалі, це досить важливий процес, тому що якщо ви добре протестіруете свій додаток, то це принесе успіх. Також ви можете скористатися допомогою своїх друзів. Для цього слід розіслати їм свій додаток і чекати, поки вони не знайдуть помилки.

публікація проекту

Вам необхідно створити збірку. Для цього вибираємо в меню пункт «Distribution» і натискаємо на кнопку «Build». Далі вибираємо свій проект і архівуємо його. Ви повинні розуміти, що програма має бути оптимізовано під необхідну платформу і бути придатним для дисплея ретина, без цього його не схвалять.

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

Перевірка

Після завантаження вашого додатка його перевірятимуть. Уже через кілька днів вам повинні дати відповідь. На початковому етапі програма автоматично перевіряється. Якщо все пройшло успішно, то його переводять в стан «In review». Якщо цього не відбулося, то через кілька годин ви зможете отримати відповідь на пошту. Також ви можете отримати інформацію про те, як можна усунути дефекти і що для цього потрібно.

Якщо додаток пройшло всі перевірки, то його розмістять в Apple Store на продаж. Ваше завдання тепер - реклама програми або гри. Від цього буде залежати, скільки грошей ви заробите. Ви можете застосовувати різні сервіси для реклами.

висновок

Розробка додатків проводиться за аналогічним принципом, але в іншому середовищі розробки для Windows. Як створити додаток для iOS? Це досить довгий і складний процес. До цього необхідно підходити, маючи певні знання і вміння. Тільки так ви зможете чогось домогтися. Ви можете реалізувати свої ідеї і без певних навичок. Оберіть потрібну компанію і розгляньте, скільки коштує створити додаток для iOS. Також можна замовити і деякі компоненти, якщо у вас не виходить щось виконати самостійно.

І з цієї статті я починаю вести блог по програмування для iOS . А в подальшому і для OS X!

Навіщо мені це треба? Не так давно я став щасливим володарем iPad Retina. Він досить сильно сподобався мені і приємно вразив! Я навіть почав розуміти "яблокофілов" з їх постійним прагненням здобувати всю продукцію Apple, яка виходить у світ. Але одна справа купувати чуже, а інше - створювати своє своїми руками! І ця думка навела мене на створення даного сайту про програмування додатків / ігор для продукції від Apple.

Для кого цей блог? В першу чергу він для тих, хто любить програмувати і творити. Цілком можливо, що ви ніколи не програмували на Objective-C (Саме ця мова програмування використовується), але дуже хочете почати. Однак, бажано, щоб ви знали який-небудь мову програмування, наприклад, Excel макроси, QBasic, С ++, С #, 1С в кінці кінців. Тобто Вам дуже допоможе математичний склад розуму. Якщо і це не так - нічого страшного. Блог створений для новачків, таких же як я. Голий ентузіазм Я буду намагатися пояснювати просто, доступно і цікаво, як сам люблю.

Кілька слів про мову програмування. Відгуки в Інтернеті сходяться в тому, що ця мова зручний, не складний, цікавий, більш "логічний" для людини, ніж мови минулих поколінь. Тому, якщо у Вас є бажання і азарт, то нудно не буде!

Знову ж таки, з відгуків в Інтернеті і з власного досвіду використання додатків з AppStore я зрозумів, що Дизайн додатки стоїть на першому місці. Він обганяє навіть функціональність програми. Тобто, якщо у Вас програма дуже крута, але виглядає негарно, то популярності вона не заімеет. Тому необхідно приділяти велику увагу дизайну додатки, створення красивого інтерфейсу програми, а значить і працювати в Photoshop, може бути, консультуватися з дизайнерами (або вивчати дизайнерські моменти в Інтернеті).

запам'ятовуємо: інтерфейс і Дизайн в наших додатках повинні бути на вищому рівні!

Для чого створювати додатки / ігри на iOS? Тут є два варіанти:

1. Для себе. У вас є iPhone / iPad і ви ніяк не можете знайти додаток, яке б задовольняло ваші потреби. Створіть його самі! Будь-які ваші "хотілки" ви зможете реалізувати в своєму додатку і радіти йому!

2. Для всіх. Це питання вже цікавіше. Адже можна бути добрим молодцем і цікаві програми / гри роздавати безкоштовно. А можна і за 1 $ -100 $ продавати Якщо звичайно його захочуть купити :) Думаю останніх буде більшість. До речі, Apple забирає собі 30% виручки від продажів

Так чи інакше, для розробки додатків є 2 шляхи:

1. Безкоштовний. Ви розробляєте додаток, тестируете його на емуляторах середовища розробки XCodeі далі операційної системи його не винесеш. Навіть на свій власний телефон поставити не зможете.

2. Платний. Ви розробляєте додаток, тестируете його на емуляторах середовища розробки XCodeі купуєте:

а. iOS Developer Program - 99 $ на рік, якщо бажаєте створювати безкоштовні або платні програми для iPhone, iPad, iPod touch, і поширювати через AppStore. (То що нам потрібно в подальшому!). А також тестувати їх на своїх девайсах.

б. iOS Enterprise Developer Program - 299 $ в рік, якщо бажаєте розробляти in-house додатки - додатки, для внутрішнього використання в своїй компанії, без відкритого доступу.

У підсумку маємо: спочатку нашого шляху нам досить створювати додатки і дивитися, як вони виглядають в емуляторах. Як тільки ми відчуємо впевненість в собі, купуємо iOS Developer Program і, вперед, в світ AppStore. Інструкцію по реєстрації я зроблю пізніше, як тільки це нам знадобиться.

Для інформації: Ставши передплатником iOS Developer Program, ви зобов'язані щорічно оплачувати цю підписку. Підписка може бути продовжена в межах 60 днів після закінчення попередньої. Якщо передплачених послуг не підтримує продовжується, то ви втрачаєте право передавати програми через AppStore, ваші сертифікати розробника будуть видалені. На довершення, всі додатки, які ви завантажили на AppStore, так само будуть видалені.

З іншого боку, приймаючи рішення стати розробником під iOS, слід бути впевненим, що ви збираєтеся цим заробляти собі на життя. А розмір заробітків з лишком покриє ваші витрати на підписку.

Про це ми ще поговоримо

А тепер я розповім про те, як ми будемо навчатися програмуванню. Я буду робити ( "постити") записи з новими уроками з певним інтервалом часу. Вивчати ми будемо тільки те, що нам необхідно в наразі. ніякої зайвої загальної інформації, Якщо вона нам не знадобиться на даному етапі, не буде. Уроки текстові. Чим для мене не зручні відеоуроки: по-перше, треба записувати свій голос), по-друге, з видеоурока НЕ \u200b\u200bскопіюєш частина коду, тому його доведеться передрукувати, по-третє, якщо щось прослухав, то потрібно "перемотувати" і т .п., що забирає набагато більше часу. + Текст можна відредагувати швидко, а відео перезняти - довго. Тому - текстові.

З приводу інформації, яка є в інтернеті. Вона є, але або застаріла, або англійською. Хто дружить з англійською - ласкаво просимо на офіційні сайти розробників. Для тих, кому російську мову ріднею - ласкаво просимо

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму