表达力,
而不是样板代码。
空安全、扩展函数、密封类型与协程,让领域模型更精确,也让异步流程更容易理解。
- Structured concurrency
- Type-safe domain models
- Flow-based data streams
My craft / Android development
我用现代 Kotlin 组织复杂业务,用 Jetpack Compose 把状态、视觉和交互连接起来。
空安全、扩展函数、密封类型与协程,让领域模型更精确,也让异步流程更容易理解。
声明式 UI 让设计系统、响应式布局与自然动效共享同一种语言,迭代更快,逻辑也更透明。
A small example
组件只接收所需状态与事件,业务留在可测试的状态持有者中。
@Composable
fun ProjectCard(
project: Project,
onOpen: (Project) -> Unit,
) {
Card(
onClick = { onOpen(project) },
) {
Text(project.title)
AnimatedVisibility(project.isNew) {
Badge("New")
}
}
}Working principles / 实践原则
状态向下,事件向上。让 UI 成为状态的直接表达,而不是一串难以追踪的指令。
用小而明确的组件边界控制复杂度,让预览、测试与复用都成为日常能力。
动效用于解释状态与空间关系。优先 transform、opacity,并始终照顾减少动态效果的偏好。
稳定参数、合理拆分状态读取,在设计阶段就避免无意义的重组与昂贵绘制。
Selected work