完整前端代码突然公开?苹果把App Store“老底”都揭了,开发者社区炸锅
苹果正式上线了网页版 App Store,为用户提供了一个可在各类设备应用中浏览的集中入口。现在访问 apps.apple.com,可以看到一个全新的界面,而不再是之前那个只展示 App Store 信息的静态网页。
新的网页版 App Store 还兼作搜索入口。过去,苹果虽然也为每款应用提供网页页面,但这些页面并不好找,除非你手上有直接链接。现在,这个问题终于得到了解决,而且非苹果设备用户也终于能“正常”使用了。
在这次更新之前,用户虽然能通过搜索引擎访问某个 App 的网页介绍页,但无法在网页端浏览 App Store 的分类或内容。在 MacBook 上点击 iOS 应用的网页链接时,会自动跳转并打开系统自带的 App Store 应用;但如果你是在 Windows 或安卓设备上访问,就会直接“卡死”在网页上,什么都做不了。
新的网页版现在可以按类别或平台浏览应用,iPhone、iPad、Apple Watch 等设备都有独立的分区。不过,目前网页版 App Store 还不能直接下载应用。苹果只提供了两个选项:分享应用链接,或者在设备上打开对应的 App Store 页面,但未来不排除苹果会增加下载功能。
真正会在微软设备上查找 iOS 应用的用户可能并不多,这个功能对那些同时在 iOS 和 Android 生态中开发或研究应用的开发者、分析师来说,或许更有意义。
对此,有网友评价,“用起来非常好!不仅访问速度极快,而且终于可以非常方便地在 iPhone、Mac 平台之间切换,加上自己去修改地区语言的话,可以很快地去查询产品在不同的语言地区和平台的效果了。这是 Apple 最近推出的最好的产品更新!”
前端源代码暴露?
不过,在消息发布后,很快就有开发者发现,App Store 似乎已经使用 Svelte 进行了重建,但他们忘记在生产环境中移除 sourcemap 配置,导致源代码完全暴露。
据悉,源代码是通过浏览器开发者工具从公开资源中获取的,有不少开发者保存了这些代码。目前,不确定这是不是苹果团队故意留下的。
Github 地址:https://github.com/rxliuli/apps.apple.com
据悉,Svelte 是一个用于构建 Web 用户界面的前端框架,由 Rich Harris 于 2016 年创建。它的核心理念是:“把框架的工作从浏览器搬到编译阶段。” 这意味着 Svelte 并不像 React、Vue 那样在运行时维护虚拟 DOM,而是在编译时就把组件转译成高效的、纯原生 JavaScript 操作 DOM 的代码,从而大幅提升性能、减小包体积。
Svelte 拥有一个活跃的社区,目前已经被多家科技公司使用,如 Square、The New York Times、Spotify、Cloudflare 等。最新版本 Svelte 5 引入了全新的 Runes 语法,让响应式系统更清晰、更接近原生 JavaScript。
“我记得 Apple Music 网站也一直在使用 Svelte 框架。据我所知,苹果的每个团队基本上都可以自由选择框架,这就是为什么他们的网站会混合使用 React、Svelte 和 Vue 的原因。”有网友称。
也有表示认识苹果研发人员的网友称,网站的不同部分使用了不同的框架。他们有一套品牌资产库,各个团队可以根据自己的需求,选择使用不同的框架,既包括开源的(OSS),也包括内部自研的。比如,苹果官网的营销页面和 Apple Store 商店页面,虽然看起来像是同一个网站的不同部分,但实际上后台系统完全不同。
据悉,苹果还有一些并不知名的框架,比如在历史上的某个时期,苹果公司曾在某个未公开的产品 / 项目中使用过 three.js,但使用时间未公开。此外,苹果前端开发语言主要有 Objective-C、Swift、HTML、CSS、JavaScript 等。
真假“泄露”
不过,这次让更多网友在意的是代码“泄露”本身,众多开发者态度不一。
有的开发者认为,“这太业余了。苹果公司难道完全没有测试环境吗?这反映出了质量的下降。”也有用户认为,发布前端源代码映射并不罕见,而且通常是有意为之。
有开发者解释道,前端应用本来就是运行在用户电脑上的,代码混淆只能增加阅读难度,但并不能让人无法看懂逻辑。这些“源代码”其实只是客户端应用,用户的操作只是向安全的远程服务器发出请求而已。让客户端看到代码在他们电脑上做了什么,并不存在任何所谓的“泄露”。
“如果有人因为这个被炒鱿鱼,只能说明他们对分布式在线系统的基本原理都不了解。别忘了,你现在就是在一个接收‘暴露源代码’的网页浏览器上浏览这些内容。况且如今有了 AI 模式识别,代码混淆也几乎成了无关紧要的小事。”该开发者表示。
也有开发者解释了这为什么不是安全漏洞。“要让网站运行,你必须把所有代码发送到浏览器,这是没法避免的。我们对代码做压缩优化,只是为了传输性能,除此之外并没有别的原因。”“不过,有人提到开发者注释里可能会泄露额外信息,这倒是一个值得注意的问题。也算是一个很好的理由,让团队认真审查代码,确保注释里没有敏感内容。”
“我已经和很多缺乏经验的前端开发者讨论过这个问题太多次了。这并不是在‘暴露’他们的源代码。虽然代码可能没有被压缩,看起来稍微更容易读懂一些,但这并不会泄露任何额外的逻辑。记住:代码混淆不等于安全。”有开发者强调。
有开发者表示,“如果你有 20 多年的网站开发经验,就会知道这没什么特别的。客户端代码在客户端是可见的。无论如何,敏感信息都不应该放在那里。”还有开发者称,“虽然没什么大不了的,但确实挺搞笑的,而且这个前端设计肯定会被嘲笑很长时间。”
“这件事其实没什么大不了的。 苹果只是没有对代码进行压缩优化,或者可能是构建流程出了点问题。这里不存在安全隐患,也没有什么‘天哪,他们太蠢了’的情况。”开发者 exotic anakin 表示,“据我了解,苹果的工程文化一向不是那种慢工出细活、事事谨慎的风格。他们并不太强调一开始就做到极致的高质量,而是秉持着‘能跑就先上线’的思路。出了问题,再用一群高薪工程师硬啃解决就是了。”
苹果的工程文化
这次事件中,很多人提到了苹果的工程文化,其实去年底,前苹果员工 Rahul Pandey 详细介绍了苹果的工程文化。根据 Pandey 的说法,苹果很多员工从小就是所谓的 “苹果迷”,渴望进入苹果生态系统贡献力量。
相比其他大型科技公司,苹果更看重员工在岗位上的工作年限和对公司的忠诚度。苹果的管理团队中,几乎所有人都已任职超过二十年,员工群体有着近乎狂热的忠诚度。“即便不是管理层,团队中最受尊重的人、管理层中的许多人,都在苹果有着极长的任职经历。硅谷以频繁跳槽著称,但苹果却为那些长期留任、熟悉公司运作模式的员工感到自豪。”Pandey 说道。
但这也意味着,与 Meta、谷歌等公司相比,苹果员工的晋升路径通常更为缓慢,很少有人能在短时间内从新员工快速晋升到高级工程师。行业内知名的工程师中,来自苹果的寥寥无几,也很少有苹果出身的行业影响者或思想领袖,Pandey 表示,这既源于缓慢的晋升节奏,也和苹果极度保密的文化有关。
苹果的保密程度极高,许多员工甚至在苹果通过新品发布会公布产品后,他们才意识到自己此前一直在参与该产品的研发。这意味着普通员工无法了解公司的全部动态,即便在自己的团队或部门内,除非有业务需要,否则你也可能不知道其他人的工作内容。代码和工具的访问权限同样如此,没有合理理由就无法获取。
这种保密文化还延伸到了物理安全层面。“我曾在库比蒂诺的一栋苹果大楼参加采访,当时跟着一位员工试图进入大楼,却被拦下要求出示工牌,最终未能进入。”Pandey 分享道。
这与其他科技公司截然不同,在其他公司,尾随员工进入、再向前台咨询的情况十分常见,而苹果对产品安全和园区安全极为重视。有员工提到,曾有同事开玩笑拍下了当时正在研发的苹果垃圾桶产品并发给了朋友,结果几天后照片出现在了推特上,苹果安全部门很快锁定了拍照员工并将其解雇。可见,苹果对未经公司允许泄露任何信息的行为采取零容忍政策。
对员工而言,这种保密文化可能会导致信息获取不足、工作背景了解不充分,影响学习效率,但对苹果来说,这能让公司牢牢掌控市场信息和舆论走向,其 “重磅发布” 模式总能吸引大量媒体关注,让产品发布会成为备受瞩目的焦点。
Pandey 还透露,苹果的薪酬通常比市场顶尖的大型科技公司低 20%-30% 之间,年薪涨幅也限制在 10% 以内,且很多人都不清楚苹果薪资、股权或奖金的具体计算方式。
“较低的薪酬之所以能被接受,核心还是源于苹果强大的品牌影响力。人们愿意为能在这样知名且值得信赖的品牌工作而放弃一部分收入,因为他们深深在意这份工作及其所代表的价值。”此外,苹果不提供免费餐食或咖啡。有些工程师表示喜欢这一点,认为公司将他们当作成年人对待,但也有人认为,享受丰厚福利与保持成年人的行事方式并不冲突。
苹果在企业层面有着清晰的价值优先级和层级划分,不同部门和项目的定位十分明确,但大多数员工并没有机会了解这些高层信息。这使得苹果呈现出极强的 “自上而下” 管理模式,工程师很难有机会提出自己的想法,也很少有黑客马拉松这类能够自主研发新工具的活动,公司的核心理念是 “做好本职工作”。
苹果是设计驱动型公司的典范,这与 Meta 的工程师驱动、谷歌日益偏向产品经理(PM)驱动形成了鲜明对比。苹果始终坚持 “设计至上”,先从用户的视觉和审美体验出发,再倒推工程实现等后续环节。
苹果的设计师不仅执行,更在决策桌上与工程和产品高管并肩工作。这不仅是象征性的,更是结构性的。例如,前首席设计官 Jony Ive 不仅影响产品外观,还参与决定苹果开发哪些产品。他对 iMac、iPhone、Apple Watch 的设计方向、硬件软件整合、用户体验理念等有深远影响。
Pandey 还提到,苹果的经理对员工的职业生涯有着巨大的影响力。如果与经理关系良好,他们会为你争取机会,你的职业发展也会更为顺利;但如果相处不睦,职业发展就可能陷入停滞。
在每次绩效评估中,经理会从团队合作、工作成果和创新能力三个维度对员工进行评价。有人曾因其中一项维度被经理给出最低评级,不仅无法转到其他团队,在当前团队的晋升也受到了严重影响,最终只能选择离职。
强大的经理权力与自上而下的管理模式相结合,导致苹果内部存在一定的政治氛围,员工之间常常会为了工作范围、人员编制和职责划分而产生纷争。
“苹果最让我印象深刻的一点是,即便公司规模已超过十万人,且史蒂夫・乔布斯已经离世多年,它依然保持着独特的工作理念,这与几乎所有其他硅谷公司都截然不同。”Pandey 说道。
参考链接:
https://www.reddit.com/r/webdev/comments/1onnzlj/app_store_web_has_exposed_all_its_source_code/?share_id=PjtHglrx22LyQZodI2cBm&utm_content=2&utm_medium=ios_app&utm_name=ioscss&utm_source=share&utm_term=1
https://www.youtube.com/watch?v=V0mkA9wYXNQ
本文来自微信公众号“InfoQ”,整理:褚杏娟 ,36氪经授权发布。















