В этом материале вы узнаете то, что должен (или даже должен) знать каждый 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 Роберт С. Мартин
В принципе, это все с моей стороны. Если вам нравятся мои статьи, если вы считаете их полезными, вы можете нажать кнопку «Подписаться» и поделиться статьями, чтобы охватить больше людей. :)