2

Apple 一家建筑公司

 2 years ago
source link: https://tomotoes.com/blog/apple-a-construction-company/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我与墙的故事。

本文只从技术发展角度出发,资本层面不允置评。

筑墙的公司

如果一家公司有自研的操作系统,有完善的设备生态,并且还拥有一大批成千上万的粉丝用户,那么很可能会发生一个现象:的出现

我说的墙指的是,如果你想在我的圈子牟利,你必须遵守我的规矩,必须用我提供的工具,且必须维护我的利益。

这样的一堵墙不仅束缚了开发者,无形中还阻碍了它自身的发展。

Apple,正是一家喜欢筑墙的公司。

这两天,我针对网站在平板上的显示问题,特地去调整了一下Tomotoes的样式。

结果便陷入了与的对抗之中。

我遇到的第一堵墙是Apple专有的浏览器内核。

因为Tomototes在平板下存在层叠渲染 Bug,我单纯地以为只是Safari的问题,结果当下载了好多个浏览器之后,惊奇地发现:网站显示的问题居然一致。

不管了Firefox还是Chrome全是一个样,惊了。

于是我上网搜了一下Apple的浏览器内核信息。

apple only have a webkit

信息很明显:我Apple商店中的所有浏览器都必须用我的内核,你们做的只是UI

So,那接下来和这一个内核打交道就是了。

我遇到的第二堵墙是苹果浏览器内核的实现标准的任意性。

原本,我想写的文章是 Safari-下一个 IE6,但针对性不强就改了。

CSS有一个专门指定层叠元素优先级的样式,z-index

各家浏览器实现得参差不齐,但都差不多。

Apple不一样,它有自己的设计理念。

在带有 3D 变换的元素上,它根据语义不认同z-index,而是translateZ

我觉得这一理念,其实有点道理的,人眼在 3D 层面看待一件东西,确实是 Z 轴决定重叠优先级。

但,这CSS国际标准就可以这么任意实现嘛,在你重定自己的标准时,你想过有多少开发者会因此掉头发啊。

我遇到的第三堵墙便是IOS设备上的网页调试问题。

试问,在 2020 年,你如果没有一台MacApple下的所有工具 都休想染指。

调试 Android 设备上的网页非常简单,只需要打开Chrome开发工具,选择远程设备即可。

IOS设备,我只能借助第三方软件。

由于我的设备是IOS13+Win10,有很多软件都无法适配。比如,ios-webkit-debug-proxyRemoteDebug iOS WebKit Adapter等。

这一来二去,浪费了很长时间。最后,我想了想,只要让IOS设备能在同一网段访问本地网站就可Debug

然后,我找到了browser-sync这一利器,满足了基本需求。

嗯,“愉快”的Debug之路便开始了。

互联网的专制者

刚刚在网上刷到了贾跃亭的一封致苹果的公开信,信中所讲虽有利他之嫌,但对于苹果专制的描绘却很形象。

信中有一句话是这样描述的:

在苹果的封闭的体系中,所有的应用开发者、用户,都必须是他的顺民,都必须遵循他苛刻的规则。苹果,已成为“封闭”的代名词。


额,本文有点标题党了。

但这么封闭专制的公司,不吐不快~

转载本站文章请注明作者和出处 一个坏掉的番茄,请勿用于任何商业用途。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK