Одна из самых востребованных профессий — разработчик приложений под iOS. Именно эти люди создают все программы для устройств Apple.
680 просмотров
Чтобы стать разработчиком, нужно пройти курсы — самостоятельно или с преподавателями и получением диплома. Плюсы самостоятельного формата: удобное время и бесплатное обучение. Но на платных курсах, особенно в признанных компаниях, вам будет предоставлен не только наставник, но и востребованный диплом и помощь в трудоустройстве.
Как выучить Swift и стать iOS-разработчиком: пошаговый план от roadmap до собеседований
Правда или вымысел: реально ли вкатиться в iOS-разработку за 8 месяцев?
Иллюстрация: Apple / Trello / Figma / Colowgee для Skillbox Media
Как стать iOS разработчиком в 2022 году бесплатно и без курсов / iOS разработчик с нуля
Мария Даровская
Журналист, коммерческий автор и редактор. Пишет про IT, цифровой маркетинг и бизнес.
Сайт: darovska.com.
Кирилл Дутов
iOS-разработчик, любит спорт, ведёт блог на YouTube и администрирует чат «Ждунчики в iOS». Интересуется фотографией, кулинарией, медициной и наукой.
Ссылки
Swift — это язык программирования от Apple, на котором разрабатывают мобильные приложения под iOS / iPad OS, десктопные под macOS и даже server-side-приложения. Раньше главным языком экосистемы Apple был Objective-C, но более современный Swift на его фоне выглядит понятнее и удобнее для старта в программировании.
Существует немало комьюнити iOS-разработчиков, где можно задать вопросы или понаблюдать за интересными дискуссиями, и куча событий — как независимых, так и корпоративных, а также куча учебных материалов, в том числе на русском языке. Всё это делает Swift отличным языком для новичков в IT.
Сам я чуть больше года занимаюсь коммерческой разработкой под iOS. Сначала работал в стартапе, а сейчас в банке. До программирования я сменил тринадцать профессий: продажи, стройка, копирайтинг, SEO в маркетплейсе, специалист по налогообложению, специалист по международной финансовой отчётности — кем я только не был.
И вот в очередной раз я захотел заняться чем-то новым — так я и выбрал iOS-разработку. Найти первую работу мне удалось через восемь месяцев упорной учёбы. Из них два я учился параллельно с работой, а оставшиеся шесть — корпел над курсами и книгами фул-тайм.
Расскажу, какой путь я прошёл, чему научился и как можно использовать мой опыт, если вы тоже хотите стать iOS-разработчиком.
1. Составьте план
Есть несколько разных способов. Вот основные: курсы, на которых вам будут помогать преподаватели, и самостоятельное обучение, когда вы будете много ошибаться, пропускать через себя кучу информации и страдать.
iOS программирование с нуля — часть 1
Второй путь сложнее и не всем под силу, но я выбрал именно его, потому что на рынке не было качественных курсов. Я предпочитаю охватить как можно больше источников, просеять всю информацию через себя, выбрать то, что мне понравится больше всего, и уже более предметно работать с выбранными ресурсами.
Чтобы выучить язык до того уровня, когда можно получить первую работу, необходимо составить чёткий план обучения — roadmap, дорожную карту. Весь первый месяц у меня ушёл на то, чтобы отобрать все открытые материалы, верхнеуровнево пробежаться по ним, отсеять то, что мне точно не подойдёт, оценить необходимое для изучения время и составить предварительный план.
Благодаря этому я смог поставить примерные сроки по каждой образовательной задаче, а потом, через год, структурировал всё с учётом полученного коммерческого опыта и упаковал в универсальный план:
Каждую карточку я подробно описывал, помещал в неё ссылки на материалы для изучения. И обязательно указывал, какое количество времени займёт изучение материала. Время я оценивал так: брал заявленную продолжительность курса и умножал её на три.
Однако важно планировать не только обучение, но и отдых. Перед началом учёбы советую посмотреть курс Learn how to learn на Udemy или почитать книгу «Думай как математик».
2. Запаситесь ресурсами
Понадобится время, чёткий план, финансовая подушка и инструменты для разработки. Разберём каждый компонент подробнее.
Время. Чтобы освоить необходимые для junior-позиции знания, понадобится примерно от 700 до 1000 часов. Если у вас есть качественное профильное образование, то при должном усердии вы сможете уложиться в два месяца, но лучше рассчитывать на полгода — это более реальный срок. Последние пару месяцев я рекомендую заниматься полный день и по возможности уволиться с работы.
Финансовая подушка. Так или иначе вам понадобится финансовая подушка. Я два месяца учился и работал одновременно, а потом ещё полгода занимался программированием дома в режиме фул-тайм — по 4–5 часов активного обучения в день.
Инструменты. Для обучения понадобятся макбук и айфон, потому что функциональность симулятора ограниченна (но iPhone можно взять чуть позже — на старте хватит среды разработки Xcode). Это тоже создаёт барьер для входа в профессию для ребят, которые не могут потратить 100–200 тысяч рублей (а теперь и гораздо больше) просто на то, чтобы попробовать новую специальность.
Но есть и хорошая новость — существуют онлайн-компиляторы (например, replit), в которых можно попробовать базовый синтаксис языка, плюс сам язык Swift и компилятор к нему можно установить и на Linux (версии под Windows нет) — правда, полноценные программы для iOS писать там не получится.
Это поможет соприкоснуться с языком и не остаться без денег с бесполезной дорогущей техникой, которая вам не нужна.
Ежедневное планирование. Я вёл списки задач в блокноте — составлял их на каждый день в соответствии с доской в Trello и личными планами. Вот как это выглядело. Выполненные задачи я вычёркивал или отмечал галочкой.
На моём примере можно увидеть, что я довольно часто не успевал выполнить все поставленные задачи — даже несмотря на то, что старался планировать всё максимально точно. Поэтому советую закладывать на обучение больше времени, если у вас есть такая возможность.
3. Читайте книги и решайте задачи
Для обучения есть фундаментальная литература, которая не стареет и не теряет актуальность. Однако вкатиться в разработку пытаются разные люди, и надо понимать, к какому типу вы относитесь.
Например, есть студенты МФТИ, Бауманки или других профильных вузов с сильной фундаментальной подготовкой — они могут учиться по более серьёзным книгам, глубже погружаться в предмет.
А есть взрослые мужчины и женщины, которые работали бухгалтерами или стояли у станка на заводе, — они могут вообще не иметь представления об IT. Им придётся учиться по более лёгким и базовым материалам.
Вот что я могу порекомендовать:
Основы Computer Science и программирования. Если раньше вы никогда не писали код, начинать лучше с основ программирования в целом. Например, посмотреть гарвардский курс CS50 или прочесть книгу «Код. Тайный язык информатики», чтобы понимать, как работает компьютер.
Книги по Swift. Рекомендую серию книг от Ray Wenderlich, серию книг от objc и книгу Programming iOS 14. Российские авторы тоже пишут про Swift — например, есть отличная книга Василия Усова. Но надо готовиться к тому, что 90% всех книг и статей по Swift выходят на английском языке. Современные переводчики помогут вам понять большую часть материала.
Видеокурсы. Советую видеокурс Алексея Скутаренко по Swift — там есть домашка и разборы домашних заданий других ребят. Если вы решите сразу пойти по сложному пути, то после курса по Swift смотрите курс Алексея по Objective-C — так вы дополнительно освоите язык, на котором всё ещё написано много кода в iOS-приложениях, и получите более глубокое понимание платформы.
Вводная лекция из курса Алексея Скутаренко
Официальная документация от Apple. Со временем вам обязательно придётся читать официальную документацию от Apple — и она написана на английском. Правда, существует и её неофициальный перевод на сайте swiftbook.ru. Там же вы найдёте базовые материалы по языку и даже курс по основам разработки на Swift.
Задачи. Одной только теорией не обойтись — обязательно нужно решать задачи. Начните с задачника по программированию на Swift от Владислава Самойлова, выполняйте упражнения уровня easy на LeetCode и тесты в приложении Swifty, придумывайте самостоятельно. Чем больше практики вы получите, тем лучше.
4. Разберитесь с Xcode и UIKit
Чему важно научиться:
- Работать с playground. Это можно сделать по курсам Скутаренко. А изучить основные модули Xcode и список горячих клавиш — по англоязычному туториалу.
- Разобраться с UIKit. Рекомендую курс от SwiftBook и курс от The Swift Developers.
- Работать с дебаггером, отладкой и View Debugger, Interface Builder.
- Создавать сниппеты. Рекомендую хорошую статью Ильи Школьника.
- Стоит разобраться, как работает жизненный цикл UIViewController. Сделать это можно по следующему видео:
- Создавать первые приложения. Начать можно с курсов SwiftBook «Мои первые приложения» и «Приложения на основе коллекций». А ещё в этот период стоит освоить нативную вёрстку.
- Можно освоить один из фреймворков: SnapKit, BoxView, TinyConstraints. А ещё важно разобраться, как работает Auto Layout, — сделать это можно с помощью книги Modern Auto Layout и статей.
- Из каких слоёв состоит иерархия view и что такое layer. Сделать это можно по книге iOS Core Animation: Advanced Techniques. Попробуйте самостоятельно комбинировать разные элементы UIKit и соединять их друг с другом. Помимо книги и курсов, не забудьте изучить официальную документацию по UIKit.
5. Научитесь работать с дизайном и консолью, изучите архитектуру ПО и Git
Попробуйте начать работать с Figma, Sketch, Zeplin. Следующим шагом будет изучение Apple Human Interface Guidelines for iOS — у него есть неофициальный перевод на русский язык.
На этом этапе можно освоить вёрстку экранов в Pixel Perfect, когда все размеры точно соответствуют макету. Сравнивать их можно, наложив два скриншота друг на друга и настроив прозрачность на скрине макета. Макеты можно брать на sketchappsources.com, а интересные макеты проектов для мобильных приложений — на Behance.
Также понадобится навык работы с командной строкой и Git. Учиться этому можно в игровой форме на следующих ресурсах: ostechnix.com, redhat.com, bashcrawl. По Git я рекомендую читать официальную документацию и проходить тренажёр learngitbranching.js.org. Важно уметь работать с Git в Xcode, а также освоить один из сервисов: GitHub, GitLab или Bitbucket.
После этого рекомендую погрузиться в архитектуру. Стоит разобраться с MVC, MVP, MVVM, VIPER. Про последний Rambler даже выпустил целую книгу. Чтобы закрепить понимание того, чем отличаются архитектуры, делайте учебные проекты.
6. Разберитесь с многопоточностью, принципами ООП и работой с сетью
Для работы с многопоточностью я рекомендую курс The Swift Developers «Multithreading в Swift с нуля»:
Курс «Multithreading в Swift с нуля»
На Stepik также есть русскоязычный бесплатный курс от «Авито». А в этом видео можно найти ответы на интересные вопросы:
Ответы на каверзные вопросы о многопоточности
После просмотра видео и прочтения статей, я советую попробовать воспроизвести изученные примеры самостоятельно.
Чтобы усвоить базовые принципы работы с сетью, рекомендую пройти на swiftbook.ru курсы «Работа С API» и Networking. Отдельно прочтите статьи про архитектуру REST, JSON, XML и изучите, как работает Codable — с помощью статей и официальной документации. Стоит также разобраться, как правильно работать с URLSession и Alamofire.
Следующим этапом попробуйте создавать простые приложения, которые будут выводить данные из API в TableView или CollectionView. Публичные API для этого можно взять на сайте apptractor.ru. Также посмотрите материалы про WebSocket и асинхронный веб и изучите сервисы-помощники, которые ускоряют создание моделей для парсинга.
Отдельная большая тема — основы ООП в Swift. Рекомендую посмотреть об этом видео и закрепить знания с помощью курса по паттернам. Также паттерны можно изучать на портале refactoring.guru и по книге «Паттерны проектирования» издательства O’Reilly. Подробные и интересные лекции есть у Тимофея Хирьянова.
Лекция Тимофея Хирьянова про ООП
Разобравшись, что такое SOLID, попробуйте написать примеры, которые нарушают принципы, а потом пофиксить ошибки.
7. Изучите алгоритмы и структуры данных, принципы хранения данных
Самая доступная по этой теме — книга «Грокаем алгоритмы». Пригодятся и примеры из книги Data Structures https://skillbox.ru/media/code/kak-vyuchit-swift-i-stat-iosrazrabotchikom-poshagovyy-plan-ot-roadmap-do-sobesedovaniy/» target=»_blank»]skillbox.ru[/mask_link]
Где научиться iOS-разработке: ТОП-20 Бесплатных Онлайн-Курсов с выдачей сертификата или без
Привет всем, друзья! ✌ Сегодня рассмотрим 20 Мощных онлайн-курсов для обучения разработке на IOS, которые можно пройти абсолютно бесплатно.
Взрыв мозга «Самый понятный гид по профессиям: iOS и Android-разработчик»
Концентрат полезной информации на 50+ страниц:
- Необходимые навыки
- Подборка бесплатных ресурсов
- Записи практикумов для начинающих
- Карьерный рост
- Зарплаты
- FAQ для новичков
- Сферы работы
- Лайфхаки
- Поймете, какие навыки необходимо освоить
- Узнаете, сколько сможете зарабатывать на старте — и через несколько лет
- Сможете примерить роль Android- или iOS-разработчика и написать работающий код — под руководством эксперта
1. itProger — «Уроки Swift»
Видеокурс состоит из 8 уроков, в котором простым языком объясняются основы SWIFT кодинга в программе Xcode для Apple OS. В ходе изучения курса, ты создашь мобильный шутер. Так сказать твоё первое портфолио. Однако выполнение больших заданий доступно лишь в платной версии продукта.
- Калькулятор на Swift / #1 — Создание дизайна
- #2 — Отображение данных на экране
- #3 — Математические операции
- iOS игра на Swift / #1 — Создание окружения
- #2 — Добавление врагов и физики
- #3 — Стрельба и уничтожение объектов
- #4 — Основной экран меню
На правах профессии «iOS-разработчик»
Что получает пользователь?
- 12 месяцев жаркого контента с отработкой навыков на тренажере по Swift для отработки алгоритмов и синтаксиса языка.
- 5 сквозных проектов по созданию приложений для портфолио
- 60 часов онлайн-мероприятий с ментором для разбора учебных тем и решения задач
- 50 написанных программ в ходе практических заданий и мини-проектов
- 3 хакатона по разработке в командах под руководством ментора
- Программирование
- Мобильная iOS-разработка
- Мобильная разработка PRO
- Фундаментальная база
- 5 приложений для портфолио
- Карьерная стратегия
- Упаковка и подготовка
- Вакансии и нетворкинг
- Трудоустройство
2. «Разработка под iOS. Начинаем»
Без выдачи сертификата
Обучающая программа: пользователи получат практические навыки в работе с фреймворком CocoaPods под Swift.
- Срок обучения: 4 ролика.
- Форма контента: лекции с возможностью выполнять задания от автора.
- Связь с преподавателем: нет.
- Оценка пользователей: подойдёт всем опытным пользователям.
- Обзор Swift Cocoapods Frameworks.
9. «Разработка под iOS. Начинаем»
С выдачей сертификата
Обучающая программа: курс охватывает основы разработки приложений iOS на языке программирования Swift.
- Использовать инструменты разработки, такие как XCode,
- Проектировать интерфейсы и взаимодействия, оценивать их удобство использования,
- Интегрировать информацию о камере, фото и местоположении для улучшения вашего приложения.
Для прокачки своих навыков, спикер создаст полнофункциональное приложение для редактирования фотографий для iPhone, iPad и Apple Watch.
- Срок обучения: 5 месяцев изучения контента.
- Форма контента: лекции с возможностью выполнять задания от автора.
- Связь с преподавателем: нет.
- Уровень подготовки: подойдёт всем пользователям.
- Introduction To Swift Programming
- iOS App Development Basics
- Проектирование и разработка приложений для iOS
- Build Your Own iOS App
11. «UIKIT с нуля»
С выдачей сертификата
Обучающая программа: если вы хотите дать своему пользователю эффективное и быстрое приложение на ios, то без многопоточности вам точно не обойтись. В курсе мы познакомимся с многопоточностью, начиная от самых низкоуровневых примитивов и заканчивая высокоуровневыми абстракциями. Мы рассмотрим практически все способы многопоточного программирования, в том числе малоизвестные.
В курсе вас ждут лекции, тесты, задачи, полезные материалы — все что нужно, чтобы разобраться!
И, конечно же, вы сможете поработать с кодом, который будет использован в курсе.
Уверены, что каждый участник почерпнет для себя что-то новое.
- Срок обучения: 11 роликов.
- Форма контента: лекции с возможностью выполнять задания от автора.
- Связь с преподавателем: нет.
- Уровень: подойдёт всем пользователям.
13. «Проектирование и разработка приложений для iOS»
Обучающая программа: на этом курсе пользователи смогут начать развивать базовые навыки программирования на IOS. Слушатель получит навыки для использования графики, сенсорного управления и жестов, анимации и переходов, предупреждений и действий в приложениях под операционную систему IOS.
- Срок обучения: 9 часов изучения контента.
- Форма контента: лекции с возможностью выполнять задания от автора.
- Связь с преподавателем: нет.
- Уровень: подойдёт всем пользователям.
- Welcome to App Design and Development for iOS
- User Interactivity
- Multiple View Controllers Networking
- Introduction to developing for watchOS 2
- Introduction to Developing for tvOS
- Peer Assessment
14. «Разработка приложений для iOS на Swift в Xcode»
С выдачей сертификата
Обучающая программа: этот курс предназначен для всех, кто хочет научиться разрабатывать приложения с использованием Swift и iOS.
На 4 курсах пользователь изучит темы, начиная с основ и заканчивая продажей приложений в магазине приложений. Эта программа предоставляет навыки, необходимые для продвижения карьеры программиста и поиска работы в области разработки приложений Swift и iOS.
- Срок обучения: 4 месяца изучения контента.
- Форма контента: видео + тесты + задания.
- Связь с преподавателем: нет.
- Уровень: подойдёт всем начинающим пользователям.
- Introduction to Programming in Swift 5
- Introduction to iOS App Development with Swift 5
- Tables, Data In-App Purchases
- Как настроить среду и разработать код на Swift 5
- Как выполнять различные вычисления и создавать приложения для iOS
- Как работать с данными в iOS, включая таблицы и сети
- Как монетизировать свои приложения с помощью встроенных покупок и подписок
18. «iOS App Development Basics»
С выдачей сертификата
Обучающая программа: обучение посвящёно изучению языка программирования Swift.
- Срок обучения: 6 часов изучения контента.
- Форма контента: видео + тесты + задания.
- Связь с преподавателем: нет.
- Уровень: подойдёт всем начинающим пользователям.
Начинка обучения
- Welcome to iOS App Development Basics
- Further Introduction to XCode
- UIKit and the Interface Builder
- Advanced UI Concepts
- Final Peer Assignment — App Functionality
Евгений Волик
¡Hola amigos! Здесь я выкладываю подборки с курсами для обучения разным профессиям с нуля. Проект существует с 2021 года и постоянно развивается.
Источник: evgenev.ru