报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

LinkedIn 应用体积臃肿达 500 MB,网友怒喷:大厂开发者都没有动力创造优秀应用?!

  • 2024-04-22
    北京
  • 本文字数:1349 字

    阅读完需:约 4 分钟

LinkedIn 应用体积臃肿达 500 MB,网友怒喷:大厂开发者都没有动力创造优秀应用?!

最近,有人在 Hacker News 指出 iOS 版 LinkedIn 应用体积接近 500 MB 大小,十分臃肿,而且其中 300 MB 是链接的框架和插件。



这一消息引发了众多网友的讨论,很大一部分是对 LinkedIn 批评:


“大胆猜测一下,LinkedIn 最具价值的用户,也就是那些拥有抢手技能的人,应该都用着高性能设备。因此,他们对于应用体积大小的问题,应该不会太在意。”


“他们无法进行‘臃肿应用’和‘优质应用’的安装数据对比测试,也无法得知人们不安装某个应用的原因。也正因为如此,我一直尽可能少地安装应用程序。一些应用程序就是些臃肿的垃圾。这种负面影响还会累积。即使以后 LinkedIn 花时间来改进他们的应用程序,也无法摆脱声誉受损带来的负面影响,我仍然不会考虑安装它。”


“对应用体积大小,大厂们常常不在意。因为那些因体积和 / 或性能问题而避开他们应用的用户,并不是那些拥有丰厚钱包 (或拥有宝贵数据) 的目标用户。”


“对于 LinkedIn 应用开发者来说,他们没有动力去创造一个优秀的应用。他们的工作内容主要是让他们的产品经理感到满意。LinkedIn 应用可能涉及数百甚至上千名开发人员,他们往往承受着巨大的‘尽快发布’的压力。其中一些人会认为一些奇怪的做法是理所当然的,例如静态链接到资源库——这可能是因为缺乏意识或能力不足,也可能是为了应付绩效考核。”



那么为什么 LinkedIn 应用有快 500 MB?先来看最新版 LinkedIn 的顶层视图:



其中 300 MB 是动态链接的框架和插件……确实相当“肥硕”。事实上,当前光 Dylibs 和插件的尺寸就已经超过了 2022 年 11 月版的完整应用体量。



其中插件和框架似乎是最臃肿的部分。下图所示,为 LinkedIn 插件 + 动态链接的 Voyagerlibs.framework。


大家注意到哪里不对劲了吗?




首先,这两款插件加上 VoyagerLibs 都附带有 ArtDecolconsResources.bundle(约为 8 MB),而这个捆绑包本身就存在于 Voyager Framework 当中,因此本该跟各插件共享……但 LinkedIn 仍然保留了下来。



再查看 TodayExtension、NotificationExtension 和 VoyagerLibs,就会发现其中包含大量重复的类名(如截屏部分所示)。


虽然我们并不确定它们跟公共 build 分析部分是否重复,但这些扩展似乎同样属于 VoyagerLibs 库的子集。



其他值得注意的还有:2023 年 3 月,TodayExtension 还不到 400 KB,到现在已经有约 60 MB……


考虑到 Today Extensions 已经被弃用,我们可以合理怀疑新增的部分到底有没有意义。




LinkedIn 很可能是在插件中对依赖项采用了静态链接方式,而非调用 VoyagerLibs 中的资源。


如果确实如此,那么插件(总共 109 MB)中肯定存在大量非必要内容。


此外,我们还发现了约 75 MB 的 insights。



关于我们对最新版本 LinkedIn 的完整分析,这里是详情:


https://www.emergetools.com/app/example/ios/com.linkedin.LinkedIn


有意思的是前两天我们刚发过一篇关于如何避免插件臃肿的博文:《将 iOS 应用体积缩小一半的秘籍:妥善运用动态框架


原文链接:


https://threadreaderapp.com/thread/1772350918534582525.html


声明:本文由 InfoQ 翻译整理,未经许可禁止转载。


