- Як виникла ідея стати розробником?
- Як ти зважився стати розробником незважаючи на ці бар'єри?
- І з чого ти вирішив почати?
- Чому вибрав Swift?
- Крім позиції Apple які були причини для вибору Swift?
- Ти визначився з мовою, що далі?
- Чому?
- Тобто єдиний курс, через який ти вчився, це був Udemy?
- У Мережі можна знайти дуже багато тямущих ресурсів для навчання iOS розробці, але багатьох зупиняє...
- Ти сказав, що однією з основних причин розробляти під iOS були гроші. З чого ти взяв, що це додаток...
- Як ти з маленькою базою знань почав робити власний додаток?
- Какіі ресурсами ти користувався найчастіше в процесі розробки?
- Чи виникали у процесі труднощі, через які хотілося опустити руки, закрити всі і просто піти на стару роботу?
- Який наступний крок після того, як додаток було повністю готове?
- З чого ти почав?
- Як довго зайняла перевірка?
- Що робити після того, як додаток вийшло в App Store?
- Чого ти домігся на сьогоднішній день з розробкою?
Багато хто хоче стати 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 причини, чому я пішов цим шляхом:
- Дохід
- Немає чіткого графіка
- Гордість за те, що ти робиш. Адже кінцевий продукт - це твоє, то, що ти створив сам. Коли бачиш, що твоє додаток завантажили - це неймовірне відчуття.
Найважливіше це почати. потрібно відкинути всі стереотипи. Об'єктивно - може почати будь-хто. Головне бажання. Мене особисто підштовхнула австралійська культура, кого-то можуть підштовхнути інші моменти.
І з чого ти вирішив почати?
Перше, що я зробив - погуглити, як люди вчаться програмувати на Swift . Ходять на курси або займаються самостійно, які ресурси краще вибрати.
Чому вибрав Swift?
Це той напрямок, який вибрала Apple. Якщо ти вирішиш стати iOS девелопером, ти будеш вчити Swift. Objective-С це вже крок назад. Навіть якщо ти відкриєш в Xcode старий файл на Objective, то тобі запропонують переконвертувати його в Swift щоб уникнути помилок і багів. Apple хоче, щоб програмісти перебиралися з Objective-C на 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, що далі?
Це було забавно. Я поставив собі завдання випустити додаток через місяць. На той момент не було навіть ідеї, я спробував дізнатися, які думки є у моєї дівчини, вона пожартувала - зроби додаток про котів. А я такий - добре, я зроблю додаток з котами. І ми почали думати про зміст. Вирішили, що там будуть меми з котами, просто кумедні картинки, тому що всі люблять картинки з котиками, вирішили, що класно буде додати звуки котів, показиющіх різних емоції.
Ти сказав, що однією з основних причин розробляти під iOS були гроші. З чого ти взяв, що це додаток принесе заробіток?
Я не ставив за мету заробити на ньому. Це було додаток для нарощених бази. Було два завдання - навчитися писати програми з нуля і зробити масу для App Store.
Як ти з маленькою базою знань почав робити власний додаток?
Якщо пам'ятаєш, в серіалі Сілікононовая долина, коли хлопці працювали над проектом, у них була дошка для задач, розділена на три колонки - "зробити", "в процесі" і "зроблено". Я зробив точно таку ж. Написав собі близько 30 стікерів в "зробити" - завдання були по типу намалювати дизайн програми, намалювати кнопки, анімацію, зробити розділи, знайти звуки. Я написав окремий стікер на кожну функцію, кожну маленьку частину програми. Далі почалося найцікавіше. Я брав стікер з завданням, наприклад, "зробити так, щоб додаток видавало звуки котів" і клеїв його в "в процесі". Після заходив в Google і шукав, як це зробити.
Кожне завдання займала від 30 хвилин до 3-4 годин. Це було страшенно азартно, і незважаючи на те що вранці треба було вставати на роботу, я все одно доводив завдання до кінця, іноді засиджуючи до глибокої ночі. Таким чином, за 1 місяць я підготував додаток до того, щоб опублікувати його в App Store.
Какіі ресурсами ти користувався найчастіше в процесі розробки?
- це сайт, де ти ставиш будь-яке питання по коду, а програмісти на нього відповідають. Ресурс неймовірно популярний, я взяв звідти дуже багато інформації. 70% того, чому я навчився, я знайшов на цьому сайті.
- це сайт для програмістів, де ти викладаєш вихідний код свого застосування. З нього я брав зразки робочого коду і вивчав як він функціонує. Близько 20% інформації я знайшов на цьому ресурсі.
Решта 10% - відеоуроки на YouTube, авторські статті, допомога друзів розробників.
Чи виникали у процесі труднощі, через які хотілося опустити руки, закрити всі і просто піти на стару роботу?
Такі моменти виникали, я дійсно іноді психував. Роздратування від нерозуміння деяких речей збільшував недосип через роботу. Це було важко.
У мене виникали моменти, коли я турбувався і не розумів, що взагалі відбувається. І в тоді я говорив собі, "так спокійно, не потрібно зупинятися, відволікаючись, йди покури, випий чай і зі свіжою головою знову сідай гуглити". І таким чином рано чи пізно я завжди знаходив рішення. Я не зупинявся, бо мені це було потрібно.
Який наступний крок після того, як додаток було повністю готове?
У мене на тій же дошці був пункт - "опублікувати додаток в App Store". Я почав шукати, як це можна зробити. Купив аккаунт розробника. Складнощів не було. Звичайна транзакція. Потім почався найцікавіший момент - як зробити так, щоб твій файл проекту на комп'ютері виявився в App Store у вигляді додатку.
З чого ти почав?
Це сама туманна частина, на якій я дійсно хотів все кинути. Написати перший додаток в App Store виявилося набагато простіше, ніж його опублікувати. Якщо коротко, то сам процес зроблений дуже неінтуітівнимі і навіть з інструкцією в інтернеті складно зрозуміти логіку того, що відбувається. Публікація в App Store складається з декількох кроків:
- Компіляція збірки і завантаження на сервер Apple. Вони можуть не прийняти твій проект вже на цій стадії, якщо знайдуть помилки або недоліки.
- Генерація "ключів" і спеціального ID, використовуючи різні сайти, а потім прив'язка до локального проекту в Xсode.
- Завантаження скріншотів. Apple вимагає завантажувати окремі зображення і відео для всіх розмірів iPhone і iPad.
- Очікування в черзі додатки на перевірку в App Store модераторами Apple. Займає багато часу, але сам розгляд відбувається дуже швидко.
Незважаючи на всю складність і строгі правила, ти спокійно можеш зробити додаток з багами і сюрпризами і воно пройде модерацію з ймовірністю в 90%. Таким чином, всупереч стереотипам, процес публікації додатків в App Store складний і суворий тільки з точки зору інтернет-бюрократії (мільйон форм і необов'язкових дій), але не перевірки якості.
Як довго зайняла перевірка?
На момент відправки на перевірку була велика черга. Коли вона дійшла до мене, програму проверелі за 5 хвилин і відправили в App Store. Тобто справа у великій черзі, а кожне конкретне застосування перевіряють досить швидко.
Що робити після того, як додаток вийшло в App Store?
Найкраще - ворог хорошого. Нестабільність і баги - тренд сучасного софтостроенія. Софт випускається і він працює не ідеально. Але допрацьовується з оновленнями. Це я до того, що коли робиш свій додаток і знаєш його мінуси, то все одно релізі. Ти розумієш, що будуть баги, але краще рішення - викласти в App Store, якщо немає нічого критичного. А потім фіксують помилки - саме для цього є оновлення.
Я спеціально виклав додаток з багами, воно був дійсно було трохи недоработано, я знаю, які там були помилки. Але я їх залишив, щоб мотивувати самого себе працювати над програмою далі, а заодно ознайомитися з процесом відправки аппа на оновлення.
Чого ти домігся на сьогоднішній день з розробкою?
На сьогоднішній день моє додаток знаходиться в App Store, я вже випустив для нього три апдейта. З кінця листопада, коли я опублікував програму в App Store, почав працювати над ще двома додатками і випустив велике оновлення для. Я виконав велику роботу, додав віджет для ЦУ, прикрутив повідомлення і зробив додаток для Apple Watch.
Моя історія з додатком навчила тому, що абсолютно будь-яка людина може з нуля стати розробником. Не потрібно особливих талантів, потрібно тільки мати намір створити додаток і не боятися долати бар'єри і складності.
Як виникла ідея стати розробником?Як ти зважився стати розробником незважаючи на ці бар'єри?
І з чого ти вирішив почати?
Чому вибрав Swift?
Крім позиції Apple які були причини для вибору Swift?
Ти визначився з мовою, що далі?
Чому?
Тобто єдиний курс, через який ти вчився, це був Udemy?
Як ти з маленькою базою знань почав робити власний додаток?
Какіі ресурсами ти користувався найчастіше в процесі розробки?