В этой статье мы кратко рассмотрим несколько наиболее важных библиотек и советов, которые сделают вашу повседневную разработку приложений эффективной и легкой.
1. Используйте SwiftUI. SwiftUI помогает создавать красивые приложения для всех платформ Apple с помощью Swift и минимального количества кода. С помощью SwiftUI вы можете предоставить еще лучший опыт всем пользователям на любых устройствах Apple, используя всего один набор инструментов и API.
2. Выберите Combine вместо RxSwift — фреймворк, предоставляющий декларативный Swift API для обработки значений с течением времени. Он может работать со всеми видами асинхронных событий.
3. Используйте Swinject для внедрения зависимостей — облегченный фреймворк внедрения зависимостей для Swift, который уменьшает количество шаблонного кода, необходимого для внедрения зависимостей в вашем проекте.
4. Используйте SwiftLint для форматирования кода — инструмент для обеспечения соблюдения стиля и соглашений Swift, в общих чертах основанный на теперь уже устаревшем GitHub Swift Style Guide. Он обеспечивает соблюдение правил, которые общеприняты в сообществе Swift.
5. Используйте UIPilot для упрощения навигации в SwiftUI. С помощью UIPilot можно легко и надежно обрабатывать сложную навигацию в SwiftUI.
6. Используйте библиотеку SQLite для локальной базы данных — лучший подход к сохранению данных, а также он работает как легкая и удобная Swift-обертка для C API.
7. Используйте Alamofire для работы с сетью и упрощения общих сетевых задач. Среди его функций есть методы для связанных request/response запросов, декодирования JSON и Codable, аутентификация и многое другое.
8. Используйте Kingfisher для загрузки изображений — мощная библиотека на чистом Swift для быстрой загрузки и кэширования изображений из Интернета. SwiftUI предоставляет собственное представление AsyncImage, которое асинхронно загружает и отображает картинки.
9. Используйте CocoaLumberjack для логирования. Улучшайте логи с помощью CocoaLumberjack, который представляет собой быструю и простую, но мощную и гибкую среду ведения логов для macOS, iOS, tvOS и watchOS.
10. Разрабатывайте с помощью фиче-флагов. Чтобы иметь возможность выпускать приложение, пока функции все еще находятся в разработке, используйте флаги функций. Флаги функций позволяют командам иметь несколько вариантов приложения, которым можно управлять с помощью флагов, они избавляют вас от ада ветвления в GIT.
11. Используйте архитектуру MVVM. Идеальное решение для всех недостатков MVP и MVC, которое делает код тестируемым, более несвязанным и простым в обслуживании, что является широко используемым шаблоном проектирования для разработки приложений. Архитектура MVVM также очень хорошо сочетается со SwiftUI.
12. Модуляризируйте ваше приложение по функциям — это позволит добиться более быстрой сборки, сокращения boilerplate кода, меньших по размеру и удобных в сопровождении модулей, меньших циклических зависимостей, более простой навигации, разделения ответственности и многих других преимущества.
13. Используйте UserDefaults для хранения простых пар ключ-значение — интерфейс к пользовательской базе данных, где вы можете постоянно хранить пары ключ-значение и где данные могут быть строковыми, целыми, логическими или любым типом Object.
14. Используйте SwiftKeychainWrapper для хранения защищенных пар «ключ-значение» — это простая оболочка для Keychain в iOS/tvOS, позволяющая использовать ее аналогично User Defaults. Библиотека написана на Swift, предоставляет экземпляр singleton, который подходит для большинства случаев.
15. Всегда измеряйте покрытие кода. Вы можете выбрать встроенную опцию, такую как инструмент для измерения покрытия кода в Xcode 12, или бесплатную библиотеку, например Slather, которая будет генерировать отчеты о покрытии тестами для проектов Xcode и подключать их к вашей CI.
16. Тестируйте свои классы с помощью модульных тестов. Вы уже наверняка знаете о важности написания модульных тестов. Вы можете использовать библиотеку XCTest или Nimble для простого написания тестов. Кроме того, используйте внедрение зависимостей, если это еще не сделано, чтобы разрешить использование классов-заглушек во время тестов.
17. Протестируйте свой пользовательский интерфейс с помощью EarlGrey 2.0 — нативной среды тестирования UI в iOS, которая сочетает в себе EarlGrey с XCUITest, официальной средой тестирования пользовательского интерфейса от Apple.
18. Используйте CI/CD для автоматизации разработки — CI/CD необходим для автоматизации процесса разработки. Автоматизируйте все ручные задачи и не беспокойтесь больше о них.
19. Используйте Firebase Crashlytics для аналитики сбоев. Этот легкий инструмент для создания отчетов о сбоях в режиме реального времени и он упрощает управление стабильностью вашего приложения.
20. Приоритет безопасности приложений. Конфиденциальность пользователей имеет первостепенное значение. Чтобы люди доверяли вашему приложению, важно быть прозрачным в отношении данных и ресурсов, связанных с конфиденциальностью. Ознакомьтесь с официальным руководством Apple по доступу к пользовательским данным и ресурсам.
А в этой статье вы можете найти «Лучшие практики Android-разработки 2022«.