Как стать iOS-разработчиком? Пошаговое руководство
Вы хотите стать iOS-разработчиком, но не знаете, как? В этой статье мы рассмотрим основные шаги для того, чтобы стать успешным iOS-разработчиком.
Шаг 1: Убедитесь, что Вы увлечены iOS-разработкой
Это самый важное, Вы не сможете стать профессионалом в области, которая Вас не привлекает и не вызывает интереса.
Конечно, возможно стать iOS-разработчиком без страсти к этой сфере. Но это будет очень сложно и скучно для Вас. Некоторые вещи очень трудно выучить, потому что мобильная разработка – очень сложная область программной инженерии. Многие считают, что разработка приложений не сложна, но это не так. Мобильные приложения должны работать в очень сложных условиях. По сравнению с обычными компьютерами все ресурсы мобильных устройств очень ограничены: производительность процессора, память, подключение к интернету и срок службы батареи. А пользователи хотят использовать мощные и качественные приложения. Стать iOS-разработчиком не так просто, а еще сложнее, если Вам не очень интересна эта работа.
Конечно, Вы знаете, что Вам понадобится Mac – без него Вы не сможете создать родные iOS приложения.
Шаг 2: Изучите основы
Есть много способов изучить программирование, для каждого наиболее удобен и продуктивен свой способ.
Мы можем посоветовать Вам прочитать книгу для начинающих iOS-разработчиков The Big Nerd Ranch Guide, а также просмотреть Стэнфордский видеокурс Developing iOS 8 Apps with Swift. К сожалению, он основан на iOS 8, так что там не говорится про Swift 2, однако курс все равно очень полезен.
У некоторых возникают сложности при самообучении, поэтому мы предлагаем Вам пройти курс iOS с нуля, где опытный тренер-профессионал сможет объяснить все непонятные моменты и ответить на Ваши вопросы. Профильные курсы – самый простой способ начать.
Совершенно нормально в начале сосредоточиться только на Swift. Позже Вам надо будет также выучить Objective-C, потому что много существующих приложений, библиотек и ресурсов написаны на Objective-C и Вам необходимо их понимать. Но основным языком для разработчика iOS должен быть Swift.
После этого Вы будете хорошо понимать основы разработки под iOS. Не переживайте, если при обучении будет много вещей, которые Вы не сможете усвоить сразу. Это совершенно нормально и не нужно из-за этого волноваться. Вы можете пропустить определенную информацию в начале и вернуться к ней позже.
Шаг 3: Практикуйтесь
Шаг 2 – только теория. Конечно, теория очень важна. Но это всего лишь первый шаг в процессе обучения. Самым важный этап – практика. После каждой главы книги и после каждой лекции видео, Вы должны открыть Xcode и попробовать сделать все изученное самостоятельно. Если Вы не будете практиковаться, время изучения теории будет потрачено впустую.
На курсах Web Academy есть специально разработанное домашнее задани
Как зарегистрировать аккаунт разработчика Apple?
Если вы планируете стать разработчиком iOS приложений или уже являетесь им, но никогда не занимались публикацией своих трудов в App Store, вам необходимо обязательно пройти регистрацию в качестве Apple Developer на специальном сайте. Процесс этот не очень сложен, но мы решили подробно его описать, чтобы новичкам было легче делать свои первые шаги на этом поприще.
Аккаунт Apple Developer нужен для нескольких основных целей, связанных с разработкой приложений для iOS. Только при помощи учетной записи разработчика вы сможете публиковать, а значит и монетизировать свои приложения в App Store. Также аккаунт позволяет получать доступ к закрытым бета-версиям iOS, которыми Apple чаще всего разрешает пользоваться только разработчикам. В общем, для разработчика, желающего показать свое детище всему миру, аккаунт Apple Developer обязателен.
Как зарегистрировать аккаунт разработчика Apple
Шаг 1. Перейдите на сайт iOS Dev Center, нажмите кнопку Register и выберите один из двух вариантов. Sign In – если вы хотите использовать в качестве аккаунта разработчика уже имеющуюся у вас учетную запись Apple ID, Create Apple ID – в том случае если вы хотите создать новый Apple ID. Выберем второй вариант чтобы более подробно рассмотреть процесс
Шаг 2. На этапе регистрации Apple ID нет ничего нового: введите свои данные, примите пользовательское соглашение и нажмите Create Apple ID. На указанную почту придет письмо с ссылкой, перейдя по которой вы активируете свой Apple ID
Шаг 3. Вновь перейдите на сайт iOS Dev Center и нажмите Register -> Sign In и авторизуйтесь под данным только что созданного Apple ID
Шаг 4. Укажите варианты ответов в небольшом анкетировании и завершите регистрацию путем нажатия кнопки Register
Шаг 5. Перейдите по данной ссылке или выберите в верхней части сайта пункт Programs -> iOS Developer Program (нужно нажать на Learn more)
Шаг 6. Нажмите на Enroll Now для начала процедуры приобретения аккаунта разработчика. Данная привилегия платная и оценивается она в $99/год. Выберите в качестве Apple ID свою текущую учетную запись и нажмите Continue
Шаг 7. Далее вам следует пройти процесс регистрации и активации аккаунта разработчика. В первом окне Enter Account Info выберите тип программы: индивидуальный (Individual) или для компании (Company/Organization). В случае если вы не представитель компании, то выбирайте Individual – при таком варианте необходимо вводить значительно меньше данных
Шаг 8. Введите данные о своем месте жительства, номер телефона, фамилию и имя (как на кредитной карте) и нажмите Continue. Если данные будут неверны, вам будет указано, что и где нужно изменить
Шаг 9. Выберите необходимую программу, подтвердите правильность ввода данных и, наконец, оплатите членство на один год в программе разработчиков
Шаг 10. Если вы находитесь в стране, которой нет в списке Apple (Россия и Украина в этом списке есть), то вам придется отправить специальную форму факсом по номеру +1 ( 408 ) 862-7602. Отправлять ее необходимо вечером, иначе она просто-напросто не дойдет до адресата. Загрузить форму можно будет прямо со страницы, которая оповестит вас о невозможности прямой оплаты (как на изображении). Напомню, ранее, такую же процедуру было необходимо делать и жителям России
Что полезно знать:
Поставьте 5 звезд внизу статьи, если нравится эта тема. Подписывайтесь на нас Telegram, ВКонтакте, Instagram, Facebook, Twitter, Viber, Дзен, YouTube.
Загрузка…
Интервью с iOS разработчиком. С нуля до приложения в App Store за месяц
Многие хотят стать iOS разработчиками. У этой профессии отличные преимущества — интересный опыт, большая зарплата, престиж. Но не очень целеустремленные люди умудряются придумать куда больше причин не браться за изучение программирования. Это не про Антона Крижановского, гуманитария с IT-жилкой и молодого iOS разработчика, который за месяц освоил Swift, написал первое приложение Play:Cats и опубликовал его в 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. Я немного подумал и купил его, потому решил серьезно заняться обучением, да и после покупки мне было бы сложнее все бросить, ведь деньги уже заплачены, жалко как-то забить. Учился я на Udemy. Это портал, где можно пройти курсы на любую тему — от того, как быть хорошим папой до того, как хорошо готовить или стать программистом. Все уроки на английском, это важно знать. Мой курс много чего обещал. Им было удобно пользоваться, есть приложение для iOS с возможностью загружать в оффлайн видеоуроки, можно общаться с человеком, который этот курс ведет.
Я прошел уроков 10 (их всего 180, они небольшие — по 10-15 минут) и обрел полную уверенность, что работать в Xcode не сложно и доступно каждому. И мне это понравилось. В первые несколько занятий я узнал, как выглядит интерфейс Xcode, где находятся основные элементы и стал ориентироваться в приложении. Интерфейс оказался совсем несложным. В стиле Apple. В следующие пару уроков я научился работать с графическим интерфейсом приложений. Узнал, насколько это элементарно и что многие действия происходят через банальный drag&drop, который мы используем повседневно при обычной работе за Mac.
В ходе освоения у меня в голове появился логичный вопрос “как с помощью Xcode cделать так, чтобы в приложении при нажатии на кнопку пользователь переходил на другой экран”. Это делается путём того, что ты держа клавишу control тянешь курсор с одного экрана в приложении на другой. Подобная простота меня добила. После этого я прошел еще несколько уроков, в которых узнал, что такое переменные, методы и все эти другие термины, которыми обычно пугают новичков. В ходе занятия я написал приложение, в котором можно считать возраст кота. На создание ушло минут 40. Оно содержало кнопки, картинки, калькулятор возраста. С полного нуля за 40 минут я сделал приложение с графическим интерфейсом и кодом, который работал. И тут я понял, что быть программистом не так сложно как кажется и мне это ужасно нравится. Я был в восторге. Но после этого бросил курс.
Почему?
Решил сразу пробиться в App Store, сделать собственное приложение и учиться остальным аспектам разработки на нем. Я через курс понял некоторые основы программирования, а дальше решил применить их на практике.
То есть единственный курс, через который ты учился, это был Udemy?
Да.
В Сети можно найти очень много толковых ресурсов для обучения iOS разработке, но многих останавливает то, что они на английском. Какой уровень знания языка необходим для понимания уроков?
Минимальное требование — базовый уровень, на уровне школы. Во время видеоуроков ты будешь встречать незнакомые слова или технические требования. Если начинаешь терять суть, ставь видео на паузу и проясни слова. Если этого не делать, можешь вообще перестать понимать, что происходит в уроке.
Ты изучил базу Swift, что дальше?
Это было забавно. Я поставил себе задачу выпустить приложение через месяц. На тот момент не было даже идеи, я попытался узнать, какие мысли есть у моей девушки, она пошутила — сделай приложение про котов. А я такой — хорошо, я сделаю приложение с котами. И мы начали думать о содержании. Решили, что там будут мемы с котами, просто забавные картинки, потому что все любят картинки с котиками, решили, что классно будет добавить звуки котов, показыющих разных эмоции.
Ты сказал, что одной из основополагающих причин разрабатывать под iOS были деньги. С чего ты взял, что это приложение принесет заработок?
Я не ставил цель заработать на нем. Это было приложение для нарощения базы. Было две задачи — научиться писать приложения с нуля и сделать массу для App Store.
Как ты с маленькой базой знаний принялся делать собственное приложение?
Если помнишь, в сериале Силикононовая долина, когда ребята работали над проектом, у них была доска для задач, разделенная на три колонки — «сделать», «в процессе» и «сделано». Я сделал точно такую же. Написал себе около 30 стикеров в “сделать” — задачи были по типу нарисовать дизайн приложения, нарисовать кнопки, анимацию, сделать разделы, найти звуки. Я написал отдельный стикер на каждую функцию, каждую маленькую часть приложения. Дальше началось самое интересное. Я брал стикер с задачей, например, «сделать так, чтобы приложение издавало звуки котов» и клеил его в “в процессе”. После заходил в Google и искал, как это сделать.
Каждая задача занимала от 30 минут до 3-4 часов. Это было чертовски азартно, и несмотря на то что утром нужно было вставать на работу, я все равно доводил задачи до конца, иногда засиживаясь до глубокой ночи. Таким образом, за 1 месяц я подготовил приложение к тому, чтобы опубликовать его в App Store.
Какии ресурсами ты пользовался чаще всего в процессе разработки?
Stack Overflow — это сайт, где ты задаешь любой вопрос по коду, а программисты на него отвечают. Ресурс невероятно популярный, я взял оттуда очень много информации. 70% того, чему я научился, я нашел на этом сайте.
GitHub — это сайт для программистов, где ты выкладываешь исходный код своего приложения. С него я брал образцы рабочего кода и изучал как он функционирует. Около 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, начал работать над еще двумя приложениями и выпустил большое обновление для Play:Cats. Я проделал большую работу, добавил виджет для ЦУ, прикрутил уведомления и сделал приложение для Apple Watch.
Моя история с приложением научила тому, что абсолютно любой человек может с нуля стать разработчиком. Не требуется особых талантов, нужно только иметь намерение создать приложение и не бояться преодолевать барьеры и сложности.
Как стать талантливым iOS разработчиком — BRLab
1. Особенности разработки программного обеспечения
Важно четко понимать, как правильно создавать программное обеспечение — как структурировать его, тестировать, устранять неисправности и как на базовом уровне пользоваться системой управления версиями исходного кода.
При недостатке знаний и уверенности в работе с этими методами необходимо усовершенствовать навыки, что позволит двигаться вперед и постепенно развиваться. Можно для начала ознакомиться с книгой Эндрю Ханта и Девида Томаса «The Pragmatic Programmer».
2. Использование системы управления версиями исходного кода
Управление версиями кода является важным направлением работы. Качество разработки приложения во многом зависит от навыков работы с данной системой. При сотрудничестве с другими iOS разработчиками без знаний по использованию системы управления версиями исходного кода не обойтись.
Это позволит создавать контрольные точки, возвращаться к предыдущим версиям исходного кода и при необходимости объяснить, почему вносятся именно такие изменения. Сегодня наиболее популярной системой является git, которая применяется большинством IT-компаний. В рамках git необходимо знать:
- как создать репозиторий;
- как клонировать репозиторий;
- как зафиксировать изменения и отправить их в удаленный репозиторий;
- как «пулить» и объединить изменения;
- как проверить статус локального репозитория;
- как и когда создавать и объединять ответвления;
- как создавать теги (делается при каждой отправке проекта в App Store).
Это лишь базовые знания. Возможности git значительно шире, поэтому важно получать новые знания в этом направлении.
3. Сетевые технологии
Чтобы понять важность сетевых технологий для сферы разработки приложений, необходимо подумать о приложении, которое абсолютно не взаимодействует с интернетом. Можно ли сейчас представить такое? Практически каждое приложение сегодня тем или иным образом взаимодействует с интернетом. Поэтому важно понимать, как отправлять и получать данные из сети.
Обычно для таких целей используют JSON (JavaScript Object Notation). Вначале изучение этого текстового формата может показаться сложным, но на самом деле он довольно прост и важен для iOS специалиста.
4. Изучение Swift
Для профессиональной разработки приложений на iOS следует знать Swift (еще лучше выучить Objective-C). Этот язык программирования специально создан компанией Apple для выпуска собственных приложений.
Уровень «junior» требует от кандидата знаний синтаксиса и основ библиотеки Foundation (объекты, коллекции, типы данных, сети, JSON). Также потребуются сильные знания объектно-ориентированного программирования (объекты, классы, правильное написание методов).
5. Проектирование приложений
Успешные приложения для iOS известны тем, что они интуитивно понятны. При их создании разработчики придерживаются строгого набора принципов проектирования. Хранение и отображение данных определяется конкретными методами. Чтобы создавать интуитивно понятные приложения следует выучить такие шаблоны проектирования.
Поэтому iOS разработчикам