前言
本文只从技术发展角度出发,资本层面不允置评。
正文
筑墙的公司
如果一家公司有自研的操作系统,有完善的设备生态,并且还拥有一大批成千上万的粉丝用户,那么很可能会发生一个现象:墙
的出现。
我说的墙指的是,如果你想在我的圈子牟利,你必须遵守我的规矩,必须用我提供的工具,且必须维护我的利益。
这样的一堵墙不仅束缚了开发者,无形中还阻碍了它自身的发展。
Apple,正是一家喜欢筑墙的公司。
我的经历
这两天,我针对网站在平板上的显示问题,特地去调整了一下Tomotoes
的样式。
结果便陷入了与墙
的对抗之中。
第一堵墙
我遇到的第一堵墙是Apple
专有的浏览器内核。
因为Tomototes
在平板下存在层叠渲染 Bug,我单纯地以为只是Safari
的问题,结果当下载了好多个浏览器之后,惊奇地发现:网站显示的问题居然一致。
不管了Firefox
还是Chrome
全是一个样,惊了。
于是我上网搜了一下Apple
的浏览器内核信息。
信息很明显:我Apple
商店中的所有浏览器都必须用我的内核,你们做的只是UI
。
So,那接下来和这一个内核打交道就是了。
第二堵墙
我遇到的第二堵墙是苹果浏览器内核的实现标准的任意性。
原本,我想写的文章是 Safari-下一个 IE6
,但针对性不强就改了。
在CSS
有一个专门指定层叠元素优先级的样式,z-index
。
各家浏览器实现得参差不齐,但都差不多。
可Apple
不一样,它有自己的设计理念。
在带有 3D 变换的元素上,它根据语义不认同z-index
,而是translateZ
。
我觉得这一理念,其实有点道理的,人眼在 3D 层面看待一件东西,确实是 Z 轴决定重叠优先级。
但,这CSS
国际标准就可以这么任意实现嘛,在你重定自己的标准时,你想过有多少开发者会因此掉头发啊。
第三堵墙
我遇到的第三堵墙便是IOS
设备上的网页调试问题。
试问,在 2020 年,你如果没有一台Mac
,Apple
下的所有工具 都休想染指。
调试 Android
设备上的网页非常简单,只需要打开Chrome
开发工具,选择远程设备即可。
可IOS
设备,我只能借助第三方软件。
由于我的设备是IOS13
+Win10
,有很多软件都无法适配。比如,ios-webkit-debug-proxy
, RemoteDebug iOS WebKit Adapter
等。
这一来二去,浪费了很长时间。最后,我想了想,只要让IOS
设备能在同一网段访问本地网站就可Debug
。
然后,我找到了browser-sync这一利器,满足了基本需求。
嗯,“愉快”的Debug
之路便开始了。
互联网的专制者
刚刚在网上刷到了贾跃亭的一封致苹果的公开信,信中所讲虽有利他之嫌,但对于苹果专制的描绘却很形象。
信中有一句话是这样描述的:
在苹果的封闭的体系中,所有的应用开发者、用户,都必须是他的顺民,都必须遵循他苛刻的规则。苹果,已成为“封闭”的代名词。
结束语
额,本文有点标题党了。
但这么封闭专制的公司,不吐不快~
转载本站文章请注明作者和出处 一个坏掉的番茄,请勿用于任何商业用途。