Советы для тех, кто решил стать ios-разработчиком

Содержание

Чем занимаются IOS-программисты

Кратко перечислим, чем конкретно занимается iOS-разработчик:

  • Разрабатывает архитектуру, создает интерфейс приложений, продумывает функционал.
  • Добавляет сложные опции: анимацию, настройку геолокации, идентификацию по паролю, Touch ID и Face ID.
  • Проводит тестирование, устраняет недочеты у бета-версии (финального варианта приложения), ищет и исправляет ошибки.
  • Готовит техническую документацию для софта.
  • Публикует приложения в App Store, решает спорные вопросы, связанные с загрузкой ПО.
  • Создает обновления, дорабатывает программу под требования пользователей, добавляет новые функции.

Обязанности iOS-программиста зависят от его квалификации. В мобильной разработке есть градация специалистов в зависимости от опыта, навыков и степени ответственности:

  • Junior – начинающий разработчик, который программирует на Swift не дольше 6-12 месяцев. Обычно ему поручают несложные и рутинные задания, которые проверяют более опытные коллеги. Его редко допускают до написания кода, который будет применяться в финальной версии проекта.
  • Middle – программист с опытом от 3 лет, который может самостоятельно решать задачи разной степени сложности, умеет создавать программы и приложения с нуля. Такой специалист знает языки программирования Objective-C и Swift на продвинутом уровне, пишет чистый лаконичный код, который не нуждается в тщательной проверке.
  • Senior – профессионал с опытом от 5-7 лет, который выполняет в IT-команде роль технического директора, а нередко – и тимлида. Он создает концепцию проекта, определяет стек технологий, которые будут использоваться в разработке, ставит задачи, распределяет обязанности между исполнителями, контролирует работу, отвечает за конечный результат.

Подборка курсов
Все онлайн-курсы по IOS-разработке в 2021 году
Посмотреть подборку

Средняя зарплата iOS-разработчика в России в 2021 году

Средняя зарплата iOS-разработчика в России в 2021 году превышает 100 000 рублей. На уровень дохода влияют:

  • Опыт работы. Большинство работодателей ищут специалистов со стажем около 3 лет. На сайте HeadHunter более 1000 вакансий для iOS-программистов, из них почти 700 – для разработчиков с опытом от 1 до 3 лет.
  • Квалификация. Средняя заработная плата на должности Junior iOS-developer – 60 тысяч рублей, на должности Senior iOS-developer – превышает 140 тыс. руб.
  • Город. Программисты, которые работают в московских и питерских компаниях, зарабатывают больше, чем айос-разработчики из других регионов.
  • Форма занятости. Заработок штатных работников выше, чем у фрилансеров, так как помимо оклада первые получают корпоративные бонусы и премии.

Ниже расскажем подробнее, сколько платят iOS-разработчикам в крупных городах России.

Обязательно рекомендуем ознакомиться с онлайн-курсами по IOS-разработке от всех онлайн-школ.

Москва

На HeadHunter опубликовано более 450 вакансий для iOS-программистов, свыше 150 из них – это удаленная работа. Наиболее востребованы специалисты в следующих отраслях: информационные технологии, телеком, банковский сектор.

Минимальную зарплату в размере 50 000 руб. предлагают разработчику без опыта в IT-компании, максимальную – 7000 долларов (примерно 520 тыс. руб.) на должности Senior iOS-Developer в стартапе (дистанционная работа).

Средняя зарплата iOS-разработчика в Москве:

Junior от 50 000 до 120 000 руб.
Middle от 50 000 до 300 000 руб.
Senior от 70 000 до 520 000 руб.
Удаленка от 50 000 до 420 000 руб.

Другие регионы

Для статистики по зарплатам мы выбрали Санкт-Петербург, Новосибирск, Казань и Нижний Новгород, так как в этих городах больше всего вакансий для iOS-программистов.

Минимальный оклад в 40 тыс. руб. предлагают разработчику без опыта, но с базовым знанием Swift в Новосибирске. Максимальная заработная плата в размере 420 тыс. руб. указана в вакансии на должности «Senior iOS/Swift-developer» от компании по производству стриминговых сервисов в СПб.

Сколько зарабатывают разработчики приложений на iOS в разных регионах России:

Город Санкт-Петербург Новосибирск Казань Нижний Новгород
Junior от 50 000 руб. от 40 000 до 60 000 руб. до 50 000 руб. до 60000 руб.
Middle от 50 000 до 300 000 руб. от 40 000 до 250 000 руб. от 50 000 до 160 000 руб. от 80000 до 160 000 руб.
Senior от 90 000 до 420 000 руб. от 80 000 до 390 000 руб. от 170 000 до 300 000 руб. от 160 000 до 240 000 руб.
Удаленка от 55 00 до 420 000 руб. от 56 000 до 300 000 руб. от 90 000 до 300 000 руб. от 80 000 до 200 000 руб.

Зарплата iOS-программиста в Сбербанке

Согласно вакансиям на HeadHunter, Сбербанку требуется около 50 iOS-программистов в следующие проекты:

  • Private Banking.
  • Бизнес.
  • Социальные сервисы.
  • Зарплатный проект.
  • Инвестирование.
  • Вклады.
  • Приложение для iPad.
  • Виртуальный помощник.

Сказать достоверно, сколько зарабатывают iOS-программисты в Сбере, трудно, так как в большинстве вакансий зарплата не указана. Сумма обсуждается индивидуально с каждым кандидатом на собеседовании и зависит от опыта, квалификации, а также предыдущих мест работы. Примерные цифры мы собрали в таблице:

Должность Зарплата iOS-разработчика в Сбербанке Требуемый опыт работы
IOS разработчик до 200 тыс. руб. от 1 до 3 лет
Senior IOS-developer (для голосового ассистента) до 270 тыс. руб. от 1 до 3 лет

От идеи до выпуска в свет, как действовать разработчику

Ниже мы составили пошаговую инструкцию как происходит ios разработка и как создать игру на ios с нуля, с чего начать человеку мечтающему научиться создавать мобильные приложения от идеи до реализации и продвижения.

Идея

Приложения изменили нашу жизнь. Сейчас уже очень сложно представить мир без Facebook, Twitter, WhatsApp и прочего. Всем хочется стать следующим Марком Цукербергом, но нужно смотреть в глаза реальности. Так или иначе объективная действительность не помешает вам придумать что-то оригинальное.

Подумайте для кого вы хотите сделать приложение. Изучите известные приложения на рынке AppStore или даже GooglePlay. Помогите людям с какой-то проблемой. Решением будет ваше приложение.

Выбор инструментов

Существует множество средств разработки, которые позволяют создавать собственные мобильные приложения. Например:

  • Xamarin — это фреймворк для кроссплатформенной разработки мобильных приложений для платформ iOS, Android и Windows Phone. Подойдет в случае отсутствие Mac или если требуется разработка сразу на несколько платформ;
  • NativeScript — это фреймворк с открытым исходным кодом, разрабатываемый компанией Telerik. Поддерживает множество языков.
  • Swiftic — это конструктор для разработки приложений под iPhone. Он имеет простой в плане навигации интерфейс, который позволяет любому создать приложение. Более простое решение для людей, не разбирающихся в коде и профессиональной разработке.

Всех инструментов не перечислить — пробуйте каждое на практике и ищите новые.

Разработка

Разработка ios приложений с нуля — самый важный пункт, состоящий из нескольких этапов:

  1. Проектирование прототипа;
  2. Составление технического задания;
  3. Разработка первого релиза продукта;
  4. Тестирование и отладка.

Сложность зависит от задумки, а также правильно выбранных инструментов. Советуем сразу определится со своим «арсеналом» разработчика.

В случае технически сложного проекта ожидайте большого количества ошибок в программном коде (даже если приложение выстраивалось через фреймворк). Времени на проект может уйти намного больше. Вплоть до полугода, чтобы профиксить все баги. Наберитесь терпения в этом случае, и ваши ожидания будут вознаграждены.

Публикация

Как только рабочий прототип готов настала пора показать его людям Для этого нужно:

  1. Зарегистрировать аккаунт разработчика Apple (99 долларов в год);
  2. Завести ID разработчика на сайте https://developer.apple.com/register/, а также ID приложения;
  3. Далее переходите на https://appstoreconnect.apple.com/ в раздел «Мои Приложения». Нажимайте на «+» чтобы добавить приложение;
  4. Заполняете технические данные включая название приложения. По итогу ваше приложение появится в списке;
  5. На этом еще не все. В App Store для добавления программы нужно заполнить все данные: название, категорию, цену и т.д. Помимо этого необходимо добавить скриншоты, чтобы пользователь видел приложение на наглядном примере;
  6. Добавьте обработанную сборку и, наконец, отправьте все на проверку. Занимает это обычно около двух дней.

Заблуждения об iOS-разработке

Чем сложнее код, тем лучше приложение. Зачастую разработчики приложений на iOS считают фреймворки Apple слишком простыми и пытаются создать что-то с нуля, тратя много времени на обдумывание сложной архитектуры и разработку новых концепций. На самом деле не нужно изобретать велосипед. Все фреймворки были созданы опытными разработчиками: они точно знают, что будет работать, а что — нет.

Разработчик на iOS не может переквалифицироваться и разрабатывать приложения для Android. Если у программиста уже есть навык, он вполне может перейти на другую ОС и помимо Swift выучить Java или Kotlin либо заняться кроссплатформенной разработкой.

Краткий порядок работ

Популярность мобильных приложений растет с каждым годом. Если вы уже задумались о мобильном приложении и  как заработать на мобильном приложении,то сейчас самое время заказать разработку мобильного приложения — удобный, быстрый и бесконтактный сервис будет как никогда полезен в ближайшие годы.

Обсуждение и подготовка

Несколько шагов, которые необходимо выполнить перед разработкой приложения:

  • Получите идею или проблему. Если у вас уже есть идея для приложения, переходите ко второму шагу. Все продукты и услуги, которые используются, были созданы для решения разных проблемы. Ищите проблемы в своей повседневной жизни. Как только у вас будет исчерпывающий список, начните думать о том, как вы можете решить их, разработав мобильное приложение.
  • Определите потребность. Посмотрите нет ли подобных приложений на рынке.
  • Выложите детали. Подробно изложите свою идею на бумаге. Это поможет разработчику четко понять ожидания.
  • Удалите не основные элементы.
  • Уделите больше времени дизайну. Дизайн — это не только то, как выглядит ваше приложение, но и то, как его воспринимает пользователь.
  • Найдите профессиональную команду.
  • Получайте обратную связь и импровизируйте. Следите за отзывами пользователей и улучшайте приложение.
  • Обновляйте и добавляйте новые функции.

ТЗ — Техническое задание

Благодаря техническому заданию (ТЗ), в котором подробно описаны функциональность и дизайна будущего приложения, команда дизайнеров и разработчиков четко понимает, какую услугу хочет получить заказчик, и постепенно реализует оригинальную идею.

Что входит в ТЗ:

  • описание функциональности приложения;
  • описание внешнего вида и пользовательского опыта;
  • проектная смета.

UI и UX дизайн

Основой для разработки приложения является дизайн UX и ui интерфейсы.

UX-дизайн (англ. user experience) – буквально означает «опыт пользователя», в широком смысле это понятие включает в себя весь опыт, который пользователь получает при взаимодействии с приложением.

UI дизайн, User Interface (дословно «пользовательский интерфейс») – то, как выглядит интерфейс и какие физические свойства он приобретает. Он определит, какого цвета будет внешний вид, удобно ли попасть пальцем в кнопки, будет ли текст читабельным и другое.

Сама разработка

Мобильное программирование с чего начать — один из основных этапов. Написание кода любого приложения делится на frontend и backend.

На бэкэнд этапе разрабатывается серверная часть приложения — она отвечает за передачу данных между пользователями или ресурсами.

Тестирование и публикация

На разных этапах разработки тестирование приложения обязательно, как на симуляторах, так и на реальных устройствах. Цель тестирования — убедиться, что взаимодействие приложения с аппаратно-программной платформой смартфонов и планшетов происходит именно так, как ожидалось на этапе прототипирования.

Перед запуском важно досконально изучить правила магазинов приложений и подготовить скриншоты сайта, маркетинговый план и описание. После загрузки магазины проверят всю информацию, актуальность проекта и дадут заключение: опубликуют они приложение или нет

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

iOS SDK

Многие джуниор-разработчики делают большую ошибку — начинают распыляться на мини iOS-фреймворки, например, работу с локацией, пуши, анимации и тому подобное. Я настоятельно рекомендую этого избегать. Все эти технологии точечные, похожие между собой и разнятся для отдельно взятого проекта.

Моя рекомендация — сфокусироваться на ключевых технологиях: уметь верстать и знать, как это работает. Тогда подхватить любую из этих технологий займет меньше недели. Интервьюер понимает, что если есть хороший Core, то выучить новую iOS-технологию легко.

Сейчас набирает популярность SwiftUI, но я бы его учил в последнюю очередь и чисто для саморазвития. Аргумент тот же: хороший уровень знания Core, значит, фрейм выучить легко.

Также рекомендую использовать подход «до меня это было сделано 100 раз» и всегда искать готовые решения. С таким подходом вы сможете посмотреть реализацию более опытных людей и разобраться в теме.

Вопросы по iOS SDK

Верстка. На каждый ответ должен быть пример, как делать/не делать.

  • Что такое compression resistance and hugging priority.
  • Отличие frames от bounds?
  • Как верстать с помощью кода? Использовали какие-то библиотеки (snapkit)? Минусы/плюсы?
  • Что используете для верстки — storyboard, xib? Какие минусы у такого подхода?
  • Можете привести примеры создания custom views? Когда их используете?
  • Как работаете с навигацией в проекте? Как открываете следующий экран? К примеру, нужно закинуть uiviewcontroller в navigation stack или презентовать, как лучше реализовать?
  • Работа uicollectionview/uitableview. Какие делегаты используются? Как оптимизировать перформанс?

Application Lifecycle

  • Какой жизненный цикл есть в приложении?
  • Что произойдет с приложением, если вам позвонят?

UIViewController lifecycle

  • Опишите очередность вызова методов при появлении экрана.
  • За что отвечает viewDidLayoutSubviews?

База данных и хранение данных. Realm/Core Data/UserDefaults

Опционально можно разобраться с Realm или Core Data для понимания, как работать со сложной структурой данных. Я бы рекомендовал Realm, так как ниже порог входа и более современный функционал. В будущем нужно выучить и Core Data.

  • Как можно хранить данные?
  • Как хранить пароли юзера?

Как начать?

Если у вас нет компьютера на macOS, то можно попробовать кодить на Swift на виртуалке. Это можно сделать, скачав на официальном сайте языка GNU/Linux (операционные системы на основе ядра Linux и системных библиотек GNU) с установленным Swift (есть официальные пакеты под Ubuntu, CentOS и Amazon Linux). Другой вариант — скачать на GitHub Windows с неофициальным пакетом Swift for Windows. Среду для разработки Apple XCode можно загрузить с официального сайта Apple. Однако, чтобы полноценно собирать приложения, все-таки понадобится техника Apple.

Пошаговый план для новичков:

  • освоить общие принципы разработки — выучить основные функции и переменные, уметь разделять текст программы на файлы, а также знать основы объектно-ориентированного программирования;
  • научиться создавать интерфейс приложения на основе макета;
  • разобраться, как обработать данные — в частности, в формате JSON (текстовый формат обмена данными, основанный на JavaScript). Информацию об этом можно поискать, например, на Хабре;
  • научиться создавать и использовать протоколы и подключать базы данных к приложению. В качестве базы данных можно, например, использовать MySQL. Для этого потребуется установить сервер, а также программу WorkBench, которая позволяет управлять базой данных при помощи удобного графического интерфейса;
  • изучить архитектурные подходы;
  • научиться пользоваться репозиториями в Git — как это сделать, можно посмотреть, например, здесь;
  • попробовать выложить первое приложение в AppStore.

Можно учиться разработке самостоятельно — для начала пройти вводные бесплатные курсы на Coursera.

Либо можно записаться на курс iOS-разработки SkillFactory и изучить все аспекты от программирования до фреймворков и релиза.

Курс

iOS-разработчик с нуля

Получите перспективную профессию: освойте с нуля программирование на Swift, мобильную разработку и UX/UI для iOS. Скидка 5% по промокоду BLOG

  • 12 месяцев обучения на практике
  • Помощь в трудоустройстве
  • Трансформация карьеры

Получить скидку Промокод “BLOG10” +5% скидки

Правда ли, что у Apple очень строгие гайды?

Да, интерфейсы на iOS можно создавать только по гайдлайнам, разработанным Apple. В противном случае приложение может не пройти проверку при публикации в AppStore.

В Apple очень щепетильны к дизайну. Например, в приложениях на iOS используется динамический размер системного шрифта — пользователю не нужно менять его, это делается автоматически. Также в компании рекомендуют делать дизайн максимально функциональным, избегая лишних «украшений», а также различных градиентов и падающих теней. С одной стороны, строгий гайдлайн ограничивает разработчика. Но с другой — компания постоянно обновляет инструкции и делает их максимально подробными, поэтому новичку будет проще ориентироваться.

Старший фронтенд-разработчик

В этой категории (Senior Front-end Developer) в новом рейтинге HeadHunter есть две вакансии. Первая принадлежит компании Ortnec с головным офисом в США. Зарплата составляет от 4000 евро до 5000 евро (от 357,1 тыс. руб. до 446,4 тыс. руб.). Заниматься придется «разработкой новой world-wide платформы для пользователей, где они смогут получать медиа-контент и общаться».

Данная вакансия предполагает в первую очередь необходимость переезда, и не в другой российский город, а на Кипр, где у компании находится один из офисов. При этом, напомним, сама вакансия открыта в Москве, а в описании указано, что есть возможность удаленной работы.

Соискатель на эту должность в Orntec должен как минимум шесть лет работать в профессии также от него требуются глубокое понимание JavaScript, опыт работы с TypeScript, React (hooks, router), MobX, понимание основных принципов программирования (DRY, DI etc), значительный опыт работы с REST API/оптимизации обращений в api/работа с race condition, плюс ему необходимо иметь понимание принципов работы веб-сайтов и базовых концептов информационной безопасности.

Старшего фронтенд-разработчика (с упором на React и JavaScript) ищет и сам HeadHunter. Ему нужен специалист в технический департамент для работы над frontend-частью проекта. Он предлагает ему зарплату от 260 тыс. руб. (до вычета налогов) и взамен требует от соискателя знаний JavaScript на высоком уровне, понимания CSS, Node.js, Python или другого серверного языка, а также умения работать в Unix-окружении.

Как и где научиться профессии?

Для опытного программиста, который хочет освоить новое направление, не составит труда обучиться профессии iOS-разработчика самостоятельно. Помогут в этом специальные книги по теме iOS-разработке.

А вот для новичков в программировании лучшим вариантом будет обучение на специализированных курсах, но для этого не нужно поступать в вуз или уходить с основной работы. Обучение на онлайн-курсах не требует кардинального изменения в  режиме, их можно совмещать с основной работой и заниматься в удобном для каждого темпе.

Предлагаю рассмотреть несколько актуальных на сегодня учебных программ:

1. «Факультет IOS-разработки» от GeekBrains

GeekBrains – онлайн-платформа для обучения в области программирования, веб-дизайна и маркетинга. На рынке более 6 лет.

  • Чему научитесь: изучите языки Swift и Objective-C; сможете создавать мобильные приложения, проектировать интерфейсы, писать чистый код; узнаете как работать с заказчиками; познакомитесь с основами ООП; сможете работать с системой GIT.
  • Формат обучения: онлайн, по 2 раза в неделю; всего 240  учебных часов, а также 456 часов практических занятий, плюс живые вебинары еженедельно.
  • Длительность обучения: около 1,5 лет.
  • Преимущества курса: 7 готовых проектов в портфолио; дополнительные методички к каждому уроку; обучение с нуля до уровня Junior; карьерные консультации и подбор вакансий; много практики; постоянная помощь куратора; обучают эксперты-практики; участие в командном проекте; диплом о профессиональной подготовке.
  • Кому подойдет: новичкам в разработке, начинающим специалистам и программистам с опытом.
  • Стоимость: около 175 000 рублей за весь курс или в рассрочку от 4 847 рублей, сроком до 36 месяцев.

2. «Профессия IOS-разработчик» от SkillBox

