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

На этой странице ты найдешь советы по развитию в направлении iOS-разработки.
Советы для начинающих iOS разработчиков
Грейды iOS-разработчиков
Что нужно знать?
Computer Science


Data
  • Знать Collections и Map
  • Знать распространенные реализации
  • Понимать в каких случаях нужны коллекции

OOP
  • Знать основную идею ООП
  • Уметь перечислять все принципы с кратким описанием

Architecture
  • Делегирование

Network
  • Уметь работать с сетью любым способом
iOS Platform


iOS SDK + 3rd
  • App lifecycle
  • UIViewController lifecycle

UI
  • Уметь верстать простой дизайн в xib
  • Autolayout

Threading
  • Знать про существование многопоточного кода
  • Thread vs Process

Tools
  • Уметь пользоваться логами

Xcode
  • Знать структуру проекта
  • Знать как открывать экраны и взаимодействовать с пользовательским интерфейсом
Memory Management


Memory
  • Знать отличия между типами памяти (оперативная и постоянная)
Language


Swift
  • Знать синтаксис, типы
  • Соблюдать code style
Книги для развития­ в программировании
Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес
Приемы объектно-ориентированного проектирования. Паттерны проектирования
Приемы объектно-ориентированного проектирования. Паттерны проектирования.
Э. Хант, Д. Томас
Программист-прагматик. Путь от подмастерья к мастеру
Легендарная книга, которая учит невероятно правильным подходам к написанию кода, да и в целом к работе программиста.
Роберт Мартин
Чистый код. Создание, анализ и рефакторинг
Книга, после которой твой код становится намного понятнее, а другие разработчики начинают тебя благодарить.
Мартин Фаулер
Рефакторинг
Много приемов для рефакторинга кода, с помощью которых твой код становится сильно проще.
Полезные статьи на Хабре
  • Создание архитектуры программы или как проектировать табуретку
    Основы модульной архитектуры
  • Охота на мифический MVC.
    Лучшее объяснение архитектуры MVC. Часть 1. Обзор, возвращение к первоисточникам и про то, как анализировать и выводить шаблоны самому
  • Охота на мифический MVC. Построение пользовательского интерфейса
    Лучшее объяснение архитектуры MVC. Часть 2
Полезные сайты
  • Сайт-каталог приемов рефакторинга и паттернов проектирования
    Подробнее
  • Блог Рона Джеффриса
    Подробнее
  • Блог Мартина Фаулера
    Коротко о Simple Design
    Подробнее
Что изучить, чтобы начать iOS
Многие застревают на стадии stackoverflow, но важно продолжать развиваться и переходить к первоисточникам
  • Документация Apple. В частности, UIKit
    UIKit предоставляет необходимую инфраструктуру для ваших приложений iOS или tvOS
  • Foundation
    Платформа обеспечивает базовый уровень функциональности для приложений и платформ
  • Swift
    Руководство по языку Swift
  • Developing iOS 11 Apps with Swift
    Курс от Stanford University
  • iOS & Swift Tutorials
    Самая большая коллекция туториалов по iOS-разработке
  • 30 mini Swift Apps for self-study
    30 примеров мини-проектов под iOS
  • Основы программирования
    Курс по основам программирования от Harvard University
  • Swiftbook
    Курс: Гид По Языку Программирования Swift
Для дальнейшего развития в iOS
  • Руководство по Objective-C
    Архив документации
  • Блог Mike Ash
    О подкапотной работе Swift и Objective-C
  • Блог John Sundell
    О продвинутом использовании Swift
  • Блог Vadim Bulavin
    О Swift и iOS-разработке