Программирование для мобайл-сферы развивается быстрыми темпами и имеет большой спрос у аудитории: мы отвечаем на электронные письма, планируем дела, общаемся, отдыхаем, покупаем одежду и технику с помощью смартфона. Если программирование - ваша страсть и вы хотите облегчить жизнь сотни пользователей, создавая крутые приложения - врывайтесь в мобайл. А в этой статье мы расскажем, как это сделать
Кто такой iOS-разработчик?
Разработчик приложений для iOS - это программист, который пишет back end для сервисов компании Apple.
Программистов в мобайл приводят совершенно разные ситуации. Если вы считаете, что между iOS и Android-разработчиками война, то вы совершенно неправы. Обе платформы востребованы, имеют свои преимущества, а программисты дружат и обмениваются опытом. Решение о том, для какой платформы разрабатывать принимается в основном, по предпочитаемому языку или бекграунду. Подробнее об этом ниже, а пока что несколько фактов, которые могут помочь расставить акценты для вас:
- Системой Android пользуется большое количество моделей, которые имеют разные характеристики, поэтому на адаптацию приложения уходит больше времени, код iOS-приложения адаптировать легче.
- Для того, чтобы учиться программировать под iOS, нужно соответствующее оборудование - iPhone, Mac
С чего начать?
Итак, если вы мечтаете писать крутые приложения для iOS и хотите узнать, как стать разработчиком apple, мы дадим вам несколько советов.
1 У вас должны быть горящие глаза
Это вообще самое главное в учебе и работе. Если вас привлекают только зарплаты, которые получают программисты, вам точно не стать успешным.
2 Вы должны понимать, чем отличаются мобильные телефоны от компьютеров - и это не шутка:)
Ресурсы мобайла ограничиваются производительностью процессора, объемом памяти, качеством батареи, а также подключением к интернету. Чтобы делать качественные приложения, вы должны понимать “боли” аудитории и программировать так, чтобы облегчить их.
3 Начните с основ
Прочитайте книгу о мобайл-программировании, посмотрите видеокурсы. Таким образом, вы вникните в суть и дальше “плыть” будет легче.
4 Погрузитесь в сферу
Рекомендуем вам записаться на курсы разработки под iOS, где вы сможете начать программировать под руководством тренера - это один из самых эффективных способов.
С какого языка программирования начать?
Разработчики приложений для ios пишут на Swift и Objective-C. Советуем для начала освоить Swift - основной язык для iOS и постепенно учить Objective-C, который также понадобится вам для написания приложений и использования библиотек и ресурсов.
Если у вас есть опыт разработки на C++, это будет отличным преимуществом, поскольку “плюсы” прививают любовь к качественному продукту, принципам и то, что у мобайла ресурсы ограничены, вас не будет вводить в затруднение.
Требования компаний к iOS разработчикам начального уровня
Стандартно к Junior-разработчикам на iOS компании выдвигают такие требования:
- Xcode & Interface Builder
- CocoaTouch
- Использование CocoaPods
- Понимание MVC
- Push Notifications
- UIKit
- CoreData
- Опыт работы с библиотеками AFNetworking, Alamofire, RestKit
- Auto Layout
- Debugging в Xcode
- In-App Purchase
Если вы не использовали какие-то инструменты из этого списка, вас все равно могут принять на работу, но существуют “киты”, без которых никуда. Мы расскажем о наиболее важном.
Как получить работу на должность Junior iOS разработчик
Что необходимо сделать, чтобы соответствовать требованиям уровня Junior и получить должность “iOS разработчик”?
Во-первых, будьте уверены, что IT-компании заинтересованы в программистах начального уровня, которые в перспективе могут вырасти с помощью тим-лида. Спрос на iOS-разработчиков достаточно высок - с 2013 года он вырос в два раза, а конкурс на место вдвое меньше, чем среди разработчиков Android.
Что нужно знать о Swift, чтобы стать Junior-разработчиком?
Для того, чтобы попасть в IT-компанию, необязательно идеально знать Swift. Для должности джуна, вам нужны:
- базовые знания синтаксиса, классов, инициализации
- обработка ошибок
- знание логических выражений, операторов, циклов и массивов
Зачем программисту навыки пространственного мышления?
Это один из самых важных навыков для разработчика под iOS, который влияет на юзабилити приложений. Вам нужно понимать, как пользователи взаимодействуют с сервисами и как они выводятся на разных платформах.
Какие правила проектирования нужно освоить?
Разработчик под ios должен освоить MVC (Model-View-Controller) - определяет, как данные отображаются и обновляются для пользователя. А также паттерн делегирование - с его помощью вы сможете рациональнее переиспользовать код. Все это нужно для того, чтобы создавать интуитивно понятные пользователю приложения, что очень важно для его прибыльности.
Для чего iOS-developer’у нужно освоить GitHub?
GitHub - это отличный инструмент для изменения и отслеживания кода, когда над ним работают несколько разработчиков, также он не зависит от его местоположения.
Таким образом, вы будете обладать хостингом для кода, пользоваться историей изменений и сохраняться на локальном хранилище.
Советы от iOS разработчиков Artjoker
iPhone разработчик - это не просто программист, который идеально знает Swift и Objective-C. Вы должны смотреть на процесс разработки приложения шире и обладать необходимыми навыками для того, чтобы делать первоклассные проекты. Поэтому, кроме того, чтобы учить языки программирования, мы советуем изучить создание приложений в целом и начинать практиковаться:)
Например, один из наших разработчиков в начале своего пути ходил по разным собеседованиям на разные должности, переписывал вопросы, которые ему задавали и обучался самостоятельно: “Я считаю, что книги не помогают - они хороши, когда у тебя есть объем знаний и ты хочешь его структурировать. Поэтому лучше всего ставить цель, начинать с малого и двигаться.”
Для того, чтобы попасть в Artjoker, кроме навыков, описанных выше, нужно:
- Следовать принципам SOLID, DRY, YAGNI
- Использовать менеджеры зависимостей CocoaPods (Carthage)
- Хорошо понимать GIT flow
- Работать с базами данных (CoreData, SQLite или Realm)
- иметь опыт написания клиент-серверных приложений (знание AFNetworking, Alamofire, Apollo GraphQL приветствуется) работать с багтрекинговыми системами
Разработка мобильных приложений для ios - один из профилей команды Artjoker, так что развивайтесь, прогрессируйте и приходите к нам - наши тимлиды помогут вам вырасти в настоящих сеньоров:)
Если вы хотите узнать больше о жизни и работе в Artjoker, читайте "50 фактов о работе в Artjoker" и смотрите видео:)