/digest-ios-development-netology

Digest of all usefull iOS-development resources I've ever met during my study in Netology.

The Big Digest of iOS-developing

Это список всех полезных ссылок, которые мне удалось собрать за время обучения в ЦОО "Нетология" на курсе "iOS-разработчик с нуля". Данный список содержит массу полезных материалов на различные темы.

В том числе этот сборник содержит ссылки на другие сборники, а также блоги, подкасты и другие еженедельно обновляемые дайджесты!

БОЛЕЕ 200 ССЫЛОК! Век живи - век учись!

И да прибудет с нами сила! :]

SWIFT

  1. Методичка по Swift – русскоязычный перевод этой официальной методички.

  2. Учебник по Swift Главный учебник от Apple

  3. App Development with Swift Учебник от Apple

  4. Intro to App Development with Swift Учебник от Apple

  5. Swift Apprentice Книга для пошагового изучения Swift с сайта Рея Вандерлиха

  6. Swift. Основы разработки приложений под iOS, iPadOS и macOS (6-е издание) Шикарная книга на русском для начинающих изучать Swift. Всё по полочкам в голове разложится!

  7. Блог развития языка Swift Публикации обновлений языка и анонсы будущих нововведений

  8. Эволюция языка Swift. Можно отслеживать нововведения, новые предложения. Встречаются отличные примеры из практики. Прекрасно подойдет для расширения кругозора. Дополнительно хорошо подойдёт на случай, когда нет определенной цели для изучения.

  9. https://www.codewars.com Отточить своё знание Swift на практике. Сайт с сотнями типовых задач.

  10. The official Swift style guide for raywenderlich.com Код стайл от Рея Вандерлиха.

  11. Markup Formatting Reference Всё об использовании разметки текста в Xcode: как правильно вставлять комментарии, чтобы они появлялись в описании свойств и методов, как использовать красивый текст в Playground вместо обычных комментариев и т.п.

  12. Sample Code Огромный архив от Apple с примерами кода: от поиска по таблицам, до аудио и работы с картами.

  13. Optionals in Swift explained: 5 things you should know Полезная статья про опционалы

  14. Get nth character of a string in Swift programming language Как сделать возможность работать со строкой, как с массивом символов, используя числовой индекс

  15. How to copy objects in Swift using copy() Как копировать классы. Как делать копию объекта класса.

  16. NSAttributedString by example Как работать с аттрибутированной строкой

  17. What’s the best way to override CustomStringConvertible for a collection? Способ настройки печати в консоли информации о кастомном пользовательском объекте (нестандартном)

  18. How to use Result in Swift Нововведение в Swift: удобная штука для обработки ошибок!

  19. Из ошибки в алерт с действиями

  20. Swift Protocols Don’t Play Nice With Equatable. Or Can They? Как сделать, чтобы объекты кастомного класса можно было сравнивать между собой напрямую? Протоколы и расширения, Equitable

  21. The Swift Runtime: Enums Глубокое погружение в работу Энумов

  22. Formatting Notes and Gotchas Форматирование дат, строк и чисел

  23. as, as?, and as! Операторы сравнения и приведения типов

  24. Higher Order Functions in Swift (Sorted, Map, Filter, Reduce)

  25. Кортежи, Протоколы, Делегаты И Табличный Формат

  26. Используем замыкания в Swift по полной

  27. Атрибуты Про странные слова с @, встречающиеся в коде (@available, @objc и т.п.)

  28. Int, UInt8 or UInt16. Swift, I’m confused Про разницу между типами UInt8, UInt16 и т.п.

  29. Multiple conditions in ternary conditional operator? Тернарный оператор с несколькими условиями

Value Types vs. Reference Types

  1. Controlling Complexity in Swift: Making Value Types Friends

  2. Maksym Husar - Dig into Value types @ CocoaHeads Всегда ли лучше использовать value types?

  3. When and How to Use Value and Reference Types in Swift

  4. Value type vs. Reference type Видео из Youtube

Управление памятью (см. также Дебаггинг)

  1. Advanced iOS Memory Management with Swift: ARC, Strong, Weak and Unowned Explained

  2. Списки захвата в Swift: в чём разница между ссылками weak, strong и unowned?

  3. Swift: ARC и управление памятью

  4. STRONG UNOWNED WEAK — В чем разница?

  5. Unsafe в Swift

