脸书代码为什么那么少?

Facebook代码占平均网站的16%...这是一个问题

随着每月20亿活跃用户中,超过半数的所有网民,现在在Facebook上。事实上,社交媒体平台已经成为互联网的一个组成部分,大量的网站现在包含了大量的Facebook代码。

作为总部位于纽约的开发商本·里真斯帕恩 在一个有见地的解释中,百分之六的前10,000个最贩卖网站的加载从Facebook的服务器上的内容。对于大多数人来说,该内容很可能是其SDK,它需要显示像“按钮”和“注释”部分等功能。

但更有趣的是,公司的套件占平均网页加载的所有Javascript大小的16%左右,而且这是非常合乎逻辑的原因:这是因为Facebook将其所有Web功能和同一套件中的小部件。

尽管这样,开发人员可以轻松地从软件库中获得他们需要的各种功能,这也意味着填充大量可能保持未使用或空闲状态的代码的网站。这里的问题是这种方便性对网站的整体表现有很大的影响。

为了更好地了解SDK内部的内容,Regenspan已经组织了一个漂亮的图形来说明这一点:

他继续指出,问题是SDK的相当大的一部分是由功能很少的功能组成的。的确,Facebook可以在单独的API中发布这些工具,但是由于它鼓励网站使用其SDK,所以选择不采用。
例如,Canvas(Facebook的平台本身加载的应用程序系统)占整个软件包的1.53%,支持旧的功能占3.53%。这些确实是SDK中不太受欢迎的一些组件,但鉴于它们占SDK的5.06%,将它们包含起来并不是不合理的。

更多的问题是多少软件库由Polyfills组成 - 高达15.34%。对于那些不熟悉的人来说,polyfill实用程序“用于提供在较早版本的浏览器中找到的功能”。

与Canvas和旧版支持不同,添加到SDK中的大多数类似于Polyfill的工具已经被“绝大多数互联网用户使用的浏览器”包含在内。所以在某种意义上说,占整个软件包的15%的组件只有所有互联网用户的不到百分之一。

现在,还有其他原因将这些功能分发为一个SDK。鉴于它几乎不会更改,大多数用户已经将软件包下载到其设备。即使没有,下载所需的时间也是微乎其微。

但是,如果每个大公司都采用相同的方法,事情就会开始增加 - 这可能对性能产生负面影响。

Regenspan估计,Facebook套件需要大约50毫秒(1/20秒)来加载新的MacBook Pro,但这个数字在Google Pixel上大约翻了一番,需要1/10秒的时间才能加载。

另一个麻烦在于它破坏了开发人员优化代码的努力。想象一下,几天之后,你可以刮掉自己的代码的十分之一,只是看到这个空间充满了大部分大部分未使用的代码。不完全令人满意
是的,有一些解决方法可以减轻SDK的总体影响。选择仅在需要时加载Facebook SDK就是一种这样的技术。但是再一次,这更是一个欺骗,而不是一个合法的解决方案。事实上,这是我们在TNW的评论部分采取的完全相同的方法

但是再次,大多数人只需要SDK才能在他们的网站上获得专门的Facebook Like按钮; 鉴于社交媒体重量级逐渐使平台上的页面数量不那么突出,这一举措是否也值得吗?

为中小企业快速匹配开发人员-斜号-斜号社区(xiehao.co)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,552评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,741评论 4 61
  • 你在树下看风景, 知了在树上看着你。 你望着这肆意张扬的绿色, 打开了话匣子, 而后又默默收起了抱怨, 如同这季节...
    我是陈慕阅读 1,328评论 2 6
  • 感动随身带, 心潮滚滚压。 天生多善感, 愁苦满心崖。 纷扰凡间路, 世途源自家。 情缘颇贵重, 胜败似凋花。
    海王星1984阅读 1,486评论 6 3
  • 上次同前辈一起吃饭,还没开吃,他忽然间问我“你知道为什么筷子叫筷子吗?” 我心里一惊,给吓得不轻,茫茫然,主要是问...
    涵八阅读 2,383评论 3 7

友情链接更多精彩内容