Do not affect existing components or development schedule Evaluate the cost compared to UIKit to guide future work Help all team members to become familiar with SwiftUI Migration Goals
- Only used in internal debug builds - Used only by developers and the QA team - Understand the basics of SwiftUI - Verify layout, styles, and concepts quickly First Step - Debug Panel
- In-app logger - Record/display logs such as API requests - Filtering, log sending, live logging - Verify navigating, data sharing, and basic architecture More complicated scene
- A standalone app to inspect downloadable resources - A side-project with the concurrency refactoring in the LINE LIVE app - Verify networking, performance, data model, and complex architecture A Step Further - Tool app
- Some simple scenes were rewritten in SwiftUI - Easy enough to quick rollback if necessary - Verify actual behavior in production build Limited use in Production
- Complicated layout and styles - Self-contained module - Seamlessly integrated with other UIKit components - Start to build with pure SwiftUI Build new features
- Complicated layout and styles - Self-contained module - Seamlessly integrated with other UIKit components - Start to build with pure SwiftUI Build new features We will talk more about it soon….
Solve these Problems A better pure functional, redux-like architecture Complex State Management - Single statement management mechanism - Clear, understandable, and no surprises
Solve these Problems A better pure functional, redux-like architecture - Keep smaller components independent and composable - Stable, scalable, and compiler-friendly Difficult to Perform Dependency Injection Complex State Management - Single statement management mechanism - Clear, understandable, and no surprises
The Composable Architecture (TCA) Building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind https://github.com/pointfreeco/swift-composable-architecture
Solve these Problems A better pure functional, redux-like architecture - Keep smaller components independent and composable - Stable, scalable, and compiler-friendly Difficult to Perform Dependency Injection Complex State Management - Single statement management mechanism - Clear, understandable, and no surprises
Before Fully Adopting Helpful if you can understand these View lifecycle Layout system Version evolution Identifier based Proposed & Cooperative Use latest technology