Видео на тему языка Swift (кому-то может пригодиться):

  1. Классы и Структуры - YouTube
  2. Кортежи (Tuples)

Протоколо-ориентированное программмирование

  1. Protocol-Oriented Programming Tutorial in Swift 5.1: Getting Started Статья с сайта Рея Вандерлиха о том, что такое протоколо-ориентированное программирование

  2. Когда и почему я должен использовать протоколы в Swift?

  3. Do protocols break Single Responsibility Principle?

Диспетчеризация вызовов в Swift

  1. Method Dispatch в Swift Интересное про таблицы диспетчеризации в Swift. Диспетчеризация на таблицах, сообщениях и прочее. Типичные ошибки при работе с расширениями протоколов.

  2. Swift Dispatch

  3. Increasing Performance by Reducing Dynamic Dispatch

  4. Method Replacement for Fun and Profit

  5. Proposal: Universal dynamic dispatch for method calls

  6. Static vs Dynamic Dispatch in Swift: A decisive choice

Дата и время

  1. How do you create a Swift Date object? Как правильно работать с датами

  2. Работа с временем на Swift

  3. Date Format Patterns Шаблоны стандарта UNICODE для отображения даты в различных форматах.

Архитектура, паттерны и прочие принципы

  1. Делегаты и колбэки в Swift простым языком. Что же такое этот delegate, и как работает callback

  2. Pass Data Between View Controllers – LearnAppMaking Способы передачи информации между контроллерами

  3. Полиморфизм

  4. Обобщённое программирование

  5. SOLID (объектно-ориентированное программирование)

  6. Основы объектно-ориентированного програмирования Короткие видео на тему

  7. iOS Development Course - OOP for kids Короткое видео про ООП

  8. SOLID “Я знаком с принципами SOLID уже 6 лет, но только в последний год осознал, что они означают. В этой статье я дам простое объяснение этим принципам.”

  9. Чистая архитектура Это вольный и очень краткий пересказ новой книги Роберта Мартина (Дяди Боба) «Чистая Архитектура», выпущенной в 2018 году.

  10. Программное обеспечение Матчасть

  11. Is it safe to enable bitcode? Матчасть

  12. Context-Bound Types Четые способа сбалансировать раскрытие нужного количества деталей реализации, не раскрывая слишком много.

  13. Pattern Matching Четые поста про различное использование switch, enum, where, tuples, ranges, if case, guard case, for case

  14. Сергей Крапивенский — Кто подставил Барбару Лисков, или кто кого SOLID Видео

  15. Немного практики функционального программирования в Swift для начинающих

  16. A Swift MVVM Tutorial Про архитектуру MVVM. Очень крутая статья, автор предлагает проход Static Event-driven MVVM, a.k.a. a Static Event-driven Take on “the ViewModel Pattern” Смысл подхода в том что ViewModel превращается в состояние контроллера и больше не реагирует на изменения в контроллере, а управление событиями происходит в EventHandler и EventRouter

UI

  1. UIView Матчасть

  2. Launch Screen Матчасть

  3. Creating Apps Without Storyboards in iOS 13 Вёрстка приложения без сториборда

  4. iOS Tutorial: How to Build an App without a Storyboard Видео о верстке без сториборда

  5. 30 Auto Layout Best Practices

  6. UIKit с нуля Серия видео

  7. How to add animation to your constraints Анимируем констрейнты

  8. UIStepper do not respect tint color in iOS 13 Как поменять цвет UIStepper’а? Весьма неожиданное поведение степпера заставляет думать, что это баг. Вот решение проблемы, хоть и весьма странное.

  9. Создание горизонтального UIPickerView

  10. Layout Guide, Margins, Insets and Safe Area demystified on iOS 10 & 11

  11. Easing functions Функции плавности и замедления определяют скорость изменения параметра во времени. Помогает разобраться, чем отличается, например, easeInCubic от easeInQuart и подобрать правильную функцию.

  12. Using UIEdgeInsets to layout a UIButton Как управлять внутренними отступами на кнопке

  13. Constraints with visual format Констрейнты в визуальном формате

  14. How to use scroll view in Interface Builder / Storyboard

  15. Understanding UIScrollView

  16. Различие Frame и Bounds в iOS

  17. How to create custom colors using UIColor RGB and hues Коротко и полезно про создание цветов

  18. UserInterfaceLevel, the future of floating apps? Интересная статья про цвета

  19. Using PHPickerViewController Images in a Memory-Efficient Way

  20. Understanding Custom UIView In-depth: Setting File Owner vs custom class Статья, после которой станет понятно, что выбирать при создании аутлета и экшена в поле "Object": File's Owner или ваш кастомный класс.

