DevPrep

Все темы › Основные понятия программирования

API

Junior

Суть

API (Application Programming Interface) — контракт между двумя частями кода: набор типов, функций и правил, которые одна сторона публикует, а другая использует, не зная внутренней реализации. Реализацию можно менять, пока контракт сохраняется.

Какие API встречает iOS-разработчик

Как выглядит хороший API в Swift

import Foundation

// Контракт: что умеет сервис. Как именно — скрыто.
public protocol ImageLoading: Sendable {
    func data(for url: URL) async throws -> Data
}

public struct ImageLoader: ImageLoading {
    public init() {}

    public func data(for url: URL) async throws -> Data {
        let (data, _) = try await URLSession.shared.data(from: url)
        return data
    }

    private func cacheKey(for url: URL) -> String {   // не часть API
        url.absoluteString
    }
}

@available(iOS 26, *)
public func liquidGlassEffect() {}   // доступность — тоже часть контракта

Чем API отличается от фреймворка и SDK

На что смотрит интервьюер

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

Потренируйтесь перед собеседованием

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

Скачать DevPrep в App Store