[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-why-julia-to-webassembly-is-finally-worth-taking-seriously-zh":3,"article-related-why-julia-to-webassembly-is-finally-worth-taking-seriously-zh":19,"series-industry-79738091-4c2a-4d7f-8454-c8cd5aaec6ff":62},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":11,"key_takeaways":11,"views":16,"created_at":17,"published_at":18,"topic_cluster_id":11},"79738091-4c2a-4d7f-8454-c8cd5aaec6ff","why-julia-to-webassembly-is-finally-worth-taking-seriously-zh","為什麼 Julia-to-WebAssembly 現在值得認真看待","\u003Cp>Julia-to-WebAssembly 現在值得認真投入，因為它已經從「能不能跑」走到「能不能交付」的階段。\u003C\u002Fp>\u003Cp>證據很直接：WasmTarget.jl 已經能把 176 個 Julia 函式編譯成正確的端到端 WebAssembly 輸出，涵蓋 Int32、Int64、UInt32、UInt64、Float32、Float64，並且有 2,409 個測試通過；再加上可選的 wasm-opt，二進位體積能縮小約 85% 而不改變行為。Therapy.jl 則把這個編譯能力接到真正的產品形態上，提供 signals、SSR、islands，以及每個 island 各自獨立的 WASM 模組，體積落在 1 KB 到 12 KB。這不是研究室玩具，這是部署路線圖。\u003C\u002Fp>\u003Ch2>第一個論點：編譯器層已經夠穩，足以作為產品基礎\u003C\u002Fh2>\u003Cp>Julia-to-Wasm 之所以長期卡關，不是因為想法不對，而是因為編譯器通常只做到「吐出一些東西」。WasmTarget.jl 做得更進一步：它直接從 Julia 的 fully inferred IR 產生 WasmGC bytecode，並把 Vector{T} 和使用者自訂 struct 對應到現代 WasmGC 型別，而不是把一切都塞進線性記憶體。這個差異很關鍵，因為高階語言進 WebAssembly 的老問題一直是妥協太多，不是 runtime 被扭曲，就是輸出根本不能用。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1777334982230-11jq.png\" alt=\"為什麼 Julia-to-WebAssembly 現在值得認真看待\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>更重要的是，它已經不是單點成功，而是有明確覆蓋範圍。176 個函式裡，127 個走原生路徑，48 個則是針對 GC 內部或 libm 外部呼叫的 overlay 實作。這種邊界很像 CUDA.jl 和 GPUCompiler.jl 的成長方式：先切出一個可控子集，再用有針對性的補丁逐步擴張。真正有用的編譯器，不是宣稱全都支援，而是能穩定支援一個夠大的子集。\u003C\u002Fp>\u003Ch2>第二個論點：框架把編譯能力變成可交付產品\u003C\u002Fh2>\u003Cp>只有編譯器，還只是研究成果；Therapy.jl 把它變成前端交付機制。它採用類似 SolidJS 或 Leptos 的 signals 模型，但寫法是純 Julia 的函式組合，而不是重 macro 的 DSL。這不是風格問題，而是降低門檻：已經熟悉 Julia 的工程師，不必先學一套陌生模板語言，才能做出反應式 UI。語言一致性本身就是生產力。\u003C\u002Fp>\u003Cp>更值得注意的是 islands 架構。靜態 HTML 負責大部分頁面，只有需要互動的局部才載入 JS 或 WASM；每個 @island 都編成獨立模組，避免「為了 hyd\u003Ca href=\"\u002Fnews\u002Fwhy-evolution-strategies-are-the-right-way-to-fine-tune-llms-zh\">rate\u003C\u002Fa> 一顆按鈕就把整個應用送到瀏覽器」的浪費。若 1 KB 到 12 KB 的模組體積在真實場景中成立，這就是實際的工程優勢：它讓 Julia 參與現代 Web 發佈，而不是逼整個產品退化成全客戶端單頁應用。\u003C\u002Fp>\u003Ch2>第三個論點：dogfooding 和體積數據顯示這是系統工程，不是展示品\u003C\u002Fh2>\u003Cp>最能說服人的細節之一，是兩個 docs site 都用同一套技術棧建出來。dogf\u003Ca href=\"\u002Fnews\u002Fgoogle-plans-40b-bet-on-anthropic-zh\">oo\u003C\u002Fa>ding 不是行銷話術，而是最快暴露編譯器、框架、部署之間整合問題的方法。當文件站本身就能用這套系統渲染、hydrate、維護，代表作者已經先付過大多數實驗性技術棧最常逃避的整合成本。這就是原型和平台的分界線。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1777334983044-gdkc.png\" alt=\"為什麼 Julia-to-WebAssembly 現在值得認真看待\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>85% 的體積縮減也不是小事，因為它透露的是部署哲學，而不是單純的優化技巧。若 wasm-opt 只是把已經接近可交付的輸出再修整一次，代表 codegen 的方向本身是對的。對 Web 交付而言，體積就是延遲、快取效率、邊緣部署友善度，以及頁面到底像不像一個真正可用的互動介面。這套技術棧顯然知道這件事。\u003C\u002Fp>\u003Ch2>反方可能怎麼說\u003C\u002Fh2>\u003Cp>懷疑者的論點也很強，而且值得正面看待。Julia 一向有雄心很大、但最後卡在可攜性、runtime 複雜度或維護成本的歷史；WebAssembly 本身也還在演進，WasmGC 的成熟度不如傳統瀏覽器假設。再加上這些套件是透過 LLM coding agents 逐步建出來的，保守的工程師自然會擔心邊界案例、overlay 是否脆弱，以及長期支援能力。\u003C\u002Fp>\u003Cp>還有一個產品層面的反對意見：既然 JavaScript 已經主宰瀏覽器，後端又可以直接跑 Julia，為\u003Ca href=\"\u002Fnews\u002Fwhy-frontend-teams-should-stop-treating-ai-as-a-rewrite-mach-zh\">什麼\u003C\u002Fa>還要多一個執行目標？如果應用只是 CRUD，這條路確實過重；如果團隊沒有編譯器經驗，維護成本也可能吃掉所有收益。\u003C\u002Fp>\u003Cp>但這些反對意見沒有推翻這條路，只是精準地界定了它的適用範圍。Julia-to-Wasm 不是所有 Web 應用的答案，它只需要成為一類應用的最佳答案：互動式科學工具、計算型儀表板、模擬前端，以及核心邏輯本來就寫在 Julia 裡的領域型 UI。在這個範圍內，直接從 Julia IR 編譯、映射到 WasmGC、再用 islands 發佈，並不是空想，而是可以開始交付的工程方案。\u003C\u002Fp>\u003Ch2>你能做什麼\u003C\u002Fh2>\u003Cp>如果你是工程師，不要再把 Julia-to-Wasm 當成奇觀，應該把它當成一個有條件的部署目標來評估：先做一個 island，量二進位大小，測 hydration 路徑，找出哪些程式碼依賴尚未支援的 runtime 行為；如果你是 PM 或創辦人，只在 Julia 已經是事實來源、而且瀏覽器互動確實是產品需求的地方使用它。正確做法不是把整個前端都改寫成 Julia，而是先把一個高價值、計算密集的切片送進瀏覽器，讓結果決定下一步。","Julia-to-WebAssembly 已經不是炫技展示，而是對特定類型應用可行的部署路徑；WasmTarget.jl 與 Therapy.jl 證明這條技術棧已經接近可用，團隊現在就該開始用它做真實產品。","discourse.julialang.org","https:\u002F\u002Fdiscourse.julialang.org\u002Ft\u002Fann-experimental-wasmtarget-jl-therapy-jl-julia-to-webassembly-compiler-with-a-full-stack-signals-framework-built-on-it\u002F136901",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1777334982230-11jq.png","industry","zh","044cc3e5-715d-4b93-89b7-79eb03bd84f0",5,"2026-04-28T00:09:27.547271+00:00","2026-04-28T00:09:27.319+00:00",{"tags":20,"relatedLang":21,"relatedPosts":25},[],{"id":15,"slug":22,"title":23,"language":24},"why-julia-to-webassembly-is-finally-worth-taking-seriously-en","Julia WebAssembly: Why Julia Wasm Is Worth It Now","en",[26,32,38,44,50,56],{"id":27,"slug":28,"title":29,"cover_image":30,"image_url":30,"created_at":31,"category":13},"21e55851-9929-4b8c-86a1-e97fe2524a50","deepmind-veterans-are-leaving-london-zh","DeepMind老兵為何離開倫敦","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782777778486-vnfd.png","2026-06-30T00:02:28.609027+00:00",{"id":33,"slug":34,"title":35,"cover_image":36,"image_url":36,"created_at":37,"category":13},"35fe38fc-6982-4212-9c82-b0704fd4fdb1","bitcoin-price-page-risk-asset-market-signal-zh","比特幣價格頁面證明，市場仍把 BTC 當風險資產","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782776871942-e9s9.png","2026-06-29T23:47:26.503131+00:00",{"id":39,"slug":40,"title":41,"cover_image":42,"image_url":42,"created_at":43,"category":13},"50bc0298-8e9e-4f9a-90a6-d9865c3702e0","sora-smash-ultimate-final-dlc-pick-balanced-zh","索拉是《任天堂明星大亂鬥 特別版》最適合收官的 DLC，強但不破壞平衡","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782775071368-9ydr.png","2026-06-29T23:17:22.24145+00:00",{"id":45,"slug":46,"title":47,"cover_image":48,"image_url":48,"created_at":49,"category":13},"5e307407-6df6-4673-8eef-2164076e5934","openclaw-135000-star-saas-security-crisis-zh","OpenClaw 13.5 萬星後爆出 SaaS 安全危機","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782771466079-ukkv.png","2026-06-29T22:17:15.984161+00:00",{"id":51,"slug":52,"title":53,"cover_image":54,"image_url":54,"created_at":55,"category":13},"6e389144-3e7d-422d-af34-b7d88d9504dd","anthropic-ipo-965b-valuation-sec-filing-zh","Anthropic 9650億估值啟動 IPO","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782770564309-c9ef.png","2026-06-29T22:02:19.440318+00:00",{"id":57,"slug":58,"title":59,"cover_image":60,"image_url":60,"created_at":61,"category":13},"475c6c43-bedb-4859-80e4-3e605d347759","hp-openai-frontier-partnership-zh","HP 攜手 OpenAI 擴大 Frontier 佈局","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782766965484-ys2z.png","2026-06-29T21:02:22.192735+00:00",[63,68,73,78,83,88,93,98,103,108],{"id":64,"slug":65,"title":66,"created_at":67},"ee073da7-28b3-4752-a319-5a501459fb87","ai-in-2026-what-actually-matters-now-zh","2026 AI 真正重要的事","2026-03-26T07:09:12.008134+00:00",{"id":69,"slug":70,"title":71,"created_at":72},"83bd1795-8548-44c9-9a7e-de50a0923f71","trump-ai-framework-power-speech-state-preemption-zh","川普 AI 框架瞄準電力、言論與州權","2026-03-26T07:12:18.695466+00:00",{"id":74,"slug":75,"title":76,"created_at":77},"ea6be18b-c903-4e54-97b7-5f7447a612e0","nvidia-gtc-2026-big-ai-announcements-zh","NVIDIA GTC 2026 重點拆解","2026-03-26T07:14:26.62638+00:00",{"id":79,"slug":80,"title":81,"created_at":82},"4bcec76f-4c36-4daa-909f-54cd702f7c93","claude-users-spreading-out-and-getting-better-zh","Claude 用戶更分散，也更會用","2026-03-26T07:22:52.325888+00:00",{"id":84,"slug":85,"title":86,"created_at":87},"bd903b15-2473-4178-9789-b7557816e535","openclaw-raises-hard-question-for-ai-models-zh","OpenClaw 逼問 AI 模型價值","2026-03-26T07:24:54.707486+00:00",{"id":89,"slug":90,"title":91,"created_at":92},"eeac6b9e-ad9d-4831-8eec-8bba3f9bca6a","gap-google-gemini-checkout-fashion-search-zh","Gap 把結帳搬進 Gemini","2026-03-26T07:28:23.937768+00:00",{"id":94,"slug":95,"title":96,"created_at":97},"0740e53f-605d-4d57-8601-c10beb126f3c","google-pushes-gemini-transition-to-march-2026-zh","Google 把 Gemini 轉換延到 2026 年 3…","2026-03-26T07:30:12.825269+00:00",{"id":99,"slug":100,"title":101,"created_at":102},"e660d801-2421-4529-8fa9-86b82b066990","metas-llama-4-benchmark-scandal-gets-worse-zh","Meta Llama 4 分數風波又擴大","2026-03-26T07:34:21.156421+00:00",{"id":104,"slug":105,"title":106,"created_at":107},"183f9e7c-e143-40bb-a6d5-67ba84a3a8bc","accenture-mistral-ai-sovereign-enterprise-deal-zh","Accenture 攜手 Mistral AI 賣主權 AI","2026-03-26T07:38:14.818906+00:00",{"id":109,"slug":110,"title":111,"created_at":112},"191d9b1b-768a-478c-978c-dd7431a38149","mistral-ai-faces-its-hardest-year-yet-zh","Mistral AI 迎來最硬的一年","2026-03-26T07:40:23.716374+00:00"]