iOS framework for Playbook
Библиотека для быстрого и легкого построения playbook-а проекта, который бы включал в себя его основные UI-компоненты, а также, при необходимости, давал бы возможность быстрого доступа к его основным экранам.
Добавьте в свой Podfile следующую строку, затем запустите pod install
pod 'SurfPlaybook'
- В XCode пройдите в
File > Swift Packages > Add Package Dependency
- Введите URL репозитория
https://github.com/surfstudio/SurfPlaybook.git
При создании библиотеки преследовались следующие цели: создать площадку для тестирования и наглядного отображения всех переиспользуемых компонентов проекта
- что могло бы помочь как при проектировании новых фич
- так и при взаимодействии с дизайн-отделом
- облегчило бы вход новых разработчиков в проект
- и ускорило бы разработку
Для этого были реализованы следующие фичи:
- Chapters-Page - система глав и страниц, как в настоящей книге, где каждой главе соответствует набор UI-компонентов, объединенных по смыслу общим принаком, а каждой странице - непосредственно сам UI-компонент
- общее отображение всех UI-компонентов, поиск по названию, а также детальный просмотр компонента
- возможность задать набор различных состояний для одного UI-компонента и возможность переключения между ними при его детальном просмотре
- UIKit Pages - механика для построения полноценного UIKit-а проекта, где вам будет дана возможность заполнить табличные экраны необходимыми именно вам данными, для, например, отображения цветовой палитры приложения, или же для отображения всех доступных стилей кнопок
- Flow Coordinators - возможность задать точку входа на любой экран приложения, или же получить возможность подключить тестовый экран-playground для тестирования новых UI-компонентов в процессе их разработки
- возможность кастомизации цветовой палитры и текстов playbook-а
Все вышеперечисленное можно увидеть в Example-проекте. Для его корректного запуска и конфигурации скачайте репозиторий и выполните команду make init
перед тем как его запустить.
Доступ к playbook осуществляется через singleton
Playbook.shared
Дальнейшая работа с ним заключается в двух шагах
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = UIViewController()
window?.makeKeyAndVisible()
// 1
Playbook.shared
.add(chapter: ControlsChapter().build())
.add(uiKitPage: ColorsUIKitPage())
.add(flowCoordinator: AuthFlowCoordinator())
// 2
Playbook.shared.start(from: self.window)
return true
}
- Заполнить playbook необходимыми вам данными
- Запустить playbook, передав в качестве параметра
KeyAndVisible
-window, в рамках которого отображается приложение
При необходимости - перед шагом [2]
можно изменить цветовую палитру playbook-а и вшитые в него тексты на подходящие именно вам (для этого предусмотрены ColorsConfig
и StringsConfig
).
Список всех изменений можно посмотреть в этом файле.