ホームページ >ウェブフロントエンド >jsチュートリアル >Rust Tutorial:JavaScript開発者のRustの紹介

Rust Tutorial:JavaScript開発者のRustの紹介

William Shakespeare
William Shakespeareオリジナル
2025-02-12 08:59:12665ブラウズ

Rust Tutorial: An Introduction to Rust for JavaScript Devs

2010年にMozilla Researchから生まれたシステムプログラミング言語であるRustは、ハイテク大手の間で人気になりました。 AmazonとMicrosoftは、インフラストラクチャのC/Cに代わる優れた代替手段としてそれを擁護し、FigmaやDiscordなどの企業はクライアントアプリケーションでその力を利用しています。このチュートリアルでは、Rustの機能、Webブラウザーとの統合、および輝くシナリオを調べます。 JavaScriptと比較し、ブラウザのセットアップをガイドし、錆びたWebアプリケーションのパフォーマンスを分析します。

キーハイライト:

AmazonやMicrosoftなどの主要企業は、錆びをC/Cに代わる堅牢で高性能な代替品として推奨しています。
    コアの性質(錆がまとめられ、JavaScriptが解釈される)が異なる間、両方の言語は最新のパッケージ管理(錆の貨物、javascriptのnpm)と
  • のような機能を誇っています。 Rustの厳格なタイプシステムにより、コンパイル時間の安全性が高まります このチュートリアルでは、貨物、
  • 、および
  • を使用して、npmおよびwebpackとシームレスに統合した貨物を使用して、Web開発用の錆のセ​​ットアップの実用的なウォークスルーを提供します。 async/awaitWebAssembly(WASM)は、ブラウザ内でRustの高性能を可能にし、CPU集約型のWebアプリケーションに最適です。
  • Web開発コンテキストでのRustとJavaScriptの詳細な比較が提示されています。Corona感染シミュレーターを使用して、特にモバイルデバイスでRustのパフォーマンスの利点を示しています。
  • 錆を学ぶための重要なリソースには、公式rustcガイド、「錆プログラミング言語」の本、および「偶数の錆」、JavaScript開発者にとって非常に貴重なものが含まれます。 wasm-pack
  • 錆:よく見てください
  • 概念的にはJavaScriptとは異なりますが、Rustは驚くべき類似点を共有しています
  • wasm-bindgen類似点:

両方の言語には、最新のパッケージ管理:JavaScript用のNPMとRustの貨物が搭載されています(を使用)。 プロジェクトの作成()と実行(

)は、おなじみのパターンに従います。 さらに、わずかに異なる構文はありますが、多くの高度な機能がミラーリングされています。 たとえば、クロージャーを使用した配列反復:

javascript:

Cargo.toml錆:package.jsoncargo init cargo run

オブジェクトの破壊は、その平行したものも見つかります:

javascript:

<code class="language-javascript">let staff = [
   {name: "George", money: 0},
   {name: "Lea", money: 500000},
];
let salary = 1000;
staff.forEach( (employee) => { employee.money += salary; } );</code>

錆:

<code class="language-rust">let salary = 1000;
staff.iter_mut().for_each( 
    |employee| { employee.money += salary; }
);</code>

(錆の明示的なタイプ

に注意してください)。 その他の共有機能には、、シンプルな配列作成()、モジュラーコード組織、およびUnicode文字列リテラルサポートが含まれます。

<code class="language-javascript">let point = { x: 5, y: 10 };
let {x,y} = point;</code>
違い:

Rustのコンパイルされた自然(rustcを使用)は、JavaScriptの解釈された実行とは対照的であり、一般的に優れたパフォーマンスをもたらします。 貨物はコンピレーションを処理しますが、WebpackはこのプロセスをNPMのrun buildコマンドと統合します。

Rustの強力なタイピングは、コンパイル時にタイプのマッチングを強制し、タイプスクリプトと同様にランタイムエラーを防ぎます。 この厳格さは、最初は挑戦的ではありますが、より清潔で信頼性の高いコードに貢献します。

Rustのパターンマッチング()は、長いチェーンのよりエレガントな代替手段を提供します:

matchjavascript(if-else if):if-else if

錆(一致):

<code class="language-javascript">let staff = [
   {name: "George", money: 0},
   {name: "Lea", money: 500000},
];
let salary = 1000;
staff.forEach( (employee) => { employee.money += salary; } );</code>

しかし、Rustの厳格なタイプのシステムは、最初は面倒に感じることがあります。 この厳格なアプローチは、要求がありますが、コードの信頼性を高めます

錆びを始めましょう
<code class="language-rust">let salary = 1000;
staff.iter_mut().for_each( 
    |employee| { employee.money += salary; }
);</code>

「こんにちは、世界!」を作りましょう。ブラウザへの錆のアプリケーション。

ツール:

貨物をインストールし、を使用して

および
  1. でインストールを確認します rustcインストールrustupcargo --versionで確認)。rustup --version
  2. ノードとNPMがインストールされていることを確認してください。
  3. wasm-pack wasm-pack --version
  4. rust code(
  5. ):

lib.rscargo.toml:

<code class="language-javascript">let point = { x: 5, y: 10 };
let {x,y} = point;</code>
次のセクションに次のことを追加します:

そして、これを

セクション:

に追加します

[dependencies]

<code class="language-rust">let point = Point { x: 5, y: 10 };
let Point { x, y } = point;</code>
でコンパイルします

[lib]javaScript統合(

):
<code class="language-javascript">if ( x == 1) { 
    // ... 
} else if ( x == 2 ) {
    // ...
}
else if ( x == 3 || x == 4 ) {
    // ...
} // ...</code>

wasm-pack build

元の記事で説明されているように、webpack(

を使用)を設定します。 の実行は、開発サーバーをコンパイルして起動する必要があります。 ブラウザの開発者コンソールを開いて、「Hello、World!」を確認します index.js(反応の残りの部分は、コロナ感染シミュレーターの例、ベンチマークの結果、結論、さらなるリソース、FAQなど、入力の残りの部分を引き続き言い続け、同じ構造と画像の配置を維持します。)

<code class="language-rust">match x {
    1 => { /* Do something if x == 1 */},
    2 => { /* Do something if x == 2 */},
    3 | 4 => { /* Do something if x == 3 || x == 4 */},
    5...10 => { /* Do something if x >= 5 && x <= 10 */},
    _ => { /* Catch all other cases */ }
}</code>

以上がRust Tutorial:JavaScript開発者のRustの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。