Если вы новичок, то вам точно нужно прочитать The Swift Programming Language от Apple. Тут даже и описывать нечего, т.к нужно пробежаться по основам языка, синтаксис, конструкции, возможности языка и т.д. Книга постоянно обновляется на актуальную версию языка, поэтому обязательно к прочтению для всех новичков.
- The Swift Programming Language
- 💚 trainee
основные знания
Данная книга - просто мастхэв для чтения. Хорошо структуированная информация, очень ёмко и точно подано. Эту книгу стоит начинать читать, когда вы уже прошли по основам и хочите углубиться в них.
- Advanced Swift
- 💛 junior+
основные знания
,углубление в материал
Хотите изучить новые инструменты для работы с многопоточность? Actors
, tasks
и async/await
- всё это ждет вас в этой книге.
- Modern Concurrency in Swift
- 💛 junior+
многопоточность
,углубление в материал
,дополнительные знания
Если вам необходимо структуировать ваши знания или выполнить проекте, ориентируясь на бест практис, то благодаря этой книге, вы сможете изучить/подтянуть:
Архитектура приложения: Узнаете, как организовать свой код с помощью MVVM и разбиение на фичи.
Создание фичей: Изучите, как структурировать код для работы с разбиением на фичи, которые можно протестировать.
Создавайте код, который масштабируется: Узнаете принципы создания надежного кода с помощью S.O.L.I.D.
Async/await: Узнаете, как новая современная модель для работы с многопоточностью может помочь вам в написании хорошо структурированного и асинхронного кода.
Доступность и привлекательные приложения: Поймёте, как создавать приложения, которые будут хорошо выглядеть и нравиться любой аудитории.
Модульность: Узнаете, как создавать модульный код, который можно переиспользовать.
- Real-World iOS
- 💛 junior+
основные знания
,Углубленный материал
,дополнительные знания
Если вы решили изучить SwiftUI, то в начале вашего пути вам хорошо подойдет эта книга. Посмотрите как привычный подход к разработке на UIKit'e применяется для SwiftUI фреймворка.
- 💚 junior
Основные знания
- Thinking in SwiftUI
Если книга выше, про изучение SwiftUI, вам не подходит или не зашла, то рекомендую ознакомиться этой книгой, где очень все хорошо расписано, и постоянно идет обновление до последней, доступной, версии SUI.
- 💚 junior
Основные знания
,SwiftUI
- SwiftUI Views Mastery
Для работы с SwiftUI вам так - же необходимо будет знать, как правильно взаимодействовать с данными. Всё по делу, ёмко, четко, без излишиств, крайне советую.
- 💚 junior
Основные знания
,SwiftUI
- Working with Data in SwiftUI
Если вы новичок со SwiftUI - эта книга хороший путеводитель при знакомстве с данным фреймворком + обновлена до swift 5.5.
- 💛 junior+
Основные знания
,SwiftUI
,Дополнительные знания
- SwiftUI Apprentice
Эту книгу я бы посоветовал для людей, которые только погружаются в разработку. Здесь собраные общие вопросы про то, как лучше обустраивать свою деятельность, обучение, решение задач и т.д. Книга не несёт каких-то глубоких смыслов или мировых открытий, но для людей которые заходят с полного 0 - в некоторых местах может - быть полезна + книга очень маленькая.
- 🤍 Trainee
Дополнительные знания
- Surviving the coding bootcamp
Данная книга отлично рассказывает про то, какие софт скилы вам могут помочь в работе, как взаимодействовать с менеджерами, как вести себя на митингах и всё то, что связанно с вашим рабочим процессом, т.е вы и работа, и с окружающими вас коллегами. Однозначно рекомендую эту книгу всем, кто уже работает, но не читал её. Если вы еще не работаете, то можете тоже начать чтение, но будьте готовы не понимать нюансы некоторые и в будущем перечитать её.
- 💚 junior
Soft Skills
- Engineers Survival Guide: Advice, tactics, and tricks after a decade of working at Facebook, Snapchat, and Microsoft.
Документация на стеройдах, но с оговоркой - вот как я бы мог описать эту книгу. Книга хорошая, видно что постарались на славу, особо радует, что чуть больше где-то углубились в материал + в конце каждой главы есть: вывод главы и небольшие упражнения.
- 💚 junior
Основные знания
- Swift Apprentice
Занимательная книга на изучение auto layout’a, где вас будут обучать не только вёрстке из кода или при помощи Interface Builder’a, но так же расскажут про нюансы вёрстки, такие как: layoutSubview, layoutIfNeeded. Разберут на практике адаптивный дизайн, оптимизацию UI компонентов + опытные разработчики делятся с рекомендациями и своим опытом. Так же нравится в этой книге то, что здесь делают упор на основные UI компоненты, которые очень часто встречаются, т.е не растрачивают страницы на элементы, которые могут встретить раз в год.
- 💚 junior
Основные знания
,Углубленный материал
- Auto Layout by Tutorials
Возможно, вы слышали, что Auto Layout описывается как механизм компоновки, основанный на ограничениях. Что это значит? Нужно ли вам знать математику и писать уравнения? Почему это лучше, чем вручную рассчитывать размер и положение каждого вида в макете? Много подробного материала, разбор не тривиальных кейсов, разбор того, как это всё работет “под капотом”. Если вы её не читали, то это 100% мастхэв.
- 💚 junior
Основные знания
,Углубленный материал
- Modern Auto Layout
В книге изложены основы синхронизации, такие как мьютексы, семафоры, барьеры и условные переменные, и дается множество примеров на языке Python. Эти примеры показывают, как синхронизировать потоки выполнения и предотвратить возможные проблемы, такие как гонки данных и взаимоблокировки. Книга подходит для начинающих программистов и любого, кто интересуется параллельным программированием. Она также может быть полезна для опытных разработчиков, которые хотят освежить свои знания в области синхронизации. Кроме того, книга включает интересные задания в конце каждой главы, которые помогут читателю закрепить полученные знания и улучшить свои навыки программирования.
- 🧡 middle
Основные знания
,Углубленный материал
,Многопоточность
- The Little Book of Semaphores
Книга объясняет различные шаблоны проектирования приложений и методы их реализации на примере одного приложения, которое было полностью реализовано с использованием пяти разных шаблонов. Вместо того чтобы отстаивать какой-либо конкретный шаблон, книга описывает проблемы, которые все архитектуры пытаются решить: построение компонентов приложения, обмен информацией между представлением и моделью, и работа с состоянием, не относящимся к модели. Авторы показывают общие решения для этих проблем и разбирают их на уровне реализации для пяти разных шаблонов проектирования - двух распространенных и трех экспериментальных. Распространенными шаблонами являются Model-View-Controller и Model-View-ViewModel + Coordinator. Помимо концептуального и уровня реализации, книга обсуждает решения для часто встречающихся проблем, таких как многофункциональные контроллеры представлений. Изучая эти экспериментальные шаблоны, авторы извлекают ценные уроки, которые могут быть применены к другим шаблонам и существующим кодовым базам.
- 💚 junior
Основные знания
,Углубленный материал
,Архитектура
- App Architecture
"Swift Concurrency by Example" - это практическое руководство для разработчиков. В книге рассматриваются различные аспекты параллельного и асинхронного программирования, такие как гонка данных, блокировки, потокобезопасность, атомарные операции и другие. Она также показывает, как использовать новые конструкции языка, такие как async/await и structured concurrency, для более простого и понятного кода. В книге приводятся множество примеров, начиная от простых сценариев до более сложных, таких как многопоточная обработка данных, параллельная обработка изображений и другие.
- 🧡 middle
Основные знания
,Углубленный материал
,Архитектура
- Swift concurrency by example
Книга очень полезна для разработчиков и инженеров, которые работают с распределенными системами или хотят изучить их. Она предоставляет практические примеры и иллюстрации, а также объясняет ключевые концепции и технологии, используемые в распределенных системах. Некоторые из основных тем, рассмотренных в книге, включают в себя: • Принципы распределенных систем, такие как прозрачность, надежность и масштабируемость. • Ключевые концепции, такие как клиент-серверная архитектура, мультиагентные системы и peer-to-peer сети. • Распределенные алгоритмы, такие как алгоритмы выбора лидера, алгоритмы репликации данных и алгоритмы взаимной блокировки. • Распределенные системы времени реального мира, такие как системы управления трафиком и авионикой.
- 🤎 middle+
Углубленный материал
,Архитектура
- Распределенные системы
Книга "Practical Core Data” - это практическое руководство по использованию фреймворка Core Data. Автор подробно объясняет, как создавать и работать с моделями данных, как использовать объекты управления контекстом для сохранения, извлечения и обновления данных, а также как использовать Core Data для реализации функций, таких как фильтрация, сортировка и агрегация данных. Книга повествует о том, как работать с отношениями между объектами, использовать запросы для извлечения данных, и синхронизации данных между несколькими устройствами и серверами. Особое внимание уделено лучшим практикам и советам по проектированию приложений с использованием Core Data.
- 🧡 middle
Основные знания
,Углубленный материал
,База данных
- Practical Core Data: A modern guide to the Core Data framework
В книге представлены сложные алгоритмы в понятном и доступном формате, используя примеры из реальной жизни и множество иллюстраций. Книга начинается с базовых алгоритмов, таких как бинарный поиск и сортировка выбором, и постепенно переходит к более сложным алгоритмам, таким как графовые алгоритмы и динамическое программирование. Книга также включает в себя упражнения и задачи, которые помогут закрепить материал и применить новые знания на практике. Одной из особенностей книги является то, что она подходит как для начинающих, так и для опытных программистов. Независимо от уровня знаний, тут можно множество полезной информации и примеров, которые помогут ему лучше понять и применять алгоритмы в своей работе.
- 💛 junior+
Основные знания
,Углубленный материал
,Дополнительный материал
,Общее программирование
- Грокаем Алгоритмы