SwiftUI (см. также раздел «Блоги»)

  1. https://developer.apple.com/tutorials/swiftui Крутой интерактивный гайд про SwiftUI

  2. Your SwiftUI Journey Cерия книг от Big Mountain Studio: SwiftUI Views Mastery и SwiftUI Animations Mastery. На сайте можно получить бесплатную версию (там меньше страниц).

  3. Thinking in SwiftUI

  4. Выпуски про SwiftUI, Combine, Composable Architecture

Жизненный цикл объектов пользовательского интерфейса

  1. OBJECT LIFE CYCLE: UIVIEWCONTROLLER и OBJECT LIFE CYCLE: UIVIEW Две статьи от одного автора на тему ЖЦ объектов UI.

  2. Жизненный Цикл UIViewController

  3. instantiateViewController Метод программной инициализиции контроллера, созданного в storyboard

  4. Why/when do we have to call super.ViewDidLoad?

  5. How to use view controller containment Небольшое расширение UIViewController, позволяющее облегчить добавление и удаление дочерних вью контроллеров на родительский вою контроллер. Вместо 4-х шагов (в строго определенном порядке) понадобится всего 1.

  6. Responding to the Launch of Your App Матчасть от Apple

UICollectionView и UITableView

  1. UICollectionView Tutorial: Getting Started

  2. UICollectionView Custom Layout Tutorial

  3. Сложные отображения коллекций в iOS: проблемы и решения на примере ленты ВКонтакте

  4. Accessible UICollectionViews With Dynamic Type and Self-Sizing Cells Самонастраивающиеся ячейки. Как сделать ячейки с автоматическим размером?

  5. UICollectionView With Autosizing Cells Based on Texts or Images Тоже про self-sizing ячейки

  6. Load local images asynchronously in the table view

Переходы между контроллерами

  1. Animate presentModalViewController from right/left Как презентовать модально так, чтобы контроллер выезжал справа или слева

  2. How To Make A UIViewController Transition Animation Like in the Ping App Статья с сайта Рея Вандерлиха о том, как сделать очень красивый анимированный переход

  3. Animated Transitions in Swift Прочие способы анимированных переходов между контроллерами

  4. Делаем вездесущий Splash Screen на iOS Про анимацию перехода на примере Юла

  5. PROGRAMMATIC NAVIGATION VIEW CONTROLLERS IN SWIFT 3.0 Делаем переход между контроллерами через код без сториборда

  6. iOS Swift Tutorial: Use Segues for Visual Transitions between View Controllers 10/24 Youtube видео

Анимация

  1. Swift Animations in iOS Туториал

  2. UIView Animation Options Reference Guide

  3. Анимации в iOS для начинающих. Модели, классы от Core Animation, блоки

  4. UIView shake animation

  5. Animate a UIView along a part of a bezier path Анимация вдоль пути Безье

  6. Slide In Animation in Swift

  7. Swift World: UIViewPropertyAnimator Exploration (Часть 2, Часть 3)

  8. Animation End Callback for CALayer Отличная ветка про комплишен блоки в анимации (хоть и старая)

Обработка изображений

  1. Core Image Filter Reference Документация от Apple по Core Image

Лучшие примеры дизайна

  1. Dribbble.com Лучшие примеры дизайна из разничных ИТ сфер, в том числе дизайн приложений iOS.

  2. UI/UX Onboarding iOS best practices

