Web 和 Chrome 开发者之间的那些事!
来源 | 代码湾
这个标题可能咋看之下似乎有那么一点怪(不过你要知道,把标题起的这么怪真不是我的本意),而我真正想看到的是,你们 web development 社区是如何看待 Web以及Chrome 开发者之间的协同配合。
接下来(讲述)的大部分内容,都是我直接从自己写的doc给摘录过来的,(至于doc写的是啥)?或许你们可以把它(简单的)理解为团队自己定下的(具有)高水准的目标(our high level goals as a team)吧。不过,我担心的是,接下来的内容可能讲的有点夸张(hyperbolic),(不过说句实在话),从长远来看,我内心还是希望所有与web开发相关的团队(developer relations team)都能够遵守。
(上面讲的内容)其实是可以变的(This isn’t set in stone),不过我还是想围绕这个话题来和大家探讨一下。如果大家都能够给出一些反馈的话,我将不胜感激。(另外,我想说的是),我们大家是不是还忽略一些东西?是不是也没有把关注点放到正确的事情上?(假如你遇到这些事情),你会怎么做?
doc的定位:(其实我们可以把它看作)是一份关于(如何设立)目标、如何分清轻重缓急、如何与开发者共事以及如何为开发者服务的(公开)清单而已。如果你愿意的话,完全可以把它称之为和web开发者相关的那些事。
(要记住),web是属于所有人。(为啥酱紫说呢,有什么依据吗)?就拿web这种媒介来说,也正是因为触网(译者注:接触网络的简称),对于我们来说不怎么费劲(incredibly low friction),这才让web能够以迅雷不及掩耳盗铃之势的速度来到我们身边,而且在历史的长河中(in the history of the world),我也从来没见过一个人就能够让web成为世界各地的人发布内容、吸收(consume )信息和经验的媒介。
我们的目标,是帮助开发者构建自己的开放平台,从而来满足用户的需求,然后就是让这个世界的信息以及经验都能够唾手可得。
我们一直在提醒(advocate for)自己,(自己所在的)Chrome 团队代表的是开放的web(精神),并且希望web用户能够和我们一起来维护(support)web生态系统,从而让web生态系统,在不用顾及开发者究竟是使用哪种浏览器、工具或者用户更偏向哪个平台的前提下,达到更远大的目标。当然,我们也会通过一些方式来支持目标的实现,例如写一些辅助指南以及造一些成功的轮子。
(其实)我们更喜欢在一种开放的环境下工作,比如,我们力图让所有的开发者都能以更加透明的方式来实现自己的目标,那究竟啥是透明的方式?那就是直接与开发者合作。
我们不但是开发者的忠实拥护者,而且有时候还会去倾听来自开发者社区的声音(feedback)。为啥呢?因为这些声音,可以很好的协助我们把Chrome团队的重心(contribution)给引到web platform上去。
我们始终相信,web 是为所有人准备的,而且从(长远的 )web 健壮性的角度来看,开发者很有必要去关注一些针对页面可访问性、页面载入速度、安全性、易用性以及性能优化等方面的规则。
页面的可访问性
(大家都知道),web已经以迅雷不及掩耳盗铃之势的速度来到了我们身边,这也就意味着,在不考虑性能(capability)的前提下,任何人或者应该这样说所有的人都能够使用web技术。
接下来,我们也会做一些(前期)工作,来确保能够让开发者明白,为啥他们需要构建可访问性的站点以及告诉他们应该如何构建(具有)页面可访问性的站点。当然,我们也会造一些轮子,来确保让开发者能够拥有完善的工具链,从而简化开发流程。
页面的载入速度web的优势在于其获取内容的能力,举个栗子,单点一个链接,就能够轻松浏览到app里面的内容以及游戏里面的内容。虽说,在用户点击(某个)链接的过程中,有时候也会出现上述内容访问不到的情况,(不过,我觉得)内容访问不到的这个锅不应该由用户来背,这是因为,与开发者相比,用户的设备以及网络连接情况不知道差哪去啦。
我们希望看到的是,每个(站点的)页面都能够秒开,甚至是在网络极度不好的情况下,也能够达到上述效果。其次我们希望,网站的用户体验也能够做的更加流畅。(最后补充一句),用户体验的建设,也不忘记把设备的电量、性能、所处的网络环境以及其它跟用户开销相关的因素考虑进去。
将来我们也会做一些准备工作,来告诉开发者他们应该往哪个方向使劲(there are clear goals and targets for all developers to aim for),而且一般来说,开发者都会用执行速度快的工具以及库,那也就是说,让页面实现秒开的想法是站得住脚的( the reason for reaching these goals is rational and well understood)。
安全性
从安全性的角度来讲,web其实是用户的死对头。为啥呢?这是因为,对于开发者来说,开发一个钓鱼网站真的不是什么难事。所以,用户只有在确保该网站不会存在追踪用户、监控用户或者主动攻击用户的情况下,才可以信任该网站。
我们希望看到的是,在网络不好的条件下或者在用户使用外网服务的过程中,该用户仍然能够处于安全状态。
将来,我们也会帮助开发者来构建出属于自己的安全站点以及软件,最常见的套路,参考最佳实践指南、使用一些已经造好的轮子,然后就是(积极)参与生态圈周边(的建设)。
隐私
从隐私的角度来讲,web其实也是用户的死对头。所以说,只有在确保该网站不会存在追踪用户、监控用户或者丢失用户数据的情况下,用户才可以信任该网站。
我们希望,用户自己不但能够理解他们是如何与网站进行交互的以及(他们)是如何使用网站服务的等细节,而且还能够有选择性的将(自己使用过的)网站添加到可以信任的网站列表当中,最后就是能够认识到这些事情背后的深层含义以及权衡利弊(trade-offs and implications)。
我们也会给出最佳实践以及针对最佳实践的手册,(可能有人会说,为啥要给出这些东西呢?我们做这么多的事),还不是为了让开发者知道如何来打造极致的用户体验,(那么问题来了,啥是极致的用户体验呢)?简单来讲就是,在用户看第一眼的时候,就能够让用户产生心理预期,而不需要用户主动降低自己的心理预期(users trust without the need to revert to “dark patterns” that erode trust)。针对上面提到的这些,我们也会做一些准备工作,确保开发者能够意识到这些数据(指的是由他们自己收集或者他们自己分析得出的数据)背后的深层含义,然后就是对一些必要的事情实行严格审查机制。
易用性
对于能够触网的人们来说,web真的是一种最简单、有效的方式啦。然而,(悲催的是),web的构建过程,(对于大多数人来说),真的有点过于复杂。
所以,在保证 web 构建简单易用的同时,我们希望也能够推动 web platform 的发展。另外,我们也会给 web platform 集成一些功能强大、且容易被开发者接受的新特性。
以后,我们也会说到,其实web platform一开始就是奔着打造web最佳实践以及造轮子的目的去的,另外,我们也会携手开源库的作者,来一起支持一些框架周边生态的建设。
性能
对于原生platform来说,web platform不失为一套可行的解决方案,不过令人遗憾的是,在跨浏览器以及移动设备的过程中,(对web platform的)支持度让web platform难以落地(make it hard for this to be a reality)。
我们希望看的是,(多年下来所积累的web)经验都能够分享给其他所有人,而不是把这些web经验给烂死在app 以及其它的封闭平台里面。同时,我也希望用户以及开发者都能够明白web究竟能用来干啥,然后就是知道如何把(丰富的web)经验给迁移到一些媒介的选择上去。
在尊重用户设备兼容性以及各家浏览器兼容性的前提下,我们也会造一些轮子以及写一些最佳实践指南,来方便开发者上手体验(web platform 的)新功能。(我再补充一句,我们推荐开发者使用 web platform 这些新功能的初衷),真不是为了从火力上压制 native platform,(而且就算是没有 web platform 这些新功能),开发者也还是会通过一种对用户、对自己友好的方式,把前沿技术给整合进去的。