首页 > 科技 > 为什么要花很久才能完成黑暗模式的功能

为什么要花很久才能完成黑暗模式的功能

本周,我终于开始为 Reps & Sets 增加暗模式支持,这是我开发的 iPhone 健身应用程序,作为一个副业的产品。 这距离苹果在全球开发者大会上首次宣布这一功能已经过去了将近一年。

怎么这么久? 因为支持暗模式并不像看起来那么简单。不仅仅是像我这样的独立开发者在这方面表现挣扎。 就算是 Whatsapp, 最近才增加了暗模式支持,Facebook 还在进行 beta 测试。

因此,如果你正在等待你最喜欢的应用程序切换到黑暗模式,下面就是为什么它可能需要这么长的时间。


黑暗模式: 不像关灯那么简单

作为一个开发者,当你第一次在 Xcode 启用黑暗模式时,它看起来并不漂亮。(见下面的截图) 你的应用程序看起来像一个怪物,一个拼凑在一起的白色部分和黑暗部分的奇怪的不和谐的组合。

问题在于,虽然用户界面的某些部分(比如背景)会自动切换到暗色,但其他部分则不会。有些文本因为是黑底黑字而变得无法阅读。带白色背景的页又看起来太亮太烦人了。为浅色背景设计的插图和图标看起来都很糟糕。

是的,如果这个应用程序使用苹果的默认按钮和样式,也许它看起来不会那么糟糕。但在现实中,生活从来都不是那么简单。即使是苹果的内置应用程序也经常偏离默认的用户界面元素。

当我第一次看到我的应用程序在黑暗模式看起来一团糟时,我的心沉了下去。Reps & Sets 是一个庞大而复杂的应用程序,有许多不同的视图。我知道更新所有的文件需要大量的工作。每个视图都需要仔细的设计考虑,以确保所有元素看起来都很好。

事实上,我的应用程序已经不再年轻了,这使得情况更加复杂。它最初是九年前为 iOS 6开发的。自那时以来发生了很多变化,所以现在有了大量的遗留代码(开发人员对脏东西的委婉说法)。因此,无论何时您触摸代码,您通常都必须更新它。

黑暗模式一团糟

不过,当您试图添加暗模式支持时,更新视图只是问题的开始。 大多数应用程序还包括需要修改的图标、标志和插图等资源。

苹果帮助你在黑暗模式下应用一个不同的颜色到你的资源文件。对于简单的平面图标,这种方法非常有效。但是对于动画或者彩色图形并没有帮助。

你可能会惊讶于应用程序有多少资源文件。例如,在 Reps & Sets 中,我不得不修改100多个图标和300个插图。仅这项任务就花了我40个小时才完成。

不要忘记正常的光亮模式

更复杂的是,你为支持黑暗模式所做的每一个改变都必须在光明模式下工作。所以现在你设计的是两个用户界面而不是一个。

即使你完成了黑暗模式,工作也不会就此结束。从现在开始,每次你发布更新的时候,你需要在黑暗模式和光线模式下测试它。这是一项耗时的工作。以前,我在操作系统和硬件的八种不同组合中测试过 Reps & Sets。黑暗模式将其翻倍为16个版本。

黑暗模式下的 logo


在你开始实施黑暗模式之前,有一个更基本的问题需要考虑: logo 识别。

像 Facebook 这样的知名 logo 是无价的资产,需要精心管理才能保持其完整性。它的 logo 形象应该在所有平台上保持一致,所以它总是能立即被识别出来。黑暗模式使之复杂化。并不是所有的 logo 和配色方案都适合黑色。

即使对于我的小旧应用程序来说,这也需要一些思考。例如,Reps & Sets 的颜色是深蓝色。在白色背景下效果很好,但在黑色背景下就不那么清晰了。所以我必须添加一个浅蓝色到我的 logo 调色板。

这对我来说是一个很容易的改变,因为我是一个人。但对于像 Facebook 这样涉及众多利益相关者的大公司来说,改变 logo 通常是一个复杂、耗时的过程。它的影响可能远远超出应用本身,比如网站的设计或者标识牌和展览架的外观。

难怪如此多的大机构决定完全忽略黑暗模式。

我还以为黑暗模式会更有诱惑力呢

Reps & Sets 是一款免费增值应用。基本的下载是免费的,有一个应用内购买选项,用户可以通过付费订阅来访问额外的功能。但是不可能限制对高级用户的暗模式支持。因此,所有用户都可以免费获得所有这些好处。

从纯粹的商业角度来看,我没有动机去实现黑暗模式。但我不仅仅是为了钱。如果我是的话,我早就放弃了。我之所以选择它,是因为我觉得它很酷,而且我知道它看起来会很好。另外,我自己使用这个应用程序的时候,我使用黑暗模式。

这就是为什么我选择在无休止的夜晚和周末辛勤工作,重新划分数百个资源文件。我这么做是为了爱,不是为了钱。而且爱情不是一种大公司都能理解的货币。最终,我认为这就是为什么拥有比我想象的更多资源的大公司,要比我花更多的时间来支持黑暗模式。


【翻译自https://www.hindustantimes.com/】

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/kj/374428.html