Онлайн-университет удаленных профессий SkillBox – участник государственной программы Skolkovo. Обладатель премии Рунета в области дистанционного обучения за 2018-2020 годы.

  • Чему научитесь: разрабатывать мобильные приложения под устройства Apple на языке Swift и делать их максимально эффективными; проектировать интерфейсы; освоите многопоточность.
  • Формат обучения: видео уроки, самостоятельная работа с проверкой преподавателем, работа над ошибками, участие в групповом проекте; защита диплома; всего 39 тематический модулей, в которые входят 300 уроков; для обучения необходим MacBook или другой девайс на основе macOS.
  • Длительность обучения: около 1 года.
  • Преимущества курса: отсрочка платежа на 6 месяцев; участие в командном проекте; обучение на практике; карьерные консультации и помощь в подготовке и составлении резюме.
  • Кому подойдет: новичкам в программировании, начинающим разработчикам и специалистам смежных направлений.
  • Стоимость: от 7 820 рублей в месяц с отсрочкой первого платежа до полугода;  единовременно за весь курс – около 100 000 рублей.

3. «IOS-разработчик с нуля»от Нетологии

Нетология – онлайн-университет современных профессий на базе Сколково. Помогает освоить новую специальность или развиваться в своей текущей профессии. На рынке с 2011 года.

  • Чему научитесь: узнаете как работать с анимацией, звуком и видео; освоите фреймворк Core Data; сможете создавать сложные приложения, которые учитывают возможность идентификации пользователей и настройки геолокации; изучите язык программирования Swift.
  • Формат обучения: видеоуроки в записи; практические задания с проверкой и подробным разбором; сопровождение куратора; стажировка в компании-партнере; обучение возможно только на продуктах от Apple.
  • Длительность обучения: около 10 месяцев.
  • Преимущества курса: диплом о профессиональной подготовке установленного образца; 3 крупных проекта в портфолио; приглашение в московский офис red mad robot; поддержка ментора и карьерные консультации с HR-специалистом; преподаватели – разработчики ведущих компаний; курсовой проект – программа прогноза погоды, дипломный проект – приложение  ВКонтакте; есть возможность оформить налоговый вычет.
  • Кому подойдет: новичкам в программировании, которые хотят сменить профессию; начинающим специалистам; веб-разработчикам.
  • Стоимость: 117 900 рублей единовременно или в рассрочку по 3 930 рублей сроком до 18 месяцев.

Базовые требования к профессионалу

  • Android: знание Android SDK, Java, Kotlin, Scala (в меньшей степени), Rest/SOAP, различные API, SQLite и т.д. 
  • iOS: Objective-C, С#, Swift, знание Apple Development Guidelines
  • знание структур и алгоритмов
  • знание принципов ООП (к которому и относится Java, Objective-C, Swift)
  • понимание принципов дизайна и проектирования мобильных приложений
  • знание сетевых протоколов
  • знание SQL
  • навыки работы с App Store и Google Play
  • навыки работы с многопоточностью (всё чаще)
  • Flutter (бешено растёт популярность)
Стажёр (Intern) Младший (Junior) Средний (Middle) Старший (Senior) Ведущий (Lead)
  1. Разработка под Android
  2. C#
  3. Java
  1. Разработка под Android
  2. Kotlin
  3. Java
  4. Swift
  5. Разработка под iOS
  1. Разработка под Android
  2. Swift
  3. Kotlin
  4. Разработка под iOS
  5. Java
  1. Swift
  2. Kotlin
  3. Разработка под iOS
  4. Разработка под Android
  5. Java
  1. Разработка под Android
  2. Kotlin
  3. Разработка под iOS
  4. Swift
  5. Objective-С

Топ-5 востребованных технологий у специалистов по данным «Хабр Карьеры», 2 полугодие 2019 года

Собеседования

«Первое собеседование прошло по скайпу. На мое удивление это был Google», вспоминает Борис, — «тогда я только переехал в Питер и начал искать работу. Мне пришел отклик на вакансию iOS разработчика. Не джуниор, не мидл, не синьор — просто разработчик. Я обрадовался, начал переписываться с менеджером. Меня попросили выполнить техническое задание: надо было написать приложение для шуток про Чака Норриса. Я его написал. Мне сказали, что все классно и назначили онлайн собеседование.

