编译:neal1991
无论你对色情内容采取何种立场,都无法否认成人网站行业对推动互联网发展具有巨大影响。从将浏览器的视频限制推送到通过WebSocket推送广告,以便广告拦截器无法检测到它们,你必须足够聪明才能在互联网的前沿进行创新。
最近,我很有幸采访互联网最大的成人网站Pornhub的一名Web开发者。我想了解技术,Web API如何改进以及在成人网站上工作的感受。请享用!
注意:成人产业竞争激烈,因此有一些他们无法回答的问题。我尊重他们保守商业机密的需要。
成人网站显然会显示许多图形内容。在开发过程中,你是否使用了大量的占位符图像和视频?最终产品和开发时的内容和经验有什么区别?
实际上,我们在开发网站时不使用占位符!
其次,重要的是代码和功能,接口是我们现在非常习惯的东西。一开始肯定会有一些学习曲线,但是我们大家很快就习惯了。
为了进行开发,播放器分为两个部分。基本播放器实现核心功能并触发事件。开发不会受其他因素干扰。为了在网站上进行集成,我们希望运行那些第三方脚本和广告,以便我们尽早发现问题。
在特殊情况下,我们将与广告客户合作,允许我们手动触发通常可能是随机的事件。
我们使用一些测量系统:
我们有一支专门致力于视频播放器的团队,他们的首要任务是持续监控性能和效率。我们为此几乎使用了所有可用的东西;浏览器性能工具,网页测试,指标等。
我们进行的所有更新均通过可靠的质量检查来确保稳定性和质量。
我要说的是,团队规模倾向于基于产品规模的平均水平。
我肯定在前端世界的每个方面都看到了很多改进;
其中有一些是我们希望改变或改进的:Beacon,WebRTC, Service Workers以及Fetch。
我们正在研究webXR以及如何最好地适应新兴的空间计算用例,作为最大的发布平台,我们需要支持创作者和用户,无论他们想体验我们的内容如何。但是,我们仍在探索这些新媒体应具有什么样的内容和平台。
我们是第一个支持VR、计算机视觉和虚拟表演者的主要平台,并将继续推动新技术和开放互联网的发展。
功能主要受操作系统和浏览器类型的限制。当涉及一组套完全不同的访问和功能时,iOS对比Android是一个完美的例子。
例如,某些iOS移动设备不允许我们在全屏模式下使用自定义视频播放器,而是强制使用本机QuickTime播放器。我们提出新想法时必须考虑这一点。另一方面,Android为我们提供了完全的控制权,我们可以将功能在全屏模式实现。
HLS中的自适应流式传输也是另一个示例,当涉及到HLS流式传输质量时,IE和Edge需要有所顾虑,因为我们需要防止某些更高质量的内容,否则视频将不断卡顿并出现伪像。
我们对IE的支持时间很长,但是最近放弃了对IE11之前的任何版本的支持。有了它,我们也停止了为视频播放器使用Flash。
我们主要关注Chrome,Firefox和Safari。
我们的大多数网站都以以下内容为基础:
在适当的地方使用其他技术,例如Varnish,ElasticSearch,NodeJS,Go,Vertica。
对于前端,我们主要运行原生Javascript,我们逐渐摆脱了jQuery,我们才刚刚开始使用框架,主要是Vue.js。
我们非常努力地为每个品牌赋予不同层次的独特性:内容库,UX 和功能集,以及许多不同的算法。
这真的从来没有困扰过我,最终挑战是如此吸引人。数以百万计的人会使用我正在开发的功能确实令人鼓舞。
事实证明,这很快就成立了,我第一次的工作成果上线了,我感到非常自豪,我的确告诉所有朋友去看看!
色情片永远不会消失的事实也使工作稳定得到了保证!
我为能够为这些产品工作而感到自豪,与我亲近的人都知道并着迷于这些产品。它始终是交谈,笑话的绝佳来源,而且非常有趣。
这里的气氛非常轻松友好。除了在这里比我以前工作过的任何地方都大得多的事实外,我没有注意到和其他机构在工作文化方面的任何重大差异。
我们与后端开发人员,QA测试人员和产品经理平等地合作--大多数时候,我们只是在彼此的办公桌旁交谈。另外使用cat(MS Teams)非常普遍。然后就是电子邮件。
作为创造用户如何体验如此广泛使用的产品的一部分,确实令人兴奋。随着技术的不断发展,我们通常处于趋势和技术重大变革的最前沿,这使它保持乐趣和挑战性。
访谈结束。
我发现我们的采访确实很有启发性。我很惊讶他们在开发功能和设计时没有使用图像。很高兴看到Pornhub继续使用WebXR,WebRTC和Intersection Observer推动互联网的前沿发展。我也很高兴看到他们认为当前的Web API足够了从而开始移除jQuery。
我真的希望我能够从中获得更多具体的技术提示;性能和巧妙的技巧。我敢肯定,他们的源代码背后有很多知识要学习!你会问什么问题?
相关报道:
https://davidwalsh.name/pornhub-interview