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

  • Реактивное программирование
    Это то, о чем вас спросят во время собеседования, и вы обязательно столкнетесь с этим лицом к лицу в течение своей карьеры. Итак, что вы должны знать о реактивном программировании?
    - Изучите определение.
    - Узнайте, как его реализовать.
    - Изучите RxSwift.
    - Изучите Combine-Library.
  • Асинхронное программирование
    Если вы когда-либо читали книгу, посвященную Swift, вы сталкивались с темой параллелизма. Очень рекомендую прочитать эту книгу, если вы еще этого не сделали. Итак, вернемся к асинхронному программированию. Вот важные темы, которые вы должны знать по теме:
    - Проверить async / await.
    - Понять Grand Central Dispatch (GCD) / DispatchQueues.
  • Сеть
    Вот еще одна важная тема, которую вам следует знать. Когда я пишу эту статью, я рассматриваю вас как младшего разработчика. В результате я хотел бы объяснить вам определение сети. Проще говоря, работа в сети — это написание компьютерных программ, которые взаимодействуют друг с другом через компьютерную сеть.
    Что нужно знать, чтобы понять эту тему?
    — URLSession
    — Moya (Library)< br /> - Kingfisher (специализируется на загрузке изображений)
    - HTTP (как это вообще работает)
    - JSON (формат данных)
    - Encodable/Decodeable
  • Кэширование
    Ну, мы уже подошли к теме, связанной с кэшированием. Если вы не знаете, что такое кэширование, вот простое объяснение: Кэширование означает хранение копий часто используемых данных в кэш-памяти, чтобы мы могли быстрее получить к ним доступ. Кэш-память быстрее доступна. Хорошо, звучит хорошо, но что вы должны знать о кэшировании?
    - Базы данных
    Для этого есть три варианта. Первый — это по умолчанию, то есть SQLite. Второй – нативный iOS, то есть CoreData. А третье – это альтернатива, в данном случае RealM, которую я бы рекомендовал только для небольших проектов.
  • Тестирование
    Тестирование — лучшая часть, потому что если вы можете что-то протестировать, это означает, что вы хорошо поработали! :)
    Что нужно знать о тестировании?
    - Юнит-тесты (XCTest)
    - Test-Driven-Development
    - Behavior-Driven-Development (Quick, Nimble )
  • Обеспечение качества
    Контроль качества — один из важных и не менее важных отделов программирования. Но здесь мы не будем говорить об этом отделе или их работах. Если вы работаете в компании над каким-то проектом, то вам обязательно нужно обратить внимание на качество вашего кода. Что вы должны знать об этом? Как это сделать?
    - Изучите Swiftlint и/или Swiftformat, которые помогут не отставать от рекомендаций по стилю и правильному форматированию.
  • БОНУСНЫЕ КНИГИ
    Прежде всего, я настоятельно рекомендую официальные книги Apple, которые полностью БЕСПЛАТНЫ в iBooks. Ознакомьтесь со списком ниже, и если вы до сих пор не читали некоторые из них, не теряйте времени и начните читать! :)
    1. Язык программирования Swift от Apple Inc
    2. Чистый код Роберт К. Мартин
    3. Чистая архитектура Роберт К. Мартин
    4. Чистый Agile Роберт К. Мартин
    5. Clean Coder Роберт С. Мартин

В принципе, это все с моей стороны. Если вам нравятся мои статьи, если вы считаете их полезными, вы можете нажать кнопку «Подписаться» и поделиться статьями, чтобы охватить больше людей. :)