Data Science fwdays сonference — few-shot learning, snorkel, black box and more! Kyiv, Sep 7

iOS дайджест: як стати iOS девелопером

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

Мотивація

Є багато причин для того, щоб почати програмувати:
— Втілити в життя свої ідеї та створити програму, що не має аналогів. Хто знає, а раптом вона ще й злетить та стане початком власного бізнесу?
— Мати хороші гроші. Навіть заробляючи менше, ніж пересічні американці, програмісти стали в Україні королями.
— Отримати досвід роботи за кордоном. У той час, коли одні прямують до Західної Європи, щоб працювати нелегально, девелопери гордо перетинають кордони Шенгену із запрошеннями на роботу від провідних європейських компаній.
Давно застарів образ програміста як геніального аутиста, що 5 років вивчав прикладну математику, мислить нулями та одиничками та бачить уві сні ядро Linux. Зараз розумна та мотивована людина взмозі пройти шлях до хорошого програміста за 1-2 роки.

Компанія Apple зацікавлена в тому, щоб в App Store був відмінний вибір. Щоб розробники конкурували між собою за увагу користувачів. Тоді люди обиратимуть техніку Apple за те, що для неї випускається багато чудового софту.

Якби Apple могла зробити так, щоб програмувати міг кожен, вона би це зробила, і рано чи пізно це станеться. У новій мові програмування Swift, що прийшла на зміну Objective-C, вже немає роботи з пам’яттю. Числені фреймворки від Apple — це код, написаний за вас для роботи з картами, хмарами, грошима, remote девайсами та ще багато-багато чим.

Не був би я вже зараз Apple девелопером, то назбирав би 500-1000 доларів на будь-якій роботі, звільнився би, поїхав додому та присвятив півроку життя навчанню. Для того щоб почати, вам навіть не потрібен iPhone. Відкрию для непосвячених маленький секрет: під Mac OS запускається симулятор iOS, якого вам вистачить з головою на перших порах. Особисто у мене перший iPhone з’явився лише тоді, коли я вже мав більше року досвіду комерційної розробки.

За 6 місяців, проведених за книжками та МакБуком, можна вийти на рівень, який дозволяє отримати першу роботу Junior девелопером за 500 доларів на місяць. Це вже точка неповернення. Далі з досвідом від одного року мідл заробляє 2-2,5 тисячі. З двома, а ще краще — п’ятьма роками досвіду ніхто вже не має браку в пропозиціях роботи senior девелопером із зарплатнею від 3.000 доларів і вище (джерело даних про зарплати). А наполегливо працюючи роками, ви маєте шанс піднятися до вершин та, можливо, стати тим, кому потисне руку Стів Возняк.

Вибір мови програмування

З чого треба почати — це вивчення мови програмування. Зараз їх дві: Objective-C та Swift, — і вам доведеться обирати, яка з них стане для вас першою. Якщо ви більше орієнтовані на швидке працевлаштування, то ліпше віддати перевагу Objective-C. Більшість існуючих проектів були розпочаті ще до появи Swift, а підтримка цих програм вимагає багато робочих рук. Якби я обрав Objective-C, то навчався би за підручником Аарона Гіллеґаса, людини, що працювала зі Стівом Джобсом ще у компанії NeXT до його повернення в Apple. До речі, операційну систему OS X створила саме NeXT, а не Apple. Перша назва системи була NeXTSTEP, і з цим пов’язаний відомий усім без виключення Objective-C програмістам префікс NS у Cocoa (джерело).

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

Самоосвіта

Коли ви твердо вирішили стати Apple девелопером, можете зробити developer.apple.com своєю домашньою сторінкою. Відтепер цей сайт ви будете відкривати частіше, ніж свій Facebook. Ознайомлення з ним варто почати з Tutorial «Start Developing iOS Apps».

Для того, щоб знання були системними, раджу прочитати книжку iOS 8 App Development Essentials.

Тематичні навчальні матеріали публікують сайти Ray Wenderlich та App Coda. Їхні статті дійсно чудові. Якщо вам потрібно розібратися, наприклад, саме з адресною книгою, просто знайдіть через пошук матеріали за ключовою фразою «Address Book». Видає «Address Book Tutorial in Swift and iOS» та «Address Book Tutorial in iOS» (Objective-C).

