Комментарии 1
Мы успешно применяем KMP. Но вначале очень не нравилась необходимость дублировать обертку ViewModel на iOS. После нескольких итераций мы нашли подход как использовать shared ViewModel без необходимости добавлять обертку.
struct LoginViewScreen: View {
@EnvironmentObject var scopeHolder: NavigationScopeObservable
var body: some View {
let viewModel: LoginViewModel = scopeHolder.scope.login()
ViewWrap(viewModel: viewModel) { $state in
LoginView(
state: $state,
props: LoginViewProps(
onEmailChanged: viewModel.onEmailChanged,
onPasswordChanged: viewModel.onPasswordChanged,
onLogin: viewModel.onLogin,
onNavigateTo: viewModel.onNavigateTo,
onLoginWithBio: viewModel.onLoginWithBio
))
}
}
}
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как Android-разработчик в iOS погружался: мой опыт внедрения Kotlin Multiplatform