Мы созвонились. Со мной общалась приятная девушка. Но никаких вопросов про знание языка не задавали — только разные логические задачки, например, „Время 15:15 сколько градусов между часовой и минутной стрелкой?“ или „Столб 10 метров, улитка днем ползет 3 метра вверх, ночью спускается на 1 метр. Через сколько дней она доползет до верха?“, и еще парочка подобных. 

Потом были совсем странные вопросы — за что я люблю Apple и как отношусь к Тиму Куку. Я сказал, что к компании в целом — положительно, а к нему скорее отрицательно, потому что ему важны деньги, а не продукты. 

Когда начались вопросы про Swift, моих знаний хватило только на паттерны программирования и основы ООП. Мы распрощались, через неделю мне перезвонили и сказали, что я не подхожу. Собственно, я из этого извлек огромный опыт: нужны знания, их нужно много — и теория, и практика».

Андрей рассказывает, что «первая вещь, которую у всех спрашивают на собеседовании — это жизненный цикл контроллера. Очень любят спрашивать какой-нибудь простенький паттерн программирования. Обязательно спросят про опыт использования популярных библиотек. Точно будет вопрос про отличия в Swift Value Types от Reference Types, про Automatic Reference Counting и управление памятью. Могут спросить, как реализовывали хранение данных в приложениях, и реализовывали ли сетевые запросы. Спросят про основы REST и JSON. Специфические вещи и тонкости у джуниора не будут спрашивать. По крайней мере я не спрашиваю».

У Бориса же был иной опыт: «Даже когда я просился на стажировки, выполнял технические задания и говорил, что мне не важна зарплата, лишь бы ее хватало на съем квартиры — мне все равно отказывали. Я читал статьи, пытался понять, что нужно рекрутеру от новичка. Но заваливали в основном на теории. Почему-то задавали вопросы из высшей лиги, которые не касаются новичков». 

Марату повезло больше. Сейчас он работает в транспортной компании и один отвечает за iOS направление, продолжая учебу на факультете. «Поскольку за iOS отвечаю я один, мой труд оценивается только умением реализовать поставленные передо мной задачи ».

Настройка проекта, сборка и выгрузка

Откройте проект вашего приложения в XCode, перейдите к настройкам проекта. Необходимо, чтобы Bundle Identifier совпадал с BundleID, который вы указали при создании AppID. Также необходимо отключить функцию автоматического управления подписыванием в XCode. В выпадающем списке Provisioning Profile выберите тот, который недавно создали.

Обратите внимание: без всех необходимых иконок (в том числе иконка для магазина со стороной 1024 точки) сборка приложения не пройдет автоматическую проверку в iTunes Connect. Теперь проект можно собрать и отправить в iTunes Connect

Для этого нужно нажать меню Product — Archive. По итогу сборки будет показано окно органайзера XCode, нажмите там кнопку «Upload To App Store»:

Теперь проект можно собрать и отправить в iTunes Connect. Для этого нужно нажать меню Product — Archive. По итогу сборки будет показано окно органайзера XCode, нажмите там кнопку «Upload To App Store»:

Открывается окно настроек выгрузки в App Store. Подробнее про bitcode, symbols stripping. Оставляем настройки без изменений.

На следующем шаге нужно выбрать provisioning profile из выпадающего списка подходящих:

Затем XCode подготовит архив для выгрузки в iTunes Connect

На этом экране обратите внимание на те параметры, что мы установили. Нажмите Upload

В зависимости от скорости соединения нужно будет подождать некоторое время. Если все в порядке, XCode сообщит об успешном завершении выгрузки в iTunes Connect. Можно переходить к последнему этапу.

Где найти iOS-разработчика на проект?

  1. Если вам нужен специалист на разовый проект или удаленную работу, добавьте вакансию в наш сервис www.kadrof.ru/work. Сервис бесплатный, вакансии из него просматривают тысячи фрилансеров ежедневно.
  2. Посмотрите каталог мобильных разработчиков. В нем вы найдете резюме программистов с разным уровнем опыта и расценками.
  3. Посмотрите статью, где найти хорошего программиста. Там находится подборка полезных сайтов для размещения вакансий.

Рекомендуем

Профессия Java разработчик

В мире около 10 млн. разработчиков на Java, и постоянно требуются новые специалисты. Это связано с популярностью языка программирования. Его …

Профессия дизайнер полиграфии

