ДОРОЖНАЯ КАРТА IOS-РАЗРАБОТЧИКА

путь от начинающего до профессионала

обучение swift

Решили стать разработчиком под iOS или macOS? Решили стать частью сообщества? Не знаете с чего начать изучение языка программирования Swift? Интернет полон рекламы курсов, книг, статей и другого материала, а вы не знаете что выбрать? Тогда эта статья именно для вас!

Расскажем вам о первых шагах, которые предстоит пройти, прежде, чем вы научитесь реализовывать свои идеи в виде первоклассных (и безусловно популярных в будущем) приложений для "яблочной" платформы, будь то iOS, iPadOS, watchOS, tvOS или macOS. Путь от мысли до ее реализации может быть вовсе не долгим, и при этом очень интересным. Правда это возможно только в случае, если вы четко знаете куда идти, представляете конечную цель и у вас есть план ее достижения.

Ваша ближайшая задача - получить весь объем необходимых знаний и опыта, чтобы гордо носить звание Junior Swift Developer.

Шаг 1. Компьютер mac

Оригинальный компьютер с операционной системой macOS - это, своего рода, входной билет в разработку на Swift. Да, конечно вы можете использовать и компилятор под Linux/Windows, разрабатывать на "хакинтоше" (неоригинальный mac) или iPad, но достаточно комфортной разработка станет только когда у вас появится собственный iMac или MacBook.

При выборе компьютера обращайте внимание на:

  1. Размер дисплея. Тут все исключительно на ваш вкус.
  2. Объем оперативной памяти. Старайтесь, чтобы ваш мак включал не менее 16 ГБ.
  3. Объем накопителя. 256 ГБ - это минимум, при котором вам не придется думать об освобождении места для обновления операционной системы и среды разработки.

Шаг 2. Учебные материалы

Основа любого обучения - это качественный учебный материал. Кому-то подходят книги, кому-то - курсы в онлайн или оффлайн форматах, а кому-то - индивидуальное обучение. В любом случае обратите внимание на следующие книги:

Книга "Swift. Основы разработки приложений под iOS, iPadOS и macOS" (6-е издание)

Эта книга подойдет всем: и тем кто хочет начать свой путь «разработчика на Swift»; и тем, кто уже имеет навыки программирования. Купив книгу по Swift Вы получите потрясающее руководство, плавно погружающее вас во вселенную Swift-разработки. В книге подробно объясняются все необходимые термины, изучаются возможности языка и среды разработки Xcode.  Кроме того книга станет первоклассным справочником для опытных Swift-разработчиков.

Книга "Swift. Разработка приложений под iOS на основе фреймворка UIKit"

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

Шаг 3. Закрепляйте изученный материал

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

Не забывайте, что теория без практики — это 90 % забытого материала через неделю.

Шаг 4. Изучайте предметную область

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

Базовые знания

  • Фундаментальные типы данных и операции с ними
  • Кортежи, последовательности и коллекции
  • Операторы управления (циклы, условия)
  • Функции и замыкания
  • Опциональные типы данных
  • Классы, структуры, перечисления
  • Объектно-ориентированное программирование
  • Протоколы
  • Протокол-ориентированное программирование
  • Расширения
  • Дженерики (Универсальные типы)
  • Обработка ошибок

Работа с интерфейсом

  • Фреймворк UIKit, в частности классы UIView, UIViewController, UITableView и UICollectionView
  • Фреймворк SwiftUI (декларативный подход)
  • Фреймы и констрейнты (технология AutoLayout)
  • Верстка с помощью Storyboard, XIB
  • Верстка с помощью кода
  • Фреймворк SnapKit (работа с констрейнтами в коде)
  • Фреймворк Core Animation, класс CALayer
  • Фреймворк Core Graphics

Функционирование приложения

  • Процессы и потоки (thread)
  • Objective-C Runtime
  • Жизненный цикл приложения (классы AppDelegate и SceneDelgate)
  • Жизненный цикл вью контроллера

Управление памятью

  • Устройство памяти, области памяти стек и куча
  • Reference type и value type
  • Слабые (weak), сильные (strong) и бесхозные (unowned) ссылки
  • ARC и MRC

Хранение данных

  • Класс FileManager
  • Класс UserDefaults
  • Фреймворк CoreData
  • Фреймворк Realm
  • Фреймворк Firebase

Работа с сетью

  • Класс URLSession
  • Фреймворк Alamofire

Многопоточность

  • async/await (Swift 5.5+)
  • Task, TaskGroup (Swift 5.5+)
  • Акторы (Swift 5.5+)
  • Библиотека Grand Central Dispatch
  • Класс Operation
  • Класс Thread

Реактивное программирование

  • Фреймворк Combine
  • Фреймворк RxSwift
  • Фреймворк ReactiveSwift

Паттерны

  • MVC
  • MVP
  • MVVM
  • VIPER
  • Координаторы
  • Делегирование
  • Одиночка (Singleton)

Менеджеры зависимостей

  • Swift Package Manager
  • CocoaPods
  • Carthage

Технологии Apple

  • Push-уведомления 
  • Universal Links

Другие знания

  • Алгоритмы и структуры данных
  • Принципы SOLID
  • Фреймворк Swinject
  • Система управления версиями Git
  • Мультиплатформенный фреймворк Firebase (авторизация, хранение данных, уведомления и многое-другое)

Что дальше?

Станьте участником сообщества

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

 

Создавайте реальные проекты

Для потенциального работодателя очень важно, чтобы соискатель имел примеры реализованных приложений. Выбирайте идею для реализации. Не знаете что именно делать? Обращайтесь в наш чат в Telegram. Как только очередной проект будет закончен - открывайте доступ к его коду на GitHub или BitBucket и пытайтесь разместить приложение в магазине AppStore. Это бесценный опыт!

Изучайте английский

Максимальное количество материала по теме разработке сегодня находится в англоязычном сегменте Интернета. Без умения читать тексты на иностранном языке вы конечно же справитесь в любом случае, но наличие этого умения многократно увеличит ваши возможности!

Повышайте эффективность своей работы

Swiftme ставит перед собой непростую задачу: показать вам, что такое эффективное изучение и разработка на Swift в Xcode. Эффективность состоит не только в качественном материале, но и в совершенно неожиданных, на первых взгляд, вопросах. А ведете ли вы здоровый образ жизни? Занимаетесь ли спортом? Поддерживаете ли в порядке позвоночник? Достаточно и правильно ли отдыхаете? А что предпочитаете есть и как часто это делаете? Что вы знаете о планировании своего времени? Ставите ли цели на месяц, год, пять лет?

Добавить комментарий