Інтерв'ю з iOS розробником. З нуля до додатка в App Store за місяць

  1. Як виникла ідея стати розробником?
  2. Як ти зважився стати розробником незважаючи на ці бар'єри?
  3. І з чого ти вирішив почати?
  4. Чому вибрав Swift?
  5. Крім позиції Apple які були причини для вибору Swift?
  6. Ти визначився з мовою, що далі?
  7. Чому?
  8. Тобто єдиний курс, через який ти вчився, це був Udemy?
  9. У Мережі можна знайти дуже багато тямущих ресурсів для навчання iOS розробці, але багатьох зупиняє...
  10. Ти сказав, що однією з основних причин розробляти під iOS були гроші. З чого ти взяв, що це додаток...
  11. Як ти з маленькою базою знань почав робити власний додаток?
  12. Какіі ресурсами ти користувався найчастіше в процесі розробки?
  13. Чи виникали у процесі труднощі, через які хотілося опустити руки, закрити всі і просто піти на стару роботу?
  14. Який наступний крок після того, як додаток було повністю готове?
  15. З чого ти почав?
  16. Як довго зайняла перевірка?
  17. Що робити після того, як додаток вийшло в App Store?
  18. Чого ти домігся на сьогоднішній день з розробкою?

Багато хто хоче стати iOS розробниками

Багато хто хоче стати iOS розробниками. У цій професії відмінні переваги - цікавий досвід, велика зарплата, престиж. Але не дуже цілеспрямовані люди примудряються придумати куди більше причин не братися за вивчення програмування. Це не про Антона Крижанівського, гуманітарія з IT-жилкою і молодого iOS розробника, який за місяць освоїв Swift, написав перший додаток і опублікував його в App Store . В інтерв'ю Антон зруйнував деякі стереотипи про програмування, поділився курсами і ресурсами, які допомагали в навчанні, а також розповів про шляхи з написання першого рядка коду до появи програми в App Store.

Як виникла ідея стати розробником?

Як виникла ідея стати розробником

Спочатку ідея прийшла ще в школі, коли я навчався ще в 9 класі і тільки почав користуватися технікою Apple. Подивившись свій перший WWDC , Я здивувався, що компанія приділяє так багато уваги розробникам. Рік за роком, вникаючи в цю тему, я зрозумів, що саме від розробників залежить, злетить пристрій на ринку чи ні.

Хоч би яким був відмінним перший iPhone, Apple в подальшому не змогла б витягнути його на новий рівень, що не запустивши App Store і підключивши розробників до справи в 2008 році.

Усвідомивши, що від девелоперів залежить успішність платформи, я надихнувся ідеєю створювати додатки під iOS.

Але розробка завжди здавалася мені чимось дуже далеким, важкодосяжним. До того ж батьки переконали не братися за цю справу такими стереотипними моментами, як критична необхідність знань в математиці, великої шкоди очам через постійне сидіння за комп'ютером. Було багато соціальних бар'єрів і стереотипів. Це ті моменти, які зупиняють багатьох ще до початку навчання.

Як ти зважився стати розробником незважаючи на ці бар'єри?

Як ти зважився стати розробником незважаючи на ці бар'єри

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

Я одного разу натрапив на оголошення з усього лише однією вимогою:

Потрібен розробник на 3-місячний проект. Вимога: 1 рік роботи в Xcode.

Це контракт, за яким ти 3 місяці працюєш над проектом. Найголовніше - це оплата - $ 300 / год. І вакансія була реальна. Не потрібно освіти або особливого досвіду, всього лише 1 рік роботи в Xcode.

Коли я переїхав до Австралії, то звернув увагу, що люди тут живуть по-іншому, ніж в Україні. Західна IT культура значно більше розвинена і на мене це почало тиснути. Я відчув, як люди більш відкриті до IT і сприяють тому, щоб ти взявся за створення свого стартапу або зайнявся розробкою. І не намагаються тебе зупинити стереотипами про те, що це складно.

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

Адже якщо я роблю додатки, то як я можу бути незадоволеним

Я усвідомив, що означає бути розробником для мого майбутнього життя, і що це позбавить мене від офісного графіка з 9 до 6 і нелюбимої роботи. Якщо коротко, то ось 3 причини, чому я пішов цим шляхом:

  1. Дохід
  2. Немає чіткого графіка
  3. Гордість за те, що ти робиш. Адже кінцевий продукт - це твоє, то, що ти створив сам. Коли бачиш, що твоє додаток завантажили - це неймовірне відчуття.

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

І з чого ти вирішив почати?

І з чого ти вирішив почати

Перше, що я зробив - погуглити, як люди вчаться програмувати на Swift . Ходять на курси або займаються самостійно, які ресурси краще вибрати.

Чому вибрав Swift?

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

Крім позиції Apple які були причини для вибору Swift?

Крім позиції Apple які були причини для вибору Swift

Swift - простий для вивчення новачкам, які з програмуванням не стикалися. Він переспективний, тому що Apple для своїх платформ пише софт на Swift - OS X, iOS, tvOS, watchOS. Очевидно, що на Objective-С компанія вже не повернеться. До того ж Swift - прикладної мову, тому що ти можеш зробити додаток і відразу запустити його на iPhone. Я часто стикаюся з тим, що люди рекомендують почати вивчення програмування з Python або Java, але якщо ти починаєш з них, на відміну від Swift, не можеш зробити готове додаток і через 15 хвилин запустити його на iPhone.

Я не сумнівався, з якої мови варто почати. Крім Swift всі інші здаються труднопріменімимі в нинішній ситуації. Swift простий, доступний для вивчення, перспективний і прикладної мову програмування.

Ти визначився з мовою, що далі?

Ти визначився з мовою, що далі

Я відкрив YouTube і почав шукати відеоуроки. Але моє порятунок виявився не в роликах, а контекстній рекламі, яка крутиться в них. Я натрапив на рекламу онлайн-курсу, де було написано, що ти почнеш з абсолютного нуля, а під кінець навчання зробиш 20 реальних додатків, включаючи клон Instagram і аналог Flappy Bird.

Я перейшов по посиланню і зіткнувся з тим, що курс був платним. Він коштував $ 50. Я трохи подумав і купив його, тому вирішив серйозно зайнятися навчанням, та й після покупки мені було б складніше все кинути, адже гроші вже заплачені, шкода якось забити. Навчався я на. Це портал, де можна пройти курси на будь-яку тему - від того, як бути хорошим татом до того, як добре готувати або стати програмістом. Всі уроки англійською, це важливо знати. Мій курс багато чого обіцяв. Їм було зручно користуватися, є додаток для iOS з можливістю завантажувати в оффлайн відеоуроки, можна спілкуватися з людиною, який цей курс веде.

Я пройшов уроків 10 (їх всього 180, вони невеликі - по 10-15 хвилин) і знайшов повну впевненість, що працювати в Xcode не складно і доступно кожному. І мені це сподобалося. У перші кілька занять я дізнався, як виглядає інтерфейс Xcode, де знаходяться основні елементи і став орієнтуватися в додатку. Інтерфейс виявився зовсім нескладним. У стилі Apple. У наступні пару уроків я навчився працювати з графічним інтерфейсом додатків. Дізнався, наскільки це елементарно і що багато дій відбуваються через банальний drag & drop, який ми використовуємо повсякденно при звичайній роботі за Mac.

В ході освоєння у мене в голові з'явився логічне запитання "як за допомогою Xcode Зробити так, щоб в додатку при натисненні на кнопку користувач переходив на інший екран". Це робиться шляхом того, що ти тримаючи клавішу control тягнеш курсор з одного екрану в додатку на інший. Подібна простота мене добила. Після цього я пройшов ще кілька уроків, в яких дізнався, що таке змінні, методи і всі ці інші терміни, якими зазвичай лякають новачків. В ході заняття я написав додаток, в якому можна вважати вік кота. На створення пішло хвилин 40. Воно містило кнопки, картинки, калькулятор віку. З повного нуля за 40 хвилин я зробив додаток з графічним інтерфейсом і кодом, який працював. І тут я зрозумів, що бути програмістом не так складно як здається і мені це страшенно подобається. Я був у захваті. Але після цього кинув курс.

Чому?

Вирішив одразу пробитися в App Store, зробити власний додаток і вчитися іншим аспектам розробки на ньому. Я через курс зрозумів деякі основи програмування, а далі вирішив застосувати їх на практиці.

Тобто єдиний курс, через який ти вчився, це був Udemy?

Так.

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

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

Ти вивчив базу Swift, що далі?

Ти вивчив базу Swift, що далі

Це було забавно. Я поставив собі завдання випустити додаток через місяць. На той момент не було навіть ідеї, я спробував дізнатися, які думки є у моєї дівчини, вона пожартувала - зроби додаток про котів. А я такий - добре, я зроблю додаток з котами. І ми почали думати про зміст. Вирішили, що там будуть меми з котами, просто кумедні картинки, тому що всі люблять картинки з котиками, вирішили, що класно буде додати звуки котів, показиющіх різних емоції.

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

Я не ставив за мету заробити на ньому. Це було додаток для нарощених бази. Було два завдання - навчитися писати програми з нуля і зробити масу для App Store.

Як ти з маленькою базою знань почав робити власний додаток?

Як ти з маленькою базою знань почав робити власний додаток

Якщо пам'ятаєш, в серіалі Сілікононовая долина, коли хлопці працювали над проектом, у них була дошка для задач, розділена на три колонки - "зробити", "в процесі" і "зроблено". Я зробив точно таку ж. Написав собі близько 30 стікерів в "зробити" - завдання були по типу намалювати дизайн програми, намалювати кнопки, анімацію, зробити розділи, знайти звуки. Я написав окремий стікер на кожну функцію, кожну маленьку частину програми. Далі почалося найцікавіше. Я брав стікер з завданням, наприклад, "зробити так, щоб додаток видавало звуки котів" і клеїв його в "в процесі". Після заходив в Google і шукав, як це зробити.

Кожне завдання займала від 30 хвилин до 3-4 годин. Це було страшенно азартно, і незважаючи на те що вранці треба було вставати на роботу, я все одно доводив завдання до кінця, іноді засиджуючи до глибокої ночі. Таким чином, за 1 місяць я підготував додаток до того, щоб опублікувати його в App Store.

Какіі ресурсами ти користувався найчастіше в процесі розробки?

- це сайт, де ти ставиш будь-яке питання по коду, а програмісти на нього відповідають. Ресурс неймовірно популярний, я взяв звідти дуже багато інформації. 70% того, чому я навчився, я знайшов на цьому сайті.

- це сайт для програмістів, де ти викладаєш вихідний код свого застосування. З нього я брав зразки робочого коду і вивчав як він функціонує. Близько 20% інформації я знайшов на цьому ресурсі.

Решта 10% - відеоуроки на YouTube, авторські статті, допомога друзів розробників.

Чи виникали у процесі труднощі, через які хотілося опустити руки, закрити всі і просто піти на стару роботу?

Такі моменти виникали, я дійсно іноді психував. Роздратування від нерозуміння деяких речей збільшував недосип через роботу. Це було важко.

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

Який наступний крок після того, як додаток було повністю готове?

У мене на тій же дошці був пункт - "опублікувати додаток в App Store". Я почав шукати, як це можна зробити. Купив аккаунт розробника. Складнощів не було. Звичайна транзакція. Потім почався найцікавіший момент - як зробити так, щоб твій файл проекту на комп'ютері виявився в App Store у вигляді додатку.

З чого ти почав?

Це сама туманна частина, на якій я дійсно хотів все кинути. Написати перший додаток в App Store виявилося набагато простіше, ніж його опублікувати. Якщо коротко, то сам процес зроблений дуже неінтуітівнимі і навіть з інструкцією в інтернеті складно зрозуміти логіку того, що відбувається. Публікація в App Store складається з декількох кроків:

  1. Компіляція збірки і завантаження на сервер Apple. Вони можуть не прийняти твій проект вже на цій стадії, якщо знайдуть помилки або недоліки.
  2. Генерація "ключів" і спеціального ID, використовуючи різні сайти, а потім прив'язка до локального проекту в Xсode.
  3. Завантаження скріншотів. Apple вимагає завантажувати окремі зображення і відео для всіх розмірів iPhone і iPad.
  4. Очікування в черзі додатки на перевірку в App Store модераторами Apple. Займає багато часу, але сам розгляд відбувається дуже швидко.

Незважаючи на всю складність і строгі правила, ти спокійно можеш зробити додаток з багами і сюрпризами і воно пройде модерацію з ймовірністю в 90%. Таким чином, всупереч стереотипам, процес публікації додатків в App Store складний і суворий тільки з точки зору інтернет-бюрократії (мільйон форм і необов'язкових дій), але не перевірки якості.

Як довго зайняла перевірка?

На момент відправки на перевірку була велика черга. Коли вона дійшла до мене, програму проверелі за 5 хвилин і відправили в App Store. Тобто справа у великій черзі, а кожне конкретне застосування перевіряють досить швидко.

Що робити після того, як додаток вийшло в App Store?

Що робити після того, як додаток вийшло в App Store

Найкраще - ворог хорошого. Нестабільність і баги - тренд сучасного софтостроенія. Софт випускається і він працює не ідеально. Але допрацьовується з оновленнями. Це я до того, що коли робиш свій додаток і знаєш його мінуси, то все одно релізі. Ти розумієш, що будуть баги, але краще рішення - викласти в App Store, якщо немає нічого критичного. А потім фіксують помилки - саме для цього є оновлення.

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

Чого ти домігся на сьогоднішній день з розробкою?

Чого ти домігся на сьогоднішній день з розробкою

На сьогоднішній день моє додаток знаходиться в App Store, я вже випустив для нього три апдейта. З кінця листопада, коли я опублікував програму в App Store, почав працювати над ще двома додатками і випустив велике оновлення для. Я виконав велику роботу, додав віджет для ЦУ, прикрутив повідомлення і зробив додаток для Apple Watch.

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

Як виникла ідея стати розробником?
Як ти зважився стати розробником незважаючи на ці бар'єри?
І з чого ти вирішив почати?
Чому вибрав Swift?
Крім позиції Apple які були причини для вибору Swift?
Ти визначився з мовою, що далі?
Чому?
Тобто єдиний курс, через який ти вчився, це був Udemy?
Як ти з маленькою базою знань почав робити власний додаток?
Какіі ресурсами ти користувався найчастіше в процесі розробки?

Дополнительная информация

rss
Карта