<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"><channel><title>MagicLen</title><link>https://magiclen.org/tag/rust-wasm/feed</link><description>多元化原創文章，內容包羅萬象，有程式語言、網站應用、軟體介紹、硬體介紹、作業系統、旅行遊記、專題採訪、益智問題、文學創作，以及作者們的知識分享和作品分享。</description><language>zh-TW</language><lastBuildDate>Tue, 14 Apr 2026 23:36:19 +0000</lastBuildDate><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>8</sy:updateFrequency><sy:updateBase>1970-01-01T00:00+00:00</sy:updateBase><item><title>用Rust開發Web­Assembly─第七章：縮小Web­Assembly程式</title><link>https://magiclen.org/rust-webassembly-shrink</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png 1x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-440x324.png 2x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-660x486.png 3x" alt="">
透過網路來存取使用了Web­Assembly程式的網頁時，愈小的Web­Assembly程式會讓網頁的載入速度更快，也會讓使用者體驗更好。這篇文章整理了一些造成Web­Assembly程式肥大的原因，以及能使Web­Assembly程式縮小的方式。]]></description><category>研究分享</category><category>Rust</category><category>Webassembly</category><category>Rust</category><category>Wasm</category><category>用Rust開發Web­Assembly</category><category>twiggy</category><category>Binaryen</category><category>wasm-opt</category><category>wasm-strip</category><guid>https://magiclen.org/rust-webassembly-shrink</guid><pubDate>Sat, 21 Sep 2019 12:00:29 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用Rust開發Web­Assembly─第六章：康威生命遊戲的效能</title><link>https://magiclen.org/rust-webassembly-conways-game-of-life-performance</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png 1x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-440x324.png 2x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-660x486.png 3x" alt="">
前面花了幾個章節製作的康威生命遊戲，功能已經大致上完成了，不過我們還無法確定其效能是否還有可以優化的空間，必須要用一些方式來偵測才行。]]></description><category>研究分享</category><category>Rust</category><category>Webassembly</category><category>JavaScript</category><category>HTML</category><category>JavaScript</category><category>node.js</category><category>Rust</category><category>Wasm</category><category>Webpack</category><category>用Rust開發Web­Assembly</category><category>康威生命遊戲</category><category>TypeScript</category><guid>https://magiclen.org/rust-webassembly-conways-game-of-life-performance</guid><pubDate>Thu, 19 Sep 2019 12:00:18 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用Rust開發Web­Assembly─第五章：讓康威生命遊戲能與玩家互動</title><link>https://magiclen.org/rust-webassembly-conways-game-of-life-interact</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png 1x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-440x324.png 2x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-660x486.png 3x" alt="">
在這個章節中，我們要替康威生命遊戲加入播放、暫停和逐格播放這幾個時間控制的功能，並且讓培養皿中的格子會因玩家滑鼠游標的點擊事件而改變狀態。]]></description><category>研究分享</category><category>Rust</category><category>Webassembly</category><category>JavaScript</category><category>HTML</category><category>JavaScript</category><category>node.js</category><category>Rust</category><category>Wasm</category><category>Webpack</category><category>用Rust開發Web­Assembly</category><category>康威生命遊戲</category><category>TypeScript</category><guid>https://magiclen.org/rust-webassembly-conways-game-of-life-interact</guid><pubDate>Tue, 17 Sep 2019 12:00:01 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用Rust開發Web­Assembly─第四章：測試(Testing)與偵錯(Debugging)</title><link>https://magiclen.org/rust-webassembly-testing-debugging</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png 1x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-440x324.png 2x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-660x486.png 3x" alt="">
在開始替我們的康威生命遊戲實作更多功能之前，要先將目前的Rust程式加入測試(Testing)，除了可以用來驗證目前的程式正確性之外，還可以避免日後因修改程式而把原本可以正常工作的程式弄出問題了。另外，有些程式問題發生的原因很難確認，我們也需要在Rust程式中輸出Log到網頁瀏覽器的主控台(console)中，才能偵錯(Debugging)。]]></description><category>研究分享</category><category>Rust</category><category>Webassembly</category><category>JavaScript</category><category>JavaScript</category><category>node.js</category><category>Rust</category><category>Wasm</category><category>Webpack</category><category>用Rust開發Web­Assembly</category><category>康威生命遊戲</category><category>TypeScript</category><guid>https://magiclen.org/rust-webassembly-testing-debugging</guid><pubDate>Sun, 15 Sep 2019 12:00:53 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用Rust開發Web­Assembly─第三章：實作康威生命遊戲</title><link>https://magiclen.org/rust-webassembly-conways-game-of-life</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png 1x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-440x324.png 2x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-660x486.png 3x" alt="">
康威生命遊戲(Conway&#x27;s Game of Life，又稱康威生命棋)是一個模擬生物細胞存活、繁殖與滅亡的遊戲。雖然這個稱為「遊戲」，但它其實不怎麼好玩，它是透過電腦來模擬出一個培養皿空間，這個培養皿中在一開始會被放置一些虛擬細胞，而這些細胞會遵循一些「遊戲規則」來決定其在下一個階段是持續生存、還是要繁殖、抑或是毀滅。藉由圖像化這個培養皿，我們可以從中觀察到一些有趣(?)的圖像。]]></description><category>研究分享</category><category>Rust</category><category>Webassembly</category><category>JavaScript</category><category>HTML</category><category>JavaScript</category><category>node.js</category><category>Rust</category><category>Wasm</category><category>Webpack</category><category>用Rust開發Web­Assembly</category><category>康威生命遊戲</category><category>TypeScript</category><guid>https://magiclen.org/rust-webassembly-conways-game-of-life</guid><pubDate>Fri, 13 Sep 2019 12:00:43 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用Rust開發Web­Assembly─第二章：將高效能的Rust函式庫套用在網頁上</title><link>https://magiclen.org/rust-webassembly-library</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png 1x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-440x324.png 2x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-660x486.png 3x" alt="">
在上一章節中，我們有提到Web­Assembly比JavaScript的效能還要快很多，但始終沒有舉出一個例子來比較它們實際的效能差異。在這篇文章中，會介紹如何把任意現有的Rust函式庫編譯成Web­Assembly，然後移植到網頁瀏覽器上執行，並且比較Rust函式庫做出來的Web­Assembly模組以及原生JS模組在網頁瀏覽器上執行的效能差異。]]></description><category>研究分享</category><category>Rust</category><category>Webassembly</category><category>JavaScript</category><category>JavaScript</category><category>node.js</category><category>Rust</category><category>ShortCrypt</category><category>Wasm</category><category>Webpack</category><category>用Rust開發Web­Assembly</category><category>TypeScript</category><guid>https://magiclen.org/rust-webassembly-library</guid><pubDate>Wed, 11 Sep 2019 12:00:26 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>用Rust開發Web­Assembly─第一章：認識Web­Assembly</title><link>https://magiclen.org/rust-webassembly-introduction</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-220x162.png 1x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-440x324.png 2x, https://magiclen.org/wp-content/uploads/2019/06/wasm-ferris-660x486.png 3x" alt="">
WebAssembly(簡稱Wasm)，是一個安全、可移植(無硬體和作業系統相依)的低階語言(類似組合語言)，由W3C制定標準，並由世界四大瀏覽器Mozilla Firefox、Microsoft Edge、Google Chrome和Apple Safari的提供商共同開發，能用來製作高效能且體積小的程式，通常是應用在Web上，但也不限於此。WebAssembly並不是利用新語法來編譯出優化過的...]]></description><category>研究分享</category><category>Rust</category><category>Webassembly</category><category>JavaScript</category><category>HTML</category><category>JavaScript</category><category>node.js</category><category>Rust</category><category>Wasm</category><category>Webpack</category><category>用Rust開發Web­Assembly</category><category>TypeScript</category><guid>https://magiclen.org/rust-webassembly-introduction</guid><pubDate>Mon, 9 Sep 2019 12:00:29 +0800</pubDate><dc:creator>Magic Len</dc:creator></item></channel></rss>