Знамениті лекції Стенфорду висвітлюють iOS 8 та Swift та вважаються у професійному середовищі must to be watched: iTunes, YouTube.

Але Олександр Щербаков з Нью-Йорку радить починати з іншого відеокурсу Стенфорду: Programming Methodology. Ось що він написав мені: «best lecturer I’ve ever listened to, basics for those who never programmed before».

Олександр Нужний з Маріуполя радить Vea Software — YouTube канал з короткими, але змістовними навчальними відеороликами.

← Предыдущий выпуск: iOS дайджест #6
Следующий выпуск: iOS дайджест #8

LinkedIn

33 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Так и не понял, достаточно ли Mac Mini для полноценной работы?

Так, достатньо. Бажаю успіху!

програмісти стали в Україні королями.
Снобизм так и прет.

Так я же не в Украине ;) Просто решил помечтать :)

програмісти стали в Україні королями.
королями, ими рождаются :)
а в данном случае просто волей ситуации поиска рабовладельцами дешевых рабов просто перепало бабла больше чем другим и только :)

Есть ещё классный конспект cs193p на русском языке, думаю тут должна быть ссылка.
bestkora.com/IosDeveloper

В выборе между стэнфордскими курсами по iOS7/Objective-C и iOS8/Swift что можете посоветовать? Цель — трудоустройство. Прошел 4 урока по свифту, наткнулся на эту статью и задумался.

Точно! Вот какой ссылки не хватает: Stanford iOS 7 / Objective-C itunes.apple.com/...os-7-apps-for/id733644550. Спасибо!

В Украине сейчас найти работу на Swift почти невозможно, судя по вакансиям на ДОУ. Изучение Swift — это ставка на востребованность в будущем.

Желаю успеха!

Учил Objective-C по курсам Алексея Скутаренко, начал устраиваться на работу — сказали, что все новые проекты пишем на Swift. Так на нем и пишу по сей день :)
В процессе поиска в 2 из 3 компаний была ставка на свежеиспеченный язык.

Спасибо за эту информацию! :) Это очень радует. Тем более, что делать новые проекты и приятнее, и эффективнее в плане прокачки скиллов, чем сидеть на поддержке.

В Украине сейчас найти работу на Swift почти невозможно, судя по вакансиям на ДОУ. Изучение Swift — это ставка на востребованность в будущем.

Ну, не можу відповідати за всю Україну, але ми у Yalantis будемо раді вітати swift розробників у себе в команді. hr@yalantis.com

github.com/...ers?l=swift&since=monthly

В Украине сейчас найти работу на Swift почти невозможно, судя по вакансиям на ДОУ. Изучение Swift — это ставка на востребованность в будущем.

Ну, не можу відповідати за всю Україну, але ми у Yalantis будемо раді вітати swift розробників у себе в команді. hr@yalantis.com

github.com/...ers?l=swift&since=monthly

Але і Objective-C та Java розробникі нам цікаві :) Не буду займатися стандартним блаблабла. Дам лише highlights чим ми відрізняємося від інших:

1) Розробляємо власні компоненти, які постійно потрапляють до трендінг на Github.
2) Маємо Hack Weeks між проектами, де можна зайнятися дослідженнями чи розробкою на вищеозначений гітхаб
3) Маємо RnD відділ, до якого може вступити будь-який розробник ти мати вплив на напрямок розвитку компаніі та купу інших речей.
4) Будуємо експертизу по різним напрямках як конкретних людей так і компаніі в цілому. Самий великий гріх у нашій компаніі — не приймати участь ні в дослідженнях, ні в розробках, а лише пилити «кльові проекти».
5) Робимо із девелоперів Rock stars, а не ховаємо їх за корпоративню політикою. За кожною розробкою є ім’я конкретньої людини, а не обезліченої компаніі.
6) Змушуємо розробників їздити виступати за наш рахунок по конференціям по світу. Слухачам повертаємо 50% вартості квитка.
7) Змушуємо всіх знати англійську хоча б на рівні intermediate (атата), щоб вони могли спілкуватися з клієнтами. Але даємо півроку шансу на вивчення людям з pre-intermediate

