Что такое протокол обмена данных в контексте iOS-разработки?

«Что такое протокол обмена данных в контексте iOS-разработки?» — вопрос из категории Сети, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Протокол обмена данных — это стандартизированный набор правил, определяющих формат, последовательность и обработку данных при передаче между системами (клиент-сервер, P2P).

Ключевые протоколы в iOS:

  • HTTP/HTTPS: Основа для REST/GraphQL API.
  • WebSocket: Для двусторонней связи в реальном времени.
  • TCP/UDP: Транспортные протоколы для низкоуровневой связи.
  • Локальные: Codable для сериализации, MultipeerConnectivity для обмена между устройствами.

Пример REST-запроса с Codable:

struct User: Codable {
    let id: Int
    let name: String
}

func fetchUsers() {
    guard let url = URL(string: "https://api.example.com/users") else { return }
    URLSession.shared.dataTask(with: url) { data, _, error in
        guard let data = data, error == nil else { return }
        do {
            let users = try JSONDecoder().decode([User].self, from: data)
            print(users)
        } catch {
            print("Decoding error: (error)")
        }
    }.resume()
}

Почему это важно: Правильный выбор протокола напрямую влияет на производительность, безопасность и функциональность сетевого взаимодействия в приложении.