官方的叫法是「Dark Mode」,翻译成中文是「深色模式」 。
不论是官方页面的文案还是手机中的设置文案,都是这么叫 。
目前两种模式是「深色」和「浅色」 。
皮肤 / 主题
其实和苹果的「深色模式」类似的,大家很早以前就一定听过或者使用过-皮肤 。
像「暗黑模式」或者「深夜模式」,其实是很多 app 自己做的一种“皮肤”,用户可以在 app 中提供的设置,自己选择,或者 app 根据时间,比如到了晚上,自动切换为「夜间模式」 。但和苹果 iOS 13 的「深色模式」在实现上是有区别的 。但是目的都是一样的 。
比如以前的 QQ 皮肤、输入法的「夜间模式」或者天气类 app 到了夜间也会改变背景色之类的,这类是 app 自己做的皮肤或者主题适配,一般是开发者根据 app 所属类别或者特性,来决定是否要有这种功能 。所以不是系统级别的,只是 app 自己设置事情 。
皮肤 / 主题的大致原理
开发者在 app 安装包内或者服务端下发「配置」文件,在 app 内的设置页面有一个开关,用户在点击开关时,app 就会读取「配置」文件,使整个 app 的 UI 变为对应的样式 。
iOS 13 的「深色模式」大致原理
苹果 iOS 13 的「深色模式」,是系统级别的,苹果为开发者提供了标准的、便利的适配接口(方法),开发者按照这些接口要求实现,就可以随着系统的「深色模式」开关的切换,给自己 app 的 UI 变换对应的图片或者颜色了 。
一般来说,app 中的图片、文字颜色、界面背景色,会分别设置,对应「深色模式」和「浅色模式」 。
为什么要适配?
这个是系统级别的特性,而且是提升用户体验的特性,苹果都会要求开发者适配 。
其实目的很简单,所有 app 都是苹果生态的一分子,苹果和开发者也是互利的,苹果手机或者系统有了新特性,只有开发者做了适配,才可以体现苹果的功能,用户才能完整的体验到苹果系统的“香”;反之,苹果的系统提供了好的特性,无论是软件还是硬件,开发者利用这些特性来实现自己的 app,才能让自己的 app 更优秀 。
所以,苹果会建议、要求或者强制所有 app 都适配 。一方面为用户带来好的体验,另一方面也是为苹果的生态做“贡献” 。
为什么有的 app 适配了,有的 app 没有适配?
主流的 app、大厂的 app,因为用户量大,为了用户体验、为了赢得更多用户,都会在苹果发布正式版之前,提前做开发、测试 。
苹果在发正式版之前都会发布多个测试版本,测试版的目的就是让开发者知道这个版本有哪些新功能、特性,去掉了哪些接口,让开发者提前做好准备和处理,对新系统做好兼容 。
比如 iOS 13 的第一个预览版本是在2019年6月 WWDC 发布的,然后在 9月发布正式版,所以中间有3个月时间给开发者做准备和开发适配的 。
如果不提前做好这些工作,就像微信这种用户量的 app,用户更新了新系统,然后一大片崩溃不能用 。。。。这种肯定要上新闻了,而且对公司的影响非常大的 。
但是呢,小厂、小团队开发者,没有人力去适配,或者自己的 app 很复杂,需要更多的时间去解决适配问题 。
适配很简单么?