在《80s Old School》中,我从框架层面探讨了现在流行自绘UI的趋势。那么从另一个角度,会产生一个问题:为什么有了这些自绘的跨平台框架,就能迅速在开发者中流行起来?我认为这代表IT行业另一方面的状况,那就是行业整体上更加重视DX(开发体验)而不是UX(用户体验)。软件开发有两个范畴:开发者写得爽和用户用得爽。这两个范畴少数时间能结成联盟,但大多数时间是势不两立。也就是说想要用户体验就要多流汗,想少流汗就要苦一苦用户。现在事实上的现状是,我们的平台太多了。单拿移动端来说,我们有Android、iOS(iPadOS)和鸿蒙三大平台,每一个平台有各自的原生开发框架。假设我们要开发一个产品,在三个平台上都要保持功能一致,那么要想使用户用上流畅无缝的原生体验,需要三套人马。但是用跨平台框架,只需要一套人马。如果你是CEO,你的成本一下子就降低了$\frac{1}{3}$,难道你不会心动吗?如果是我,我大概会心动的。
所以最根本的问题不在于出现了这么些框架,而在于操作系统太多。有人说,80年代操作系统更多。但那个时候,软件和系统是深绑定的。那个时候大概很少有人考虑跨平台问题,我买哪个系统的电脑,就用哪个系统的软件。现在任天堂依然玩的是这套。但是现在不一样了,你不能说我用苹果手机就不允许安装国家反诈中心,也不能说我用华为手机就不能安装YouTube。软件和平台已经没理由绑定了,而操作系统层面又没有一个统一的SDK,所以不得不再套一层抽象,用这些框架来自绘。所以根本的解决问题是直接在操作系统层面做统一,一套代码可以获得多个平台的原生产品。这就需要各个大厂合纵连横,不过如今的这个商业环境下,恐怕可能性不大。所以导致了现在这个多方角力后妥协的结果。