МНОГОПОТОЧНОСТЬ

  1. Мютексы А зачем вообще нужно блокировать ресурсы?

  2. What is priority inversion?

  3. Устройство многопоточности в iOS

  4. Всё о многопоточности в Swift Подробная статья на Medium

  5. Multithreading в swift с нуля: урок 7 - GCD,Concurrent queues, Serial queues,sync-async Видео про многопоточность (20 минут)

  6. Туториал По Grand Central Dispatch Для Swift Руссифицированая версия вот этой статьи с сайта Рея Вандерлиха.

  7. Многопоточность (concurrency) в Swift 3. GCD и Dispatch Queues Подробная статья с примерами

  8. Concurrency в Swift 3 и 4. Operation и OperationQueue Подробная статья с примерами

  9. Building Responsive and Efficient Apps with GCD Видео с WWDC2015

  10. Concurrent Programming With GCD in Swift 3 Видео с WWDC2016

  11. Multithreading: Common Pitfalls

  12. Synchronization

  13. Race Conditions and Secure File Operations

  14. Threading Programming Guide)

  15. The Little Book of Semaphores Подробная книга о проблемах многопоточности и различных подходах по их разрешению. Книга написана на языке Pyton, но по заверению автора, должна быть понятна и разработчикам из других языков.

  16. Swift-concurrency-mind-map.pdf

  17. Advanced NSOperations Дополнительная функциональность к GCD

  18. Run Loops Документация Apple

  19. Александр Терентьев «Крутим Runloop. Как устроена лента ВКонтакте»

  20. Делим программу на потоки №1. Swift.Thread Видео

  21. Видео-курс «Параллельное программирование»

РАБОТА С СЕТЬЮ

  1. Введение в JSON

  2. How to convert a JSON string to a dictionary?

  3. JSONLint - The JSON Validator Сайт для проверки текста на соответствие формату JSON

  4. Online JSON Viewer Полезный сайт для удобного и наглядного представления больших JSON объектов

  5. Working With Codable and JSON in Swift Полезная статья про использование протокола Codable

  6. Decoding JSON data - Error response Полезная статья про декодинг JSON

  7. Parsing Tricky JSON With Codable in Swift

  8. How to convert a JSON string to a dictionary?

  9. How To Make HTTP Requests With URLSession in Swift

  10. Disable Apple Transport Security iOS Tutorial Как отключить АТС для работы с небезопасными HTTP ссылками. Намример, для тестирования приложения на локальном тестовом сервере.

CORE DATA

  1. Derived Attributes to improve Core Data Fetch Performance Оптимизируем получение результатов поиска, используя производные аттрибуты

  2. Constraints in Core Data Entities explained

ПОЛЕЗНАЯ ДОКУМЕНТАЦИЯ НА КАЖДЫЙ ДЕНЬ

  1. Human Interface Guidelines Матчасть для каждого разработчика. Главный документ от Apple.

  2. Visual Design from Humai Interface Guidelines Размеры экранов и size classes у различных устройств.

  3. Displays (Старые, до iPhone X) Не нашли какой-то информации из предыдущего раздела? Посмотри тут! Размеры дисплеев в пискелях и поинтах, разрешения, частота…

  4. The Ultimate Guide To iPhone Resolutions

  5. 25 ошибок начинающего программиста

  6. The 10 Most Common Mistakes iOS Developers Don't Know They're Making

ДЕБАГГИНГ

  1. Signpost: когда брейкпоинтов недостаточно

  2. UIKonf 2020 - Marin Todorov - Fixing your Combine code with the Timelane Instrument

  3. "Latency numbers" на iPhone / Дмитрий Куркин (Яндекс) Задержки, которые должен знать каждый программист

  4. Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)

  5. Testing Tips & Tricks

  6. Advanced debugging в Xcode: средства отладки, про которые часто забывают

  7. Memory leaks using the Xcode memory graph debugger

ДОПОЛНИТЕЛЬНЫЕ ИНСТРУМЕНТЫ РАЗРАБОТЧИКА

  1. Live-demo: магия shell 🧙🏻‍♂️ / Андрей Александров Как использовать оболочку терминала как профессионал

Создание логотипов и иконок

  1. Hatchful от Shopify. Сайт для легкого и быстрого составления логотипов из предлагаемых шаблонов.

  2. Brandmark - the smart brand and logo creator Сайт для генерации логотипов

  3. App Icon Generator Самый быстрый способ создать набор из картинок для айфонов всех типов (в 1x, 2x и 3x разрешении)

  4. MakeAppIcon - Generate iOS and Android app icons of all sizes with a click! Еще один ресайзер иконок

  5. https://icons8.ru/icons/ios Бесплатные iOS иконки

  6. https://www.iconfinder.com Более 5 миллионов бесплатных иконок

  7. https://pngtree.com Royalty Free PNG Images, Vectors, Backgrounds, Templates, Text Effect

  8. https://www.flaticon.com Access 3,720,000 vector icons. The largest database of free icons available in PNG, SVG, EPS, PSD and BASE 64 formats.

Дизайн

  1. Canva – простое создание графического дизайна онлайн.

  2. Figma или Sketch? Опыт дизайнеров компании AIC

  3. Книга «Руководство по Figma» Первый бесплатный самоучитель для дизайнеров по Figma на русском.

  4. SF Symbols 2 2400 символов от Apple на все случаи жизни. Порой проще и лучше подобрать стильную иконку от Apple, чем использовать картинку или значок из интернета.

Работа в Xcode.

  1. Xcode Tutorial For Beginners Большой туториал по работе в Xcode.

  2. Swift Auto Diagram and more Библиотека для создания наглядной зависимости объектов в приложении. Может быть полезна, чтобы разобраться в сложном коде и понять, что, как и с чем взаимодействует

  3. SwiftLint Библиотека для проверки кода на ошибки кодстайла

  4. На пути к «10x инженеру»: шорткаты, сниппеты, шаблоны

  5. Xcode build times Вы когда-нибудь задумывались, сколько времени в день вы тратите на ожидание, пока Xcode выполнит ваши сборки? Больше не надо гадать, этот плагин BitBar показывает потраченное впустую время прямо в строке меню!

БЛОГИ, ПОДКАСТЫ, АЛЬМАНАХИ

  1. https://www.hackingwithswift.com

  2. iOS / Mac / Swift от RP-Labs (rightpoint.com)

  3. Swift Talk Видео-подкаст

  4. Podlodka Crew

  5. iOS Стэнфордский курс. Swift. Объяснение на русском.

  6. Дайджест интересных материалов для мобильного разработчика Еженедельно обновляемый дайджест

  7. Ben Popper is the Worst Coder in The World Говорят, это очень интересный блог.

  8. https://habr.com/ru/users/nmivan/posts/ Блог Иван Белокаменцева о карьере программиста. Любопытный взгляд на карьеру программиста. Автор делитс своим мнением на этот счёт. Особенно стоит прочитать серию под названием «Карьерные стеройды»

  9. Твиттер Евгения Елчева Популярный кодер, подписавшись на которого, вы найдете еще множество других интересных твиттеров.

  10. Teach Yourself Computer Science Большой альманах с разбиением по областям компьютерной науки. Например, там есть ссылка на бесплатный видео курс по алгоритмам.

  11. Блог команды разработки Яндекс.Карт

  12. https://habr.com/ru/hub/ios_dev/ Блог про iOS разработку

  13. https://habr.com/ru/hub/swift/ Все статьи на Хабре с тегом #swift

  14. https://swiftwithmajid.com/ Блог про SwiftUI

  15. https://www.vadimbulavin.com/ Блог про SwiftUI

  16. https://swiftui-lab.com Самый хардкорный блог про SwiftUI

  17. https://swiftbook.ru/koposhilka/ Копошилка Свифтбука. Всякое разное-полезное.

ПРОЧЕЕ ПОЛЕЗНОЕ

  1. https://stackoverflow.com Самый популярный сайт, на котором программисты делятся опытом (вопрос/ответ)

  2. Оставьте все сомнения: как избежать синдрома самозванца

  3. Как создать своё первое iOS-приложение. Подробная инструкция от профессионалов Полезный чеклист, про который стоит помнить

  4. International Women's Day Moscow 2020 – Highlights Сообщество Women Techmakers опубликовала видео с конференции International Women's Day Moscow 2020 Доклады на темы: Дизайн + разработка: как вместе работать над продуктом / Инесса Воронина (Авито) Как развить чувство чистого кода / Юлия Коенова (Сбербанк) Прикладная рациональсть / Антон Назаров (Grid Dynamics) и др.

  5. Подборка статей про написание скриптов на Swift (подборка от Артёма Новичкова)

  6. https://www.codewars.com Отточить своё знание Swift на практике

  7. Swift Algorithm Club Узнай всё про алгоритмы в Swift!!!


Итого ссылок: 209