Чтение кода (и его понимание) — один из лучших способов улучшить свои навыки разработки. Проекты с открытым исходным кодом — самое правильное место, где можно узнать о лучших практиках, стилях программирования и многих других темах. В этой статье список из 7 iOS-проектов на SwiftUI, которые помогут вам научиться новому.
1. Clean Architecture for SwiftUI + Combine
Проект: https://github.com/nalexn/clean-architecture-swiftui
Поддержание чистой архитектуры при создании приложения — один из навыков хорошего разработчика. Как вы уже догадались по названию, этот проект демонстрирует приложение SwiftUI с чистой архитектурой. Он включает в себя множество фич, таких как отвязанные (decoupled) представления, независимые уровни бизнес-логики и доступа к данным, полное тестовое покрытие, включая пользовательский интерфейс, централизованный AppState в стиле Redux в качестве единого источника достоверности, сохранение данных с помощью CoreData и многое другое. У него более 4 тысяч звезд на GitHub. Если вам интересно узнать о чистой архитектуре в Android, ознакомьтесь с этой статьей. А если вас интересуют открытые проекты на Jetpack Compose, то посмотрите «10 открытых проектов Jetpack Compose, которые вас вдохновят».
2. The OldOS Project
Проект: https://github.com/zzanehip/The-OldOS-Project
Этот интересный проект воссоздает полнофункциональную версию iOS 4 в SwiftUI. Он демонстрирует, чем была iOS десять лет назад. Подавляющее большинство приложений в этом проекте полностью функциональны — это означает, что они легко интегрируются с данными на вашем телефоне, чтобы обеспечить живой опыт в эмуляторе. Он позволяет любому понять, как работает iOS, и демонстрирует, насколько мощным на самом деле является SwiftUI. Этот проект имеет более 2.5 тысяч звезд на GitHub.
2. SwiftUICraft
Проект: https://github.com/aheze/SwiftUICraft
Один из лучших способов изучить новую технологию — создать клон большого проекта. Как вы уже догадались, это Minecraft, но сделанный с помощью SwiftUI. Он включает в себя множество функций, таких как поддержка физики для воды и лавы, работает как в ландшафтном, так и в портретном режиме, включает 3 уровня на выбор, автоматически сохраняет ваш прогресс и многое другое.
4. Velik
Проект: https://github.com/avdyushin/Velik
Это приложение для отслеживания поездок, созданное на SwiftUI с использованием Combine и CoreData. Оно предлагает пользователям множество функций, таких как отслеживание текущего местоположения и рисование путей на карте, отображение текущей/средней скорости, расстояния и продолжительности поездки, расчет среднего усилия и потери веса, импорт файлов GPX в поездки и многое другое.
5. Open Sesame
Проект: https://github.com/OpenSesameManager/OpenSesame
Это бесплатный и мощный менеджер паролей, который позволяет вам легко управлять своими паролями. Он синхронизируется с iCloud и шифрует ваши данные, чтобы доступ был только у вас. Он включает в себя множество функций, таких как AES-шифрование на устройстве, разблокировка по биометрическим данным, поддержка кредитных/дебетовых карт, автозаполнение Safari и многое другое. В качестве альтернативы вы можете посмотреть на Raivo OTP, еще один открытый менеджер паролей.
6. Swiftui 2048
Проект: https://github.com/jVirus/swiftui-2048
Нетрудно догадаться по названию, что этот проект представляет собой реализацию классической игры 2048 на чистом SwiftUI, без графических ассетов. Он включает в себя множество функций, таких как интерактивные переходы, хранение Настроек в списке свойств, поддерживает iPhone, iPad и macOS, систему оценок и слияний (когда несколько слияний происходят подряд, вы получаете множитель очков) и многое другое.
7. Expense Tracker
Проект: https://github.com/alfianlosari/SwiftUICDExpenseTrackerCompleted
Это полноценное iOS-приложение для отслеживания расходов, созданное с помощью Core Data и SwiftUI. Оно включает в себя создание, редактирование и удаление журналов расходов, фильтрация расходов по категориям и поисковым запросам, отображение дашборда с общей суммой расходов и по категориям с графиками и многое другое.
Что еще
Всегда есть чему поучиться, но это все на сегодня. Я верю, что эти проекты помогут вам узнать новое и подскажут новые пути развития. Еще больше открытых проектов или туториалов по SwiftUI вы можете найти на нашем сайте — вот их список.
Если вы знаете какие-либо другие красивые проекты с открытым исходным кодом для iOS, поделитесь ими в нашем канале.