생산성 올리는 방법 (Hot Reload)
Inject를 이용하여 생산성 올리기
앱 개발을 진행하면서 변경사항이 있을 때 재빌드 하는 것은 꽤 비효율적이다.
Flutter 개발을 할 때는 핫 리로드 기능이 빌트인 되어있어 빠르게 개발이 가능했다.
iOS 개발을 할 때는 모듈을 쪼개고, 데모앱을 만들어 빌드 속도를 낮추는 방법으로 해결해왔다.
Hot Reload를 위해 생산성 올리기
Inject를 통해 iOS도 핫 리로드가 가능하다.
빌트인이 아니라 초기 설정이 조금 필요하지만 크게 어렵진 않다.
또한 Playbook이라는 라이브러리도 존재하는데 시나리오를 등록하여 각 UI를 볼 수 있다.
/// Playbook 예시 코드
/// 출처: https://github.com/playbook-ui/playbook-ios
Playbook.default.addScenarios(of: "Home") {
Scenario("CategoryHome", layout: .fill) {
CategoryHome().environmentObject(UserData.stub)
}
Scenario("LandmarkList", layout: .fill) {
NavigationView {
LandmarkList().environmentObject(UserData.stub)
}
}
Scenario("UIView red", layout: .fixed(length: 100)) {
let view = UIView()
view.backgroundColor = .red
return view
}
}
Playbook으로 시나리오를 등록하고, Inject로 Hot Reload를 하면 더욱 빠르게 개발이 가능하다.