当前位置:首页 > 科技资讯 > 正文

苹果网页版App Store上线:前端代码暴露与工程文化深度解析

苹果公司近日正式发布了网页版本的App Store,这一举措为用户提供了一个可在多种设备应用中便捷浏览的集中化入口。现在,当用户访问 apps.apple.com 时,将看到一个全新的交互界面,彻底取代了过去仅展示 App Store 基础信息的静态网页。

苹果网页版App Store上线:前端代码暴露与工程文化深度解析 苹果  App Store Svelte 工程文化 第1张

全新的网页版 App Store 还整合了搜索功能,解决了以往用户难以直接查找应用页面的问题。过去,苹果虽然为每款应用提供了专属网页,但这些页面不易被发现,除非拥有直接链接。现在,这一痛点得到有效解决,非苹果设备用户也能顺畅访问和浏览。

在此次更新之前,用户虽然可以通过搜索引擎跳转到某个 App 的网页介绍页,但无法在网页端探索 App Store 的分类或内容。在 MacBook 上点击 iOS 应用的链接时,系统会自动跳转并打开本地的 App Store 应用;而在 Windows 或安卓设备上访问,则会导致页面“卡死”,无法进行任何操作。

新版网页现在支持按类别或平台浏览应用,iPhone、iPad、Apple Watch 等设备均有独立分区。不过,目前网页版 App Store 仍不支持直接下载应用。苹果仅提供了两个选项:分享应用链接,或在设备上打开对应的 App Store 页面。未来,苹果可能会考虑增加下载功能。

真正在微软设备上搜索 iOS 应用的用户可能不多,这一功能对同时涉足 iOS 和 Android 生态的开发者、分析师而言,或许更具实用价值,便于跨平台研究和比较。

对此,有网友评价道:“体验极佳!不仅访问速度飞快,还能轻松在 iPhone、Mac 等平台间切换,结合自定义地区语言设置,可以快速查看产品在不同语言区域和平台的表现。这是苹果近期最出色的产品更新!”

前端源代码暴露?

然而,消息发布后不久,便有开发者发现,App Store 似乎已采用 Svelte 框架进行了重构,但团队可能疏忽了在生产环境中移除 sourcemap 配置,导致源代码几乎完全暴露。

据悉,这些源代码可通过浏览器开发者工具从公开资源中获取,已有不少开发者进行了保存。目前尚不清楚这是苹果团队的有意之举还是无意疏漏。

苹果网页版App Store上线:前端代码暴露与工程文化深度解析 苹果  App Store Svelte 工程文化 第2张

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。”有网友表示。

也有自称认识苹果研发人员的网友透露,网站的不同部分采用了不同的框架。他们有一套品牌资产库,各团队可根据需求选择开源或内部自研的框架。例如,苹果官网的营销页面和 Apple Store 商店页面,虽然外观相似,但后台系统实际上完全不同。

据悉,苹果还曾使用过一些不太知名的框架,如在某个历史时期,苹果公司在未公开的项目中采用了 three.js,但具体使用时间未披露。此外,苹果前端开发主要涉及的语言包括 Objective-C、Swift、HTML、CSS、JavaScript 等。

真假“泄露”

不过,此次事件更引人关注的是代码“泄露”本身,开发者们对此看法不一。

部分开发者认为,“这显得不够专业。苹果公司难道没有测试环境吗?这反映了质量管控的松懈。”也有用户指出,发布前端源代码映射并不罕见,甚至可能是有意为之。

有开发者解释道,前端应用本就运行在用户设备上,代码混淆只能增加阅读难度,但无法完全隐藏逻辑。这些“源代码”实质上是客户端应用,用户操作仅向安全的远程服务器发送请求。让客户端查看代码在本地执行的内容,并不构成真正的“泄露”。

“如果有人因此被解雇,那只能说明他们对分布式在线系统的基本原理缺乏了解。别忘了,你现在正是在接收‘暴露源代码’的网页浏览器上浏览这些内容。况且,随着 AI 模式识别技术的发展,代码混淆已变得几乎无关紧要。”该开发者强调。

也有开发者解释了为何这不算安全漏洞。“为了让网站运行,所有代码都必须发送到浏览器,这是不可避免的。我们对代码进行压缩优化,主要是为了传输性能,而非安全。”“不过,有人提到开发者注释中可能包含额外信息,这确实值得注意。这也是一个很好的理由,让团队仔细审查代码,确保注释中不涉及敏感内容。”

苹果网页版App Store上线:前端代码暴露与工程文化深度解析 苹果  App Store Svelte 工程文化 第3张

