- Notifications
You must be signed in to change notification settings - Fork1
surfstudio/SurfPlaybook
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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() // 1Playbook.shared.add(chapter:ControlsChapter().build()).add(uiKitPage:ColorsUIKitPage()).add(flowCoordinator:AuthFlowCoordinator()) // 2Playbook.shared.start(from:self.window)returntrue}
- Заполнить playbook необходимыми вам данными
- Запустить playbook, передав в качестве параметра
KeyAndVisible
-window, в рамках которого отображается приложение
При необходимости - перед шагом[2]
можно изменить цветовую палитру playbook-а и вшитые в него тексты на подходящие именно вам (для этого предусмотреныColorsConfig
иStringsConfig
).
Список всех изменений можно посмотреть в этомфайле.