Если ты не боишься рефакторинга, коммуникаций с дизайнерами и тестировщиками, готов к внедрению новых библиотек и реализации сложных задач — будем рады тебе в команде на позиции 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
Книги для развития­ в программировании
Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес
Приемы объектно-ориентированного проектирования. Паттерны проектирования
Приемы объектно-ориентированного проектирования. Паттерны проектирования.
Смотреть на Ozon
Э. Хант, Д. Томас
Программист-прагматик. Путь от подмастерья к мастеру
Легендарная книга, которая учит невероятно правильным подходам к написанию кода, да и в целом к работе программиста.
Смотреть на Ozon
Роберт Мартин
Чистый код. Создание, анализ и рефакторинг
Книга, после которой твой код становится намного понятнее, а другие разработчики начинают тебя благодарить.
Смотреть на Ozon
Мартин Фаулер
Рефакторинг
Много приемов для рефакторинга кода, с помощью которых твой код становится сильно проще.
Смотреть на Ozon
Полезные статьи на Хабре
Создание архитектуры программы или как проектировать табуретку
Основы модульной архитектуры
Охота на мифический 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-разработке