“我已多次与缺乏经验的前端开发者讨论过这个问题。这并非‘暴露’源代码。虽然代码可能未经压缩,稍易阅读,但不会泄露任何额外逻辑。记住:代码混淆不等于安全。”有开发者重申。

有开发者表示,“如果你拥有20多年的网站开发经验,就会明白这没什么特别。客户端代码在客户端是可见的。无论如何,敏感信息都不应放置在那里。”还有开发者调侃,“虽然没什么大不了,但确实挺有趣,而且这个前端设计可能会被嘲笑一段时间。”

“这件事其实无足轻重。苹果只是未对代码进行压缩优化,或者可能是构建流程出了小问题。这里不存在安全隐患,也没有所谓‘天哪,他们太蠢了’的情况。”开发者 exotic anakin 表示,“据我了解,苹果的工程文化并非那种精益求精、事事谨慎的风格。他们不太强调初始就达到极致质量,而是秉持‘先上线再迭代’的思路。出现问题后,再依靠高薪工程师团队全力解决。”

苹果的工程文化

这次事件引发了对苹果工程文化的热议。去年底,前苹果员工 Rahul Pandey 详细介绍了苹果的工程文化。据 Pandey 描述,许多苹果员工从小就是“苹果迷”,渴望进入苹果生态系统贡献力量。

相比其他大型科技公司,苹果更注重员工在岗位上的工作年限和对公司的忠诚度。苹果的管理团队中,几乎所有人都已任职超过二十年,员工群体展现出近乎狂热的忠诚度。“即便不是管理层,团队中最受尊敬的人以及许多管理人员,都在苹果有着极长的任职经历。硅谷以频繁跳槽著称,但苹果却为那些长期留任、熟悉公司运作模式的员工感到自豪。”Pandey 说道。

但这意味着,与 Meta、谷歌等公司相比,苹果员工的晋升路径通常更为缓慢,很少有人能在短时间内从新人快速晋升为高级工程师。行业知名工程师中,来自苹果的寥寥无几,也很少有苹果出身的行业影响者或思想领袖。Pandey 指出,这既源于缓慢的晋升节奏,也与苹果极度保密的文化相关。

苹果的保密程度极高,许多员工甚至在公司通过新品发布会公布产品后,才意识到自己曾参与该产品的研发。这意味着普通员工无法了解公司全貌,即便在团队或部门内,除非业务需要,否则也可能不知道同事的工作内容。代码和工具的访问权限同样受限,没有合理理由便无法获取。

这种保密文化还延伸至物理安全层面。“我曾在库比蒂诺的一栋苹果大楼参加面试,当时跟随一位员工试图进入,却被拦下要求出示工牌,最终未能成功。”Pandey 分享道。

这与其他科技公司形成鲜明对比,在其他公司,尾随员工进入并向前台咨询很常见。而苹果对产品安全和园区安全极为重视。有员工提到,曾有同事开玩笑拍下正在研发的苹果垃圾桶产品并发送给朋友,结果几天后照片出现在推特上,苹果安全部门迅速锁定该员工并将其解雇。可见,苹果对未经许可泄露任何信息的行为采取零容忍政策。

对员工而言,这种保密文化可能导致信息获取不足、工作背景了解不充分,影响学习效率;但对苹果来说,这能让公司牢牢掌控市场信息和舆论导向,其“重磅发布”模式总能吸引大量媒体关注,使产品发布会成为全球焦点。

Pandey 还透露,苹果的薪酬通常比市场顶尖的大型科技公司低 20%-30%,年薪涨幅也限制在 10% 以内,且很多人不清楚苹果薪资、股权或奖金的具体计算方式。

“较低的薪酬之所以能被接受,核心在于苹果强大的品牌影响力。人们愿意为能在这样知名且值得信赖的品牌工作而牺牲部分收入,因为他们深深珍视这份工作及其代表的价值。”此外,苹果不提供免费餐食或咖啡。有些工程师欣赏这一点,认为公司将他们视为成年人;但也有人认为,享受丰厚福利与保持成年人的行事方式并不冲突。

苹果在企业层面有着清晰的价值优先级和层级划分,不同部门和项目的定位十分明确,但大多数员工无法接触这些高层信息。这使得苹果呈现出强烈的“自上而下”管理模式,工程师很难提出自己的想法,也很少有黑客马拉松这类自主创新活动,公司的核心理念是“做好本职工作”。

苹果是设计驱动型公司的典范,这与 Meta 的工程师驱动、谷歌日益偏向产品经理驱动形成对比。苹果始终坚持“设计至上”,先从用户的视觉和审美体验出发,再反向推导工程实现等后续环节。

苹果的设计师不仅执行任务,更在决策层与工程和产品高管并肩工作。这不仅是象征性的,更是结构性的。例如,前首席设计官 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