在职责方面:
View: 传统View职责不单一,继承关系不合理。比如Button为了显示文字,继承TextView,结果button的文字也可以复制。
Compose: 而Compose函数式编程思想,规避了面向对象的各种弊病。
迭代
View: 依赖系统版本,修复不及时。
比如当谷歌发现了一个Button的Bug,他想修复只能通过升级系统。这也是为什么后来的Jetpack库都通过扩展库的原因。
Compose: 独立迭代,良好的系统兼容性。
开发效率
View: 命令式编程,开发效率低下。
Compose: 声明式编程,DSL的开发效率更高。