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-приложения ,на которых можно что-то заработать.
Идеальный вариант - если чистый доход с разработанных мной приложений догонит текущий доход с работы. Тогда можно было бы уволиться и заняться этим уже серьезно ,работая исключительно на себя.
-
Книга: Swift? Не вопрос
Книга для самого первого быстрого погружения ,чтобы составить представление о том ,как устроен язык и фреймворк SwiftUI.
Читаю быстро ,особо не погружаюсь в детали.
-
SwiftUI Standford
-
Getting started with SwiftUI
-
Learning more about SwiftUI
-
MVVM and the Swift type system
-
Memorize Swift Logic
-
Properties Layout @ViewBuilder
-
Protocols Shapes
-
ViewModifier Animation
-
Animation Demonstration
-
EmojiArt Drag and Drop Multithreading
-
Multithreading Demo Gestures
-
-
Swift. Самое полное руководство по разработке в примерах от сообщества Stack Overflow
-
Начало работы с языком Swift
-
Переменные и свойства
-
Числа
-
Строки и символы
-
Логические значения
-
Массивы
-
Кортежи
-
Перечисления
-
Структуры
-
Множества
-
Словари
-
Оператор switch
-
Опционалы
-
Условные выражения
-
Обработка ошибок
-
Циклы
-
Протоколы
-
Функции
-
Расширения
-
Классы
-
Приведение типов
-
Обобщенные типы
-
OptionSet
-
Чтение и запись JSON
-
Расширенные операторы
-
Swizzling методов
-
Рефлексия
-
Управление доступом
-
Замыкания
-
Инициализаторы
-
Связанные объекты
-
Параллелизм
-
Начало работы с протокольно-ориентированным программированием
-
Функциональное программирование в Swift
-
Функции как объекты первого класса в Swift
-
Замыкания
-
Оператор defer
-
Стилевые соглашения
-
NSRegularExpression в Swift
-
Библиотека RxSwift
-
Swift Package Manager
-
Работа с C и Objective-C
-
Разметка документации
-
Typealias (Псевдоним типа)
-
Внедрение зависимостей
-
Кеширование на дисковом пространстве
-
Алгоритмы в Swift
-
Расширенные функции
-
Обработчик завершения (Completion Handler)
-
Swift HTTP-сервер от Kitura
-
Генерация UIImage из инициалов строки
-
Пораждающие шаблоны проектирования
-
Структурные шаблоны проектирования
-
Небезопасные указатели на буфферы
-
Криптографическое хеширование
-
Шифрование по стандарту AES
-
Формирование ключа с использованием стандарта PBKDF2
-
Логирование в Swift
-
Управление памятью
-
Производительность
-
-
Swift Documentation / Language Guide
-
The Basics
-
Basic Operators
-
Strings and Characters
-
Collection Types
-
Control Flow
-
Functions
-
Closures
-
Enumerations
-
Structures and Classes
-
Properties
-
Methods
-
Subscripts
-
Inheritance
-
Initialization
-
Deinitialization
-
Optional Chaining
-
Error handling
-
Concurrency
-
Macros
-
Type Casting
-
Nested Types
-
Extentions
-
Protocols
-
Generics
-
Opaque and Boxed Protocol Types
-
Automatic Reference Counting
-
Memory Safety
-
Access Control
-
Advanced Operators
-
-
Swift. Василий Усов (6 издание)
-
Отправная точка
-
Фундаментальные типы данных
-
Кортежи
-
Последовательности и коллекции
-
Диапазоны
-
Массивы
-
Множества
-
Словари
-
Строка - коллекция символов
-
Операторы управления
-
Опциональные типы данных
-
Функции
-
Замыкания
-
Дополнительные возможности
-
Ленивые вычисления
-
Консольное приложение "Сумма 2 чисел"
-
Консольная игра "Угадай число"
-
Введение в ООП и ПОП
-
Перечисления
-
Структуры
-
Классы
-
Свойства
-
Сабскрипты
-
Наследование
-
Контроль доступа
-
Псевдонимы Any и AnyObject
-
Инициализаторы и деинициализаторы
-
Управление памятью в Swift
-
Опциональные цепочки
-
Протоколы
-
Расширения
-
Протокол-ориентированное программирование
-
Разработка приложения в XCode Playground
-
Универсальные шаблоны (Generics)
-
Обработка ошибок
-
Нетривиальное использование операторов
-
Разработка приложения с использованием UIKit
-
Разработка приложения с использованием SwiftUI
-
Паттерны проектирования
-
-
Swift. UIKit. Василий Усов
-
Игра "Right on target"
-
Введение в шаблон проектирования MVC
-
Введение в жизненный цикл View Controller
-
Рефакторинг программного кода
-
Структура и запуск IOS приложения
-
Шаблоны "Делегирование" и "Источник данных"
-
Табличные представления. Класс UITableView
-
Долговременное хранение данных. User Defaults
-
Навигационный контроллер. Класс UINavigation Controller
-
Передача данных между контроллерами
-
Контроллер табличного представления. Класс UITableViewController
-
Табличные представления на основе прототипов ячеек
-
Изменение элементов табличного представления
-
Создание и изменение задач
-
Завершение разработки приложения
-
Классы UIView и CALayer
-
Кривые Безье
-
Создание игральной карточки. Разработка кастомных представлений и слоев
-
События и анимации в IOS
-
Разработка приложения
-
-
100 задач на Codewars с языком Swift
-
5
-
10
-
15
-
20
-
25
-
30
-
35
-
40
-
45
-
50
-
55
-
60
-
65
-
70
-
75
-
80
-
85
-
90
-
95
-
100
-
-
Курс от Яндекс Практикум по IOS расширенный
-
Спринт 1
-
Спринт 2
-
Спринт 3
-
Спринт 4
-
Спринт 5
-
Спринт 6
-
Спринт 7
-
Спринт 8
-
Спринт 9
-
Спринт 10
-
Спринт 11
-
Спринт 12
-
Спринт 13
-
Спринт 14
-
Спринт 15
-
Спринт 16
-
Спринт 17
-
Спринт 18
-
Спринт 19
-
Спринт 20
-
Спринт 21
-
Спринт 22
-
Спринт 23
-
Спринт 24
-
Спринт 25
-
Спринт 26
-
-
Swift подробно
-
Введение
-
Моделирование данных с помощью перечислений
-
Написание более чистых свойств
-
Делаем опционалы второй натурой
-
Разбираемся с инициализаторами
-
Непринужденная обработка ошибок
-
Обобщения
-
Становимся профессионалами в протокольно-ориентированном программировании
-
Итераторы, последовательности и коллекции
-
map, flatMap и comactMap
-
Асинхронная обработка ошибок с помощью типа Result
-
Расширения протоколов
-
Шаблоны Swift
-
Написание качественного кода на языке Swift
-
Что дальше?
-
- 471
- 14 ноября 2025, 13:59
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением