🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

image

最近 iOS 推送了新的系統更新:

SCR-20250917-kpha.png

其實這個更新早在幾個月前的 WWDC 上就開始宣傳了:

73b4a507a0ecbfe444f7cf0bb703f915.jpg

仔細看蘋果 Logo,有種磨砂玻璃的質感對吧?因為他們宣傳的 iOS26 主題就是 液態玻璃

2025-09-17 11-57-43.2025-09-17 11_59_46.gif

為什麼直接從 iOS18 跳到 26 呢?這跟我們前端的 ES 命名有點像:

  • ES5
  • ES5.1
  • ES2015(ES6)
  • ES2016
  • ES2017
  • ES2018
  • ES2019
  • ES2020
  • ES2021
  • ES2022
  • ES2023
  • ES2024
  • ES2025
  • ES2026

蘋果也打算用年份來命名版本,每年都推陳出新一個版本,但叫 iOS2026 有點太長了,於是省略掉前面的 20 就變成了 iOS26

這個液態玻璃有人覺得好看也有人覺得難看,畢竟一百個讀者就有哈姆雷特嘛!我們公司的產品經理覺得好看,它就想讓我們也學蘋果搞個這樣的主題。頭都大了,先給大家看看我們以前的介面:

2025-08-14 19-36-22.2025-08-14 19_37_01.gif

我們面向的是海外用戶,所以介面都是英文,有人可能會問那為什麼不去歐美開公司呢?我們確實有歐美的分部,但負責的是運營,而開發基本上都在中國招人,因為國內的牛馬實在是太好用了😭

既便宜又耐用,而且還能無償加班,在歐美你搞這套試試?扯遠了哈!咱們來看下液態玻璃之後的介面:

2025-08-14 19-34-59.2025-08-14 19_36_02.gif

當然這幾個圖標還沒換成透明的,他們想先看看效果再決定用不用開發液態玻璃主題。由於背景是白色的,所以他們認為這個液態玻璃有點與介面融為一體了,於是我們給它加了點淡藍色:

2025-08-14 19-25-40.2025-08-14 19_28_06.gif

那麼具體到底是怎麼實現的呢?實現是不可能自己實現的,因為這個效果可不是常規效果,我們一開始搜了一下液態玻璃的實現,結果您猜怎麼著:

SCR-20250917-nlvn.jpeg

這是液態玻璃嗎?這只是個很普通的毛玻璃吧?評論區也都這麼說:

SCR-20250917-nmgo.png

SCR-20250917-nmil.png

人家液態玻璃的重點是邊緣部分,以我們日常生活中常見的燒水壺來舉例:

2025-09-17 15-19-09.2025-09-17 15_21_41.gif

大家也可以拿自己的燒水壺試試,可以看到越靠近邊缘,玻璃後面的圖案變形就越嚴重,而且最邊緣還會有倒影,除了變形以外還會有色散:

image.png

SCR-20250917-nrfk.jpeg

所以這個效果實現起來還是挺複雜的,感覺是需要計算機圖形學知識的,幸好最終在網上找到了符合需求的液態玻璃效果:

2025-09-17 15-32-49.2025-09-17 15_35_43.gif

這個效果是由 Three.js 實現的,傳送門:

reactbits.dev

通過域名大家也能看出來,這是用 React 實現的,但我們公司用的是 Vue。可能有人會說這就是個特效,無論用 React 還是用 Vue 不都一樣么?你就不能給它用 Vue 的語法翻譯過來么?畢竟 Three.js 又不挑框架,但 React Three 挑框架啊:

SCR-20250917-occk.png

這個 Demo 大量的使用了 @react-three

SCR-20250917-ocyr.png

我總不能再仿照 @react-three 寫個 @vue-three 出來吧?那 vue 生態裡就沒有 @vue-three 嗎?有是有,但都不太靠譜:

SCR-20250917-odty.png

那你不會直接用 Three.js 寫?@react-three 不也就是層封裝麼?

還真就不會直接用 Three.js 寫,因為以前壓根就沒用過,想要搞懂 @react-three 那些封裝的話必然要去看源碼,而且最好是有一定的 Three.js 基礎才能看明白。這個 React Bits 的作者還出了一個 Vue 版的,Vue 版直接砍掉了這個 Three.js 版的液態玻璃:

vue-bits.dev

也就是說就連原作者都沒法直接用 Three.js 去實現,當然也可能不是他無法實現 Vue 版的,而是脫離了 @react-three 去實現的話很麻煩之類的原因,總之就是原作者並未實現 Vue 版的。他實現起來都費勁呢,更別提我們這種壓根就不會 Three 的人了。

而且產品希望這個液態玻璃只是個錦上添花的效果,不希望為了這個主題而引入 Three.js 從而導致頁面變大變慢,所以 Three.js 這個方案被放棄。幸好這個 React Bits 還有個 SVG 版的,而且 SVG 版的還有 Vue 版實現:

2025-09-17 16-16-21.2025-09-17 16_17_24.gif

但其實還是更喜歡 Three.js 那版,我也說不上來 SVG 版的哪不好,但確實看起來好像沒 Three.js 版的好看:

2025-09-17 15-32-49.2025-09-17 15_35_43.gif

不過好在 SVG 版不需要任何依賴就能夠實現,非常的輕量化,在這裡分享給大家:

傳送門:vue-bits.dev/components/…

希望能夠幫助到有需要的人,畢竟國內想模仿蘋果的公司還挺多的,比方說某個把自己手機叫 17 Pro Max 的糧食公司:

360_240_2_2019090518436219.jpg

往期精彩文章


原文出處:https://juejin.cn/post/7552402306222882842


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝10   💬10   ❤️3
446
🥈
我愛JS
📝4   💬9   ❤️10
230
🥉
AppleLily
📝1   💬4   ❤️1
63
#4
💬1  
5
#5
xxuan
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付