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

看了下昨日泄露的蘋果 App Store 原始碼……

新聞

昨日蘋果 App Store 前端原始碼泄露,因其生產環境忘記關閉 Sourcemap,被用戶下載了原始碼,並上傳到 Github。

倉庫地址:github.com/rxliuli/app…

目前已經 Fork 和 Star 超過 5k:

image

如果你想要第一時間知道前端資訊,歡迎關注公眾號:冴羽

用戶如何抓取的原始碼?

用戶 rxliuli 使用 Chrome 外掛 Save All Resources 將代碼下載下來。

外掛地址為:chromewebstore.google.com/detail/save…

image

下次你也可以打包下載原始碼了~

如何看待原始碼泄露?

其實前端原始碼泄露對業務本身並沒有什麼影響,因為前端代碼無論是否壓縮還是混淆,最終都需傳輸到瀏覽器才能運行,本身就具有 “暴露” 屬性,SourceMap 只是讓代碼更易讀,更容易調試。

儘管如此,依然不建議在生產環境開啟 SourceMap,對普通用戶無益,且存在輕微性能開銷和源代碼暴露的安全風險。

我大致看了下代碼,並沒有什麼密鑰之類的信息,所以干點壞事之類的就不用想了。真正有價值的核心代碼比如推薦邏輯還是在服務端。

代碼使用 Svelte?

我萬萬沒想到,項目使用的是 Svelte。

Svelte 我自然是很熟的,畢竟我翻譯過 Svelte 官網:svelte.yayujs.com/

image

還寫了一本掘金小冊《Svelte 開發指南》:s.juejin.cn/ds/QNzfZ4eq…

image

想一想,使用 Svelte 也在情理之中。

因為 Svelte 就非常適合處理這種頁面相對簡單、業務邏輯並不複雜的頁面。

在實現上,與其說 Svelte 是框架,不如說 Svelte 是一個編譯器。 它會在構建時就會將代碼編譯為高效的 JavaScript 代碼,因此能夠實現高性能的 Web 應用。

Svelte 的核心優勢在於:

  • 輕量級:核心庫只有 3 KB,非常適合開發輕量級項目
  • 高性能:構建時優化,而且不使用虛擬 DOM,減少了內存佔用和開銷,性能更高
  • 易上手:學習曲線小,入門門檻低,語法簡潔易懂

簡而言之,Svelte 非常適合構建輕量級 Web 項目,也是本人做個人項目的首選技術棧。

以後大家如果要做相對簡單的項目,又有性能上的追求(比如 KPI),那就可以考慮使用 Svelte。

用它作為示例學習 Svelte?

我看了下代碼,項目代碼還是 Svelte 4,而 Svelte 已經到 5 了,Svelte 4 和 5 不論是底層架構還是基礎語法都發生了很大的變化,其變化的劇烈程度類似於 Next.js 12 升 Next.js 13,所以想通過這個項目學習 Svelte 就不用想了,都是些過時的語法了,不如直接學 Svelte 5。


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


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

共有 0 則留言


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