Работа дизайнером полиграфии – это творчество и нелегкий труд, требующий от человека полной отдачи сил. Часто на «вольные хлеба» в области дизайна …

Как стать iOS разработчиком, что нужно знать и уметь?

Список знаний и навыков может быть очень длинным. Ниже мы укажем основные знания, необходимые новичку для получения работы:

  1. Знать язык программирования Swift. Плюсом будет знанием Objective-c, поскольку многие приложения еще разработаны на этом языке и продолжают на нем поддерживаться. Научиться писать код на Swift можно на онлайн-курсах, например, в Skillbox.
  2. Уметь разрабатывать приложения в среде Xcode. Говоря простым языком, среда Xcode – это специальная программа, созданная Apple для разработки приложений. Стабильные версии распространяются бесплатно.
  3. Уметь использовать iOS SDK (комплект средств разработки).
  4. Знать концепцию MVC.
  5. Знать формат JSON для обмена данными.
  6. Уметь использовать систему контроля версий, например, Git.
  7. Знать, что такое жизненный цикл приложения.
  8. Знать принципы и правила создания адаптивных интерфейсов.
  9. Знать принципы ООП (объектно-ориентированное программирование).
  10. Знать протокол HTTP, XML.
  11. Знать SQL.

Список кажется большим, однако если плотно погрузиться в тему, то во всем можно разобраться достаточно быстро. По крайней мере на базовом уровне.

Какие нужны софт-скилы?

Рассказывает Алексей Усанов:

Общаться с коллегами и решать конфликты: «Софт-скилы — это важная вещь. Ты можешь быть подкованным и умным, но если не можешь найти общий язык с командой, то грош цена твоим знаниям и умениям. Бывает, что приходит молодой, активный и веселый разработчик. Он все знает и умеет, очень талантливый. Но он может работать только один, не умеет найти общий язык с командой. Поэтому он будет решать только свои узкие задачи и не сможет расти дальше».

Корректно указывать другим на ошибки: «Часто люди думают: “Зачем мне лезть?” Но есть и те, кто, наоборот, слишком резко говорит об ошибках других — это тоже нехорошо».

Ловить дзен и спокойно принимать критику: «Если ты молодец и умеешь общаться — здорово, но это не значит, что твой коллега тоже будет тактичен и корректен. Нужно уметь принимать такие вещи, это не должно мешать работе», — говорит Алексей.

Факторы от которых зависит итоговая стоимость создания приложения

Итоговая стоимость зависит от разных факторов. Учитывают пожелания заказчиков, функциональность и тип приложения, команда разработчиков, стоимость их услуг и многое другое. На самом деле можно составить значительный список вещей из которых складывается цена на разработку приложения:

  1. Сложность проекта — функциональность. Функциональность оказывает наибольшее влияние на общую стоимость: обычно от 60 до 80% от общей стоимости разработки, в зависимости от проекта. Одними из самых сложных и дорогостоящих являются реализации, которые предполагают дополнительные и высокотехнологичные новые инструменты.
  2. Тип и число платформ. При желании сделать приложение на несколько оперативных систем, не при недостатке денег на разработку кастомного приложения, можно рассмотреть возможность кросс-платформенных приложений. Если вы хотите разработать более конкурентноспособное и высококачественно приложение, то стоит остановиться на нативном приложении.
  3. Внутренняя инфраструктура (backend) и API. Введение стороннего сервиса способно повысить итоговую цену.
  4. Защита. Приложение создается с возможностью отслеживания подозрительных действий, несанкционированной активности, поиск уязвимости и других защитных функций. Добавление данных функций влияет на цены и значительно ее увеличивает.
  5. Тестирование и исправление ошибок. Этап тестирования необходим на всех этапах разработки. Он необходим для достижения идеальной работы программы.
  6. Количество экспертов, участвующих в проекте. Имеет огромное воздействие на итоговую цену.

Если вы не хотите создавать игру или какое-то уникальное по своим функциям приложение, то легко можете воспользоваться специальными конструкторами мобильных приложений онлайн. Для создания можно найти тысячи подобных сайтов, которые не требуют от пользователя никаких навыков программирования. Результат может быть полностью использован для работы с клиентами и даже опубликован в app store или других магазинах. С помощью конструктора можно создать простое мобильное приложение дешево или даже бесплатно.