[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-why-julia-to-webassembly-is-finally-worth-taking-seriously-zh":3,"tags-why-julia-to-webassembly-is-finally-worth-taking-seriously-zh":24,"related-lang-why-julia-to-webassembly-is-finally-worth-taking-seriously-zh":25,"related-posts-why-julia-to-webassembly-is-finally-worth-taking-seriously-zh":29,"series-industry-79738091-4c2a-4d7f-8454-c8cd5aaec6ff":66},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":10,"language":12,"translated_content":10,"views":13,"is_premium":14,"created_at":15,"updated_at":15,"cover_image":11,"published_at":16,"rewrite_status":17,"rewrite_error":10,"rewritten_from_id":18,"slug":19,"category":20,"related_article_id":21,"status":22,"google_indexed_at":23,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":10,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":14},"79738091-4c2a-4d7f-8454-c8cd5aaec6ff","為什麼 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","zh",0,false,"2026-04-28T00:09:27.547271+00:00","2026-04-28T00:09:27.319+00:00","done","30390e17-046a-4b6e-8108-49dc0edaaa24","why-julia-to-webassembly-is-finally-worth-taking-seriously-zh","industry","044cc3e5-715d-4b93-89b7-79eb03bd84f0","published","2026-04-28T09:00:11.333+00:00",[],{"id":21,"slug":26,"title":27,"language":28},"why-julia-to-webassembly-is-finally-worth-taking-seriously-en","Why Julia-to-WebAssembly Is Finally Worth Taking Seriously","en",[30,36,42,48,54,60],{"id":31,"slug":32,"title":33,"cover_image":34,"image_url":34,"created_at":35,"category":20},"c3b45aac-c24c-4c09-9e95-73ff729d9a62","why-ai-infrastructure-is-now-the-real-moat-zh","為什麼 AI 基礎設施才是真正的護城河","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778875851377-xatg.png","2026-05-15T20:10:37.227561+00:00",{"id":37,"slug":38,"title":39,"cover_image":40,"image_url":40,"created_at":41,"category":20},"cd078ce9-0a92-485a-b428-2f5523250a19","circles-agent-stack-targets-machine-speed-payments-zh","Circle 推出 Agent Stack，瞄準機器速度支付","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778871663628-uyk5.png","2026-05-15T19:00:44.16849+00:00",{"id":43,"slug":44,"title":45,"cover_image":46,"image_url":46,"created_at":47,"category":20},"96d96399-f674-4269-997a-cddfc34291a0","iren-signs-nvidia-ai-infrastructure-pact-zh","IREN 綁上 Nvidia AI 基建","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778871057561-bukp.png","2026-05-15T18:50:37.57206+00:00",{"id":49,"slug":50,"title":51,"cover_image":52,"image_url":52,"created_at":53,"category":20},"de12a36e-52f9-4bca-8deb-a41cf974ffd9","circle-agent-stack-ai-payments-zh","Circle 推出 Agent Stack 做 AI 付款","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778870462187-t9xv.png","2026-05-15T18:40:30.945394+00:00",{"id":55,"slug":56,"title":57,"cover_image":58,"image_url":58,"created_at":59,"category":20},"e6379f8a-3305-4862-bd15-1192d3247841","why-nebius-ai-pivot-is-more-real-than-hype-zh","為什麼 Nebius 的 AI 轉型比炒作更真實","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778823044520-9mfz.png","2026-05-15T05:30:24.978992+00:00",{"id":61,"slug":62,"title":63,"cover_image":64,"image_url":64,"created_at":65,"category":20},"66c4e357-d84d-43ef-a2e7-120c4609e98e","nvidia-backs-corning-factories-with-billions-zh","Nvidia 出資 Corning 工廠擴產","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778822450270-trdb.png","2026-05-15T05:20:27.701475+00:00",[67,72,77,82,87,92,97,102,107,112],{"id":68,"slug":69,"title":70,"created_at":71},"ee073da7-28b3-4752-a319-5a501459fb87","ai-in-2026-what-actually-matters-now-zh","2026 AI 真正重要的事","2026-03-26T07:09:12.008134+00:00",{"id":73,"slug":74,"title":75,"created_at":76},"83bd1795-8548-44c9-9a7e-de50a0923f71","trump-ai-framework-power-speech-state-preemption-zh","川普 AI 框架瞄準電力、言論與州權","2026-03-26T07:12:18.695466+00:00",{"id":78,"slug":79,"title":80,"created_at":81},"ea6be18b-c903-4e54-97b7-5f7447a612e0","nvidia-gtc-2026-big-ai-announcements-zh","NVIDIA GTC 2026 重點拆解","2026-03-26T07:14:26.62638+00:00",{"id":83,"slug":84,"title":85,"created_at":86},"4bcec76f-4c36-4daa-909f-54cd702f7c93","claude-users-spreading-out-and-getting-better-zh","Claude 用戶更分散，也更會用","2026-03-26T07:22:52.325888+00:00",{"id":88,"slug":89,"title":90,"created_at":91},"bd903b15-2473-4178-9789-b7557816e535","openclaw-raises-hard-question-for-ai-models-zh","OpenClaw 逼問 AI 模型價值","2026-03-26T07:24:54.707486+00:00",{"id":93,"slug":94,"title":95,"created_at":96},"eeac6b9e-ad9d-4831-8eec-8bba3f9bca6a","gap-google-gemini-checkout-fashion-search-zh","Gap 把結帳搬進 Gemini","2026-03-26T07:28:23.937768+00:00",{"id":98,"slug":99,"title":100,"created_at":101},"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":103,"slug":104,"title":105,"created_at":106},"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":108,"slug":109,"title":110,"created_at":111},"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":113,"slug":114,"title":115,"created_at":116},"191d9b1b-768a-478c-978c-dd7431a38149","mistral-ai-faces-its-hardest-year-yet-zh","Mistral AI 迎來最硬的一年","2026-03-26T07:40:23.716374+00:00"]