開発サークルに長く潜んでいるなら、おそらく WebAssembly (または Wasm、開発者は私と同じように頭字語が大好きなので、そのことについてのささやきを聞いたことがあるでしょう)コーヒー)。
これは、ブラウザを単なるドキュメント ビューアから本格的なスーパーヒーローに変えることを約束する、かつては「次なる大きなもの」として歓迎されました。 WebAssembly は数年前から存在していますが、どうなるのでしょうか?それは今もここにあり、その約束を果たしています。 JavaScript は脇に追いやられませんでしたが、Wasm はバックグラウンドで重要な作業を静かに実行しており、Web パフォーマンス ゲームにおける強力なパートナーとなっています。
これをイメージしてください: JavaScript と C が飲みに行き、速度と効率について深く話し合うと、ブームが起こります - WebAssembly が誕生します ?。 Wasm は、ブラウザーで実行できる低レベルのアセンブリのような言語で、Web アプリケーションをより高速かつ効率的に実行できるように設計されており、ブラウザーでは処理できないと考えられていたものを実行できます。ブラウザがパーカーの下にシックスパックを持っていると考えてください。JavaScript がベンチマークできる以上の効果を発揮する準備ができています。
わかりやすい英語で言うと? WebAssembly は、ネイティブ マシン コードとほぼ同じ速度で実行できるコンパイルされたコード形式で、JavaScript に置き換わるのではなく、JavaScript と並行して動作するように設計されています。いいえ、苦労して獲得した JS スキルをすべてゴミ箱に捨てる必要はまだありません。
ウェブは猫のミームや Twitter での無限スクロールを表示するには最適ですが、3D ゲーム、ビデオ編集、リアルタイム シミュレーションなど、あまりにも激しいものを扱うのは歴史的に苦手でした。そこに Wasm が介入し、コードを非効率の手中から救い出そうとするスーパーヒーローのように、精悍で威圧的な表情を浮かべます ?.
WebAssembly がもたらすものは次のとおりです:
まず第一に、JavaScript と決別する必要はありません。 Wasm はそれをうまく使っていますか? Wasm は、JS がいくつかのループを実行した後で疲れたときに、重労働を手助けしてくれる JavaScript の筋肉質の相棒だと考えてください。
実際、WebAssembly は実際に JS コードを より良くすることができます。パフォーマンスを重視するタスク (複雑な計算、ファイルの解析、ビデオのレンダリングなど) がある場合は、それらのタスクを Wasm に渡して、JS が通常の DOM 操作の魔法に集中している間に、Wasm に負荷の高い作業を処理させることができます。
JavaScript と WebAssembly の関係は、頭脳派 (JS) と屈強な人間 (Wasm) が窮地を救うために協力する、スーパーヒーローのチームアップに似ています。どちらも置き換えられるのではなく、一緒にいてより良いものになるだけです。ピーナッツバターとゼリーのようなもの。またはタブとスペース (冗談です。炎上戦争を始めないでください)。
ステップ 1: 呼吸します。 Wasm というと怖く聞こえるかもしれませんが、特に C、C、Rust などのコンパイル言語で書いたことがある場合には、使用するのはそれほど難しくありません。そうでない場合は?おめでとうございます! WebAssembly は、これまで避けてきた威圧的な言語をついに学ぶための素晴らしい口実です。
ステップ 2: Wasm を生成できるコンパイラーを入手します。コード (C、C、Rust など) を取得して Wasm にコンパイルするツールはたくさんあります。 Emscripten は C/C プロジェクトに人気の選択肢ですが、wasm-pack は Rust プロジェクトに最適です。
ステップ 3: ブラウザにそれを投げます。コードを WebAssembly にコンパイルしたら、それをブラウザにロードして、素晴らしいパフォーマンスの向上を活用し始めることができます。ただし、Wasm は脚光を浴びているわけではありません。Wasm は JavaScript と調和して動作することを目的としています。 JavaScript コードは、WebAssembly 関数をまるでグループの一部であるかのように呼び出します。ドラマはありません。
ステップ 4: 利益を得る。あるいは、少なくとも、亜硝酸ボタンがあるかのように、Web アプリがパフォーマンスのボトルネックを乗り越えていく様子をゆっくりと眺めて楽しんでください。
いいですか、WebAssembly によって JavaScript が廃止されるとか、ネイティブに近いコードを実行するという強力なパワーによってブラウザが自然に燃え始めると言っているわけではありません。でも… もしかしたら?
実際には、WebAssembly の将来は、何かを置き換えるのではなく、既存の Web エコシステムを補完することにあります。それはツールです。確かに強力なものですが、これは単に役立つためのものであり、JavaScript 君主制を打倒するためのものではありません。 Wasm がウェブ全体で主流になるまでにはまだ数年かかると思われますが、Wasm はすでにゲーム、マルチメディア アプリ、さらにはブロックチェーンの分野で波を起こしています。そう、ブロックチェーンです。どうやら、Wasm が行かないところはないようです。
WebAssembly が人間だったら、予告なく現れて、重い家具の移動を手伝い、ピザを頼まずに立ち去る友人でしょう。重い計算、パフォーマンスの最適化、ブラウザを私たちがこれまで可能だと考えていた以上のことを可能にする強力な機関に変えるなど、汚い仕事を行うためにここにあります。
Web アプリでできることの限界を押し広げたい場合、または単にブラウザーにスーパーヒーローのトレーニングを受けたような気分にさせたい場合、WebAssembly がサポートします。強力なパワーには、コンパイル時間もかかるということを覚えておいてください?.
こんにちは、programORdie です。これが初めての本格的な記事です。フィードバックをお待ちしておりますので、お気軽にコメントを残してください!!
私のプロジェクトをチェックしたり、GitHub:programORdie2.
記事をお楽しみいただけましたでしょうか。良い一日をお過ごしください?
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3