Пруфи:
1) Наш гітхаб github.com/Yalantis
2) Приклад нашіх досліджень yalantis.com/...-faster-than-objective-c
3) Наш розробник їздив на Google I/O yalantis.com/...ello-from-google-io-2015
4) Історіі розробки yalantis.com/...der-like-koloda-in-swift

Наша філософія: yalantis.com/...blog/yalantis-philosophy
І взагалі рекомендую звернути увагу на наш блог.

Ви так гарно описали, що прямо захотілося у вас працювати! :) Ви часом не плануєте відкриття офісу в Латвії?

Дякую :)
Мабуть не плануємо, хоча може ми просто про це не знаємо)

Цей коментар виглядає цікавішим і інформативнішим ніж опис тут:
jobs.dou.ua/companies/yalantis
:)

(Можливо, варто оновити опис компанії на ДОУ).

Разработка под iOS — это в первую очередь фреймворки, такие как Foundation, UIKit, Core Data, Core Graphics и т.д. И Вас должно заботить именно изучение их API, что займет ни один месяц. Но хорошая новость в том, что API абсолютно одинаковые для обоих языков. Поэтому освоив оные на одном языке, переход на другой — это считанные недели. Кроме того, считаю вполне нормальным изучать сразу два языка. Можете даже в одном приложение пробовать одни классы писать на свифте, а другие на обжективе. Успешные примеры такого подхода знаю лично.

Я начинал с курсов Алексея Скутаренко. Потом практика, практика и еще раз практика. Сейчас, когда в голове все более менее устаканилось и критическая масса набрана, я взялся за курс Stanford — «Developing iOS 7 Apps», чтобы закрепить старые знания и почерпнуть новые из первоисточника.

В iTunes є гарний курс:
itunes.apple.com/...os-7-apps-for/id733644550

Я коли починав, вони тікі на iOS5 випустились. В принципі буде достатньо для початку.

Objective-C легкий для вивчення.

Для того щоб почати, вам навіть не потрібен iPhone. Відкрию для непосвячених маленький секрет: під Mac OS...
Вам нужен как минимум MacMini чтобы работать с Mac OS. Можно, конечно, и через эмулятор. Но для работы это не вариант.

Третій рік працюю на віртуалці, єдиний мінус — Debug View Hierarchy не відображається.

Я встановив на другий хард Хакінтош, ОС Х Yosemite, бувають глюки, але загалом працює нормально. Як вважаєте, цього буде для початку достатньо? Щоб вчитись хочаб?

Я вважаю, що цього достатньо, щоб вчитись. Знаю lead розробника, що починав з віртуалки. Бажаю успіху!

Я тоже так начинал в 2009... но пришлось комбинировать с персеном и глицином )))

Вам нужен как минимум MacMini чтобы работать с Mac OS
нет. Минимум нужно железо, которое потянет виртуалку или хакинтош.
Можно, конечно, и через эмулятор
там нет никакого эмулятора, только симулятор. Это две большие разницы.
Но для работы это не вариант
вполне себе вариант.
Відкрию для непосвячених маленький секрет: під Mac OS запускається симулятор iOS, якого вам вистачить з головою на перших порах.
Этого хватит только чтобы запилить простой RSS-ник и проработать синтаксис, а чтобы пилить серьезные проекты нужен девайс и не один :)

Я бы посоветовал такой путь: Английский, С (хотя бы просто прочитать Кернигана, там 200 страниц), Objective-C, Swift (или даже отложил бы его изучение еще на 1-2 года).

Курс по Objective-C от Алексея Скутаренко лучшее что есть на русском языке.

Скажіть з чого з вищеперелічоного краще почати людині, яка ще не зтикалась з програмуванням взагалі.. або зтикалась, але в незначній мірі. Чи перелічені джерела не призначені для початківців?

Більшість книжок, які я починав читати починаються зі слів «Щоб читати цю книжку ви маєте знати хоча б мову програмування С...», або щось в такому дусі.

я начинал сразу с обжц. 3 года, полет нормальный.

Зверніть увагу на пораду Олександра Щербакова у статті. Нехай щастить! :)

дякую, прийму до уваги )

Подписаться на комментарии