1

Етап 1

Книга: Swift? Не вопрос

2

Етап 2

SwiftUI Standford

3

Етап 3

Swift. Самое полное руководство по разработке в примерах от сообщества Stack Overflow

4

Етап 4

Swift Documentation / Language Guide

5

Етап 5

Swift. Василий Усов (6 издание)

6

Етап 6

Swift. UIKit. Василий Усов

7

Етап 7

100 задач на Codewars с языком Swift

8

Етап 8

Курс от Яндекс Практикум по IOS расширенный

9

Етап 9

Swift подробно

10

Етап 10

Приложение "Контакты"

11

Етап 11

Podlodka iOS Crew. Фундаментальный iOS

12

Етап 12

Основы разработки приложений для IOS. Нил Смит

1

Етап 1

Книга: Swift? Не вопрос

2

Етап 2

SwiftUI Standford

3

Етап 3

Swift. Самое полное руководство по разработке в примерах от сообщества Stack Overflow

4

Етап 4

Swift Documentation / Language Guide

5

Етап 5

Swift. Василий Усов (6 издание)

6

Етап 6

Swift. UIKit. Василий Усов

7

Етап 7

100 задач на Codewars с языком Swift

8

Етап 8

Курс от Яндекс Практикум по IOS расширенный

9

Етап 9

Swift подробно

10

Етап 10

Приложение "Контакты"

11

Етап 11

Podlodka iOS Crew. Фундаментальный iOS

12

Етап 12

Основы разработки приложений для IOS. Нил Смит

14 листопада 2025
Кар'єра та робота

Swift и разработка на IOS/WatchOS / Дневник самоучки

Предисловие

В общем спустя 8 лет профессиональной Frontend-разработки интерес развития во всем этом обилии костылей и библиотек стал угасать в геометрической прогрессии. Раньше я читал много книг ,проходил курсы ,обучался даже тогда ,когда казалось бы ,навыков хватало для работы. Но тем не менее ,меня это интересовало не столько из-за денег ,сколько из-за интереса и желания стать лучше в этой области ,возможно для признания со стороны.

Но в последнее время мне все меньше хочется инвестировать свое время в прокачку навыков фронтендера. Фронтенд с каждым годом становится все сложнее ,хотя казалось бы ,все должно было быть иначе. Те вещи ,которые мы строим с привлечением тонны разнородных библиотек должны были давно быть доступны в API браузера. Взять тот же React или Angular - это же по своей сути костыли для веб-разработки. И появление веб-компонетов особо ситуации не изменило. Мы попрежнему используем Svelte или Lit для удобной декларативности. Нам попрежнему нужны сторонние тулзы для работы с роутингом ,хранилищами и тд.

Я уже молчу ,что помимо самого фронтенда теперь нужно и в бекенд уметь и в инфраструктуру и куда-нибудь еще.

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

Я хочу попробовать немного (или много) сместить вектор своего развития в сторону работы на себя самого и переключиться на другой стек технологий.

Сейчас работа будет просто моим основным стабильным доходом ,но я не буду вкладывать в развитие столько сил ,планов и тд ,сколько вкладывал раньше.

Если не Frontend ,то что?

Я подумал ,что мобильная разработка - это то самое место ,где можно попробовать заработать самому. Сейчас есть много гибридных технологий ,которые позволяют писать приложения средствами js и его фреймворков - ReactNative / NativeScript / Cordova / Capacitor / и может быть что-то там еще. Есть еще Flutter ,который ,я кстати в свое время попробовал ,но мне он не особо зашел.

В общем здесь мне будет не сложно влиться ,тк в целом я могу разрабатывать мобилки с текущими навыками ,учитывая еще и то ,что около 5 лет я разрабатывал мобилки на Cordova + немного Flutter.

Но мне хочется уйти от этих костылей и начать разрабатывать на нейтив языке для платформы. И выбор пал на Swift. Мне хочется делать мобилки под IOS. Мне в целом очень нравится продукция Apple и их системы. Да и аудитория с айфонами куда более платежеспособна с точки зрения монетизации своих приложений.

Что дальше?

Данную цель я планирую вести как дневник ,просто периодически делясь чем-то новым ,что узнал для себя. Возможно я буду часто сравнивать язык и подходы к разработке с миром js и frontend-разработки.

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

Цель вообще этого всего - попробовать новый язык и инструменты ,а также попробовать делать ios-приложения ,на которых можно что-то заработать.

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

  1. Книга: Swift? Не вопрос

    Книга для самого первого быстрого погружения ,чтобы составить представление о том ,как устроен язык и фреймворк SwiftUI.

    Читаю быстро ,особо не погружаюсь в детали.

  2. SwiftUI Standford

    1. Getting started with SwiftUI

    2. Learning more about SwiftUI

    3. MVVM and the Swift type system

    4. Memorize Swift Logic

    5. Properties Layout @ViewBuilder

    6. Protocols Shapes

    7. ViewModifier Animation

    8. Animation Demonstration

    9. EmojiArt Drag and Drop Multithreading

    10. Multithreading Demo Gestures

  3. Swift. Самое полное руководство по разработке в примерах от сообщества Stack Overflow

    1. Начало работы с языком Swift

    2. Переменные и свойства

    3. Числа

    4. Строки и символы

    5. Логические значения

    6. Массивы

    7. Кортежи

    8. Перечисления

    9. Структуры

    10. Множества

    11. Словари

    12. Оператор switch

    13. Опционалы

    14. Условные выражения

    15. Обработка ошибок

    16. Циклы

    17. Протоколы

    18. Функции

    19. Расширения

    20. Классы

    21. Приведение типов

    22. Обобщенные типы

    23. OptionSet

    24. Чтение и запись JSON

    25. Расширенные операторы

    26. Swizzling методов

    27. Рефлексия

    28. Управление доступом

    29. Замыкания

    30. Инициализаторы

    31. Связанные объекты

    32. Параллелизм

    33. Начало работы с протокольно-ориентированным программированием

    34. Функциональное программирование в Swift

    35. Функции как объекты первого класса в Swift

    36. Замыкания

    37. Оператор defer

    38. Стилевые соглашения

    39. NSRegularExpression в Swift

    40. Библиотека RxSwift

    41. Swift Package Manager

    42. Работа с C и Objective-C

    43. Разметка документации

    44. Typealias (Псевдоним типа)

    45. Внедрение зависимостей

    46. Кеширование на дисковом пространстве

    47. Алгоритмы в Swift

    48. Расширенные функции

    49. Обработчик завершения (Completion Handler)

    50. Swift HTTP-сервер от Kitura

    51. Генерация UIImage из инициалов строки

    52. Пораждающие шаблоны проектирования

    53. Структурные шаблоны проектирования

    54. Небезопасные указатели на буфферы

    55. Криптографическое хеширование

    56. Шифрование по стандарту AES

    57. Формирование ключа с использованием стандарта PBKDF2

    58. Логирование в Swift

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

    60. Производительность

  4. Swift Documentation / Language Guide

    1. The Basics

    2. Basic Operators

    3. Strings and Characters

    4. Collection Types

    5. Control Flow

    6. Functions

    7. Closures

    8. Enumerations

    9. Structures and Classes

    10. Properties

    11. Methods

    12. Subscripts

    13. Inheritance

    14. Initialization

    15. Deinitialization

    16. Optional Chaining

    17. Error handling

    18. Concurrency

    19. Macros

    20. Type Casting

    21. Nested Types

    22. Extentions

    23. Protocols

    24. Generics

    25. Opaque and Boxed Protocol Types

    26. Automatic Reference Counting

    27. Memory Safety

    28. Access Control

    29. Advanced Operators

  5. Swift. Василий Усов (6 издание)

    1. Отправная точка

    2. Фундаментальные типы данных

    3. Кортежи

    4. Последовательности и коллекции

    5. Диапазоны

    6. Массивы

    7. Множества

    8. Словари

    9. Строка - коллекция символов

    10. Операторы управления

    11. Опциональные типы данных

    12. Функции

    13. Замыкания

    14. Дополнительные возможности

    15. Ленивые вычисления

    16. Консольное приложение "Сумма 2 чисел"

    17. Консольная игра "Угадай число"

    18. Введение в ООП и ПОП

    19. Перечисления

    20. Структуры

    21. Классы

    22. Свойства

    23. Сабскрипты

    24. Наследование

    25. Контроль доступа

    26. Псевдонимы Any и AnyObject

    27. Инициализаторы и деинициализаторы

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

    29. Опциональные цепочки

    30. Протоколы

    31. Расширения

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

    33. Разработка приложения в XCode Playground

    34. Универсальные шаблоны (Generics)

    35. Обработка ошибок

    36. Нетривиальное использование операторов

    37. Разработка приложения с использованием UIKit

    38. Разработка приложения с использованием SwiftUI

    39. Паттерны проектирования

  6. Swift. UIKit. Василий Усов

    1. Игра "Right on target"

    2. Введение в шаблон проектирования MVC

    3. Введение в жизненный цикл View Controller

    4. Рефакторинг программного кода

    5. Структура и запуск IOS приложения

    6. Шаблоны "Делегирование" и "Источник данных"

    7. Табличные представления. Класс UITableView

    8. Долговременное хранение данных. User Defaults

    9. Навигационный контроллер. Класс UINavigation Controller

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

    11. Контроллер табличного представления. Класс UITableViewController

    12. Табличные представления на основе прототипов ячеек

    13. Изменение элементов табличного представления

    14. Создание и изменение задач

    15. Завершение разработки приложения

    16. Классы UIView и CALayer

    17. Кривые Безье

    18. Создание игральной карточки. Разработка кастомных представлений и слоев

    19. События и анимации в IOS

    20. Разработка приложения

  7. 100 задач на Codewars с языком Swift

    1. 5

    2. 10

    3. 15

    4. 20

    5. 25

    6. 30

    7. 35

    8. 40

    9. 45

    10. 50

    11. 55

    12. 60

    13. 65

    14. 70

    15. 75

    16. 80

    17. 85

    18. 90

    19. 95

    20. 100

  8. Курс от Яндекс Практикум по IOS расширенный

    1. Спринт 1

    2. Спринт 2

    3. Спринт 3

    4. Спринт 4

    5. Спринт 5

    6. Спринт 6

    7. Спринт 7

    8. Спринт 8

    9. Спринт 9

    10. Спринт 10

    11. Спринт 11

    12. Спринт 12

    13. Спринт 13

    14. Спринт 14

    15. Спринт 15

    16. Спринт 16

    17. Спринт 17

    18. Спринт 18

    19. Спринт 19

    20. Спринт 20

    21. Спринт 21

    22. Спринт 22

    23. Спринт 23

    24. Спринт 24

    25. Спринт 25

    26. Спринт 26

  9. Swift подробно

    1. Введение

    2. Моделирование данных с помощью перечислений

    3. Написание более чистых свойств

    4. Делаем опционалы второй натурой

    5. Разбираемся с инициализаторами

    6. Непринужденная обработка ошибок

    7. Обобщения

    8. Становимся профессионалами в протокольно-ориентированном программировании

    9. Итераторы, последовательности и коллекции

    10. map, flatMap и comactMap

    11. Асинхронная обработка ошибок с помощью типа Result

    12. Расширения протоколов

    13. Шаблоны Swift

    14. Написание качественного кода на языке Swift

    15. Что дальше?

  10. Приложение "Контакты"

    1. Базовый экран и верстка как в нативном приложении

    2. Экран добавления/изменения контакта + переход

    3. Экран изменения автара + переход

    4. Экран списков контактов

    5. Добавление синхронизации через ICloud

    6. Написание UI тестов (покрытие 70+)

    7. Написание Unit тестов (покрытие 70+)

    8. Добавление иконки

    9. Добавление сплешскрина

    10. Оптимизации

  11. Podlodka iOS Crew. Фундаментальный iOS

    Вартість етапу — 80.21 $

    1. Как принести ценность бизнесу через оптимизации производительности

    2. Процессы и потоки на примере тестов в XCode

    3. Пощупай Core Image: живой воркшоп по обработке изображений

    4. Диагностика Metal-а

    5. Swift Dictionary: глубокое погружение под капот

    6. Есть ли жизнь до main(): что происходит после тапа по иконке приложения?

    7. A Hitchhiker’s Guide to Swift Generics

  12. Основы разработки приложений для IOS. Нил Смит

    1. Начните отсюда

    2. Присоединяйтесь к программе Apple Developer Program

    3. Установка XCode 16 и IOS 18 SDK

    4. Введение в интерактивные среды XCode 16

    5. Типы данных, константы и переменные в Swift

    6. Операторы и выражения Swift

    7. Поток управления в Swift

    8. Оператор switch

    9. Функции, методы и замыкания

    10. Основы ООП

    11. Введение в имеющиеся в Swift подклассы и расширения

    12. Введение в структуры и перечисления

    13. Введение в обертки свойств

    14. Работа с коллекциями в виде массивов и словарей

    15. Основные сведения об обработке ошибок в Swift 5

    16. Обзор SwiftUI

    17. Использование XCode в режиме SwiftUI

    18. Архитектура SwiftUI

    19. Анатомия базового проекта SwiftUI

    20. Создание пользовательских представлений

    21. Стеки и рамки

    22. Свойства состояния, наблюдения и объекты окружения в SwiftUI

    23. Руководство по созданию примеры SwiftUI приложения

    24. Выравнивание стека и руководство по выравниванию

    25. Предиктивное завершение кода в XCode

    26. Общее представление о структурированной конкурентности в Swift

    27. Введение в акторы

    28. Конкурентность и модификаторы событий жизненного цикла в SwiftUI

    29. Руководство по использованию наблюдаемых объектов и объектов наблюдения в SwiftUI

    30. Хранение данных с использованием AppStorage и SceneStorage

    31. Списки и навигация в SwiftUI

    32. Руководство по использованию представлений List и NavigationStack

    33. Общее представление о навигации с использованием Split View

    34. Руководство по использованию NavigationSplitView

    35. Общие сведения о представлениях List, OutlineGroup и DisclosureGroup

    36. Руководство по использование List, OutlineGroup и DisclosureGroup

    37. Создание сеток с помощью LazyVGrid и LazyHGrid

    38. Создание сеток с помощью Grid и GridRow

    39. Создание собственных контейнеров

    40. Руководство по применению пользовательских контейнеров

    41. Создание представлений, разбитых на вкладки и страницы

    42. Создание контекстных меню

    43. Основы отрисовки графики в SwiftUI

    44. Анимация и переходы в SwiftUI

    45. Работа с распознаванием жестов в SwiftUI

    46. Создание пользовательского индикатора прогресса ProgressView

    47. Представление данных с помощью SwiftUI Charts

    48. Руководство по использованию SwiftUI Charts

    49. Обзор сцен SwiftUI DocumentGroup

    50. Руководство по использованию DocumentGroup

    51. Введение в Core Data и SwiftUI

    52. Руководство по использованию Core Data

    53. Обзор применения Core Data и хранилища CloudKit

    54. Руководство по использование Core Data и CloudKit

    55. Введение в SwiftData

    56. Руководство по использованию SwiftData

    57. Создание виджетов с помощью SwiftUI и WidgetKit

    58. Руководство по использованию WidgetKit

    59. Поддержка семейств размеров виджетов

    60. Руководство по использование глубинных ссылок WidgetKit

    61. Добавление к виджету WidgetKit параметров конфигурации

    62. Обзор Live Activities в SwiftUI

    63. Руководство по использованию Live Activities

    64. Добавление к Live Activity кнопки обновления

    65. Руководство по использованию пуш-уведомлений в Live Activity

    66. Тестирование пуш-уведомлений Live Activity

    67. Устранение неполадок, связанных с пуш-уведомлениями Live Activity

    68. Интеграция UIViews со SwiftUI

    69. Интеграция UIViewControllers в SwiftUI

    70. Интеграция SwiftUI с UIKit

    71. Подготовка и отправка приложения для IOS 18 в AppStore

  • 1024
  • 14 листопада 2025, 13:59

Реєстрація

Можливості
безмежні.
Настав час
відкрити свої.

Уже зарегистрированы?
Швидка реєстрація через соцмережі
Вхід на сайт

Заходьте.
Відкрито.

not_registered
 
Підключіться до будь-якого з ваших акаунтів, ваші дані будуть взяті з акаунту.
Забули пароль?