今日好文推荐


前端未死,只是换了新样貌


将 iOS 应用体积缩小一半的秘籍:妥善运用动态框架


52% 的速度提升!美版“携程”如何利用微前端架构和 GraphQL 优化航班搜索?


AI 手机来了,App 将消亡,前端开发范式变了!


2024-04-22 19:314537

评论

发布
暂无评论
发现更多内容

RocketMQ on openEuler 提供高性能消息队列的稳定性解决方案

openEuler

Linux cpu 操作系统 openEuler 内核

打破孤岛运营,增强企业凝聚力

智达方通

数据孤岛 全面预算管理 企业绩效管理 信息孤岛 预算管理

软件测试 | 性能工具规划

测吧(北京)科技有限公司

测试

免费沉浸式Twitter翻译工具 ZipZapAI用AI打破语言障碍

Ricky

ChatGPT GPT-4 ChatGPT4 chatgpt插件

需要转变ITSM策略的12个信号,您中了几个?

龙智—DevSecOps解决方案

如何充分利用制作游戏原型的免费资产,加速游戏开发

龙智—DevSecOps解决方案

游戏开发 游戏引擎

《2023 信创软件品牌影响力报告》发布!融云入选「信创生态」代表厂商

融云 RongCloud

IT 品牌 信创 数字 融云

浮点数-Float-Double转二进制在线工具

入门小站

国内高校最大的云上科研智算平台在复旦大学正式上线

新云力量

智能 计算 复旦大学 云上科研智算平台

故障分析 | 从慢日志问题看 MySQL 半一致性读的应用场景

爱可生开源社区

MySQL innodb 事务

开源之夏2023中选结果公示,504名高校生将投入开源项目贡献

openEuler

Linux 开源 操作系统 openEuler 实习

软件测试 | 性能测试范围

测吧(北京)科技有限公司

测试

软件测试 | 性能测试整体规划

测吧(北京)科技有限公司

测试

数据交换不失控:华为云EDS,让你的数据你做主

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 6 月 PK 榜

金融科技领先者Broadridge选择CloudBees CI来加速软件交付

龙智—DevSecOps解决方案

ci 持续集成

什么是Buck电源?矽力杰SQ51201值得关注

华秋电子

AIGC+灵活用工|延长行业生命线、改写传统用工模式,还得看AI的!

TE智库

人工智能 人力资源 灵活用工 AIGC 生成式AI

Bean生命周期的扩展点:Bean Post Processor

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 6 月 PK 榜

一个斜杠引发的CDN资源回源请求量飙升

互联网工科生

CDN

龙蜥白皮书精选:面向芯片研发和验证的操作系统 SiliconFastOS

OpenAnolis小助手

开源 操作系统 芯片 龙蜥社区 SiliconFastOS

华秋一文带你读懂eMMC芯片引脚定义和工作原理

华秋电子

扫码登录认证技术原理介绍及实践

互联网工科生

程序员

体验超凡速度的美国独立IP虚拟主机服务!

一只扑棱蛾子

美国主机 美国独立IP虚拟主机 美国虚拟主机

云原生应用交付平台 Orbit 主要功能与核心能力

CODING DevOps

Orbit gitops 应用管理

云原生时代,如何通过极狐GitLab x KubeSphere 构建安全应用?

极狐GitLab

DevOps 云原生 DevSecOps KubeSphere 安全左移

英特尔以领先产品,为AI领域客户提供高性能和高性价比

E科讯

支撑 “千万设备日活” 的创米数联 7 年微服务架构演进之路

阿里巴巴云原生

阿里云 微服务 云原生

11个开源项目,5位技术大咖…华为云亮相2023开放原子全球开源峰会

华为云开发者联盟

开源 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

LinkedIn 应用体积臃肿达 500 MB,网友怒喷:大厂开发者都没有动力创造优秀应用?!_工程化_核子可乐_InfoQ精选文章