- struct
- Тип значения в Swift. По умолчанию подходит для представления неизменяемых моделей данных, при присваивании копируется. Этот инструмент по умолчанию генерирует struct для представления объектов JSON.
- class
- Ссылочный тип в Swift. Подходит для сценариев, требующих общего состояния, наследования или идентичности (===). Этот инструмент может генерировать class при определенных конфигурациях.
- Optional(?)
- Модификатор типа в Swift, указывающий, что значение может быть nil, например var name: String?. Поля, генерируемые этим инструментом, по умолчанию не Optional, после генерации можно вручную добавить ? в зависимости от того, может ли поле JSON отсутствовать.
- Array([T])
- Сокращение типа массива в Swift. Этот инструмент преобразует массивы JSON в [T], T выводится по типу элементов массива, например [String], [Int] или [пользовательский тип].
- Codable
- Комбинация протоколов Decodable и Encodable в Swift. После реализации Codable можно использовать JSONDecoder для парсинга данных JSON в экземпляры типов. Этот инструмент по умолчанию не генерирует Codable, нужно добавить вручную.
- JSONDecoder
- Парсер JSON в фреймворке Foundation. Используется в сочетании с протоколом Codable, может преобразовывать Data в экземпляры типов Swift. После вывода чистых типов этим инструментом разработчики могут самостоятельно парсить с помощью JSONDecoder.
- URLSession
- API сетевых запросов в фреймворке Foundation платформы Apple. Распространенное использование - URLSession.shared.data(from: url), в сочетании с JSONDecoder для завершения интеграции интерфейсов.
- Alamofire
- Самая популярная сторонняя HTTP-библиотека в сообществе Swift. Обернута на основе URLSession, поддерживает responseDecodable для прямой десериализации в типы Swift.
- Moya
- Сетевой абстрактный слой Swift, обычно используется в паре с Alamofire. Moya в сочетании с типами Codable может значительно упростить шаблонный код вызовов API.
- Vapor
- Ведущий серверный фреймворк Swift, использующий Swift для создания веб-приложений на macOS / Linux. Структуры Swift, сгенерированные этим инструментом, также могут использоваться для моделей маршрутизации Vapor.
- quicktype
- Инструмент с открытым исходным кодом для генерации типов с поддержкой многих языков, этот инструмент завершает преобразование JSON в Swift через quicktype-core в Web Worker браузера.
- Property
- Объявление свойства в типе Swift. Этот инструмент отображает каждый ключ JSON в свойство Swift, например "name": "Alice" отображается в var name: String.
- Type Inference
- Процесс автоматического вывода типа Swift на основе литеральной формы значений JSON. Этот инструмент выполняет сопоставление на основе null, boolean, number, string, array, object.
- localStorage
- Локальное хранилище ключ-значение браузера. Этот инструмент использует localStorage для сохранения последней истории ввода, восстановления после обновления или случайного закрытия страницы.
- Web Worker
- Механизм фоновых потоков, предоставляемый браузером. Этот инструмент загружает и выполняет quicktype-core через Web Worker, избегая блокировки основного потока при преобразовании больших JSON.
- SwiftUI
- Декларативный UI-фреймворк, представленный Apple. Типы Swift, сгенерированные этим инструментом, могут использоваться как модели данных для представлений SwiftUI в сочетании с @State / @ObservedObject для управления интерфейсом.
- Combine
- Реактивный фреймворк программирования Apple. Сгенерированные типы Swift в сочетании с JSONDecoder могут строить реактивные потоки данных dataTaskPublisher.
- SwiftData
- Фреймворк сохранения данных, представленный Apple в 2023 году. Типы, сгенерированные этим инструментом, могут служить базовыми классами моделей SwiftData, после добавления @Model могут управляться SwiftData.
- Value Type / Reference Type
- В Swift struct - это тип значения, class - ссылочный тип. Этот инструмент по умолчанию генерирует struct, при присваивании копируется; если нужна ссылочная семантика, можно вручную изменить на class.
- Field Naming
- Этот инструмент по умолчанию сохраняет исходные имена полей JSON. Если исходный JSON в snake_case, а проект требует camelCase, нужно переименовать вручную или настроить рендерер quicktype.
- ISO 8601 дата
- Распространенный формат даты JSON, например 2026-07-14T10:00:00Z. Требуется комплект JSONDecoder.dateDecodingStrategy = .iso8601 для правильного парсинга в тип Date.