Какие аспекты iOS-разработки вы считаете наименее интересными или практичными?

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

Ответ

Некоторые области iOS-разработки требуют значительных усилий при низкой отдаче или устарели:

  • UI-автоматизация тестирования: Часто требует большого времени на поддержку хрупких тестов, которые легко ломаются при изменении интерфейса.
  • Storyboards/XIB: Визуальные редакторы создают конфликты при слиянии в Git, их сложно ревьюить, и они менее гибки, чем кодовая верстка.
  • Поддержка очень старых версий iOS (ниже 13): Apple активно продвигает обновления, и доля таких устройств ничтожна. Поддержка требует написания условных проверок и костылей.
    // Устаревший подход, которого стоит избегать
    if #available(iOS 12, *) {
        // Использовать современный API
    } else {
        // Писать обходной путь для iOS 11
    }
  • Чрезмерная оптимизация под устаревшие слабые устройства: Например, iPhone 6. Это не является приоритетом для большинства аудиторий.

Рекомендация: Фокус на современных инструментах (SwiftUI, Combine) и практиках дает большую продуктивность и качество кода.