JavaScriptエンジンとは?
ブラウザの中に組み込まれているプログラムです。JavaScriptの実行した計算などを全て行なってくれます。
役割
- 演算の実行
- グローバルオブジェクトを起動時に生成してくれる。
- ガベージコレクターを持っていて、ガベージコレクションで使っていないメモリ領域があり次第自動で削除してくれます。
V8エンジン
Chrome、新世代Edge
今までのJavaScriptエンジン(SpiderMonkeyなど)に比べてJITコンパイラを備えており遥かに早くパフォーマンスが良くてWeb業界においてChromeが出た2008年当時すごく衝撃的な出来事でした。
スケーラブルなネットワークアプリケーションを構築するために設計されたJS環境であるNode.jsでも利用されています。
SpiderMonkey
Firefox
当時は遅かったのですが、V8エンジン登場後に同じアルゴリズムを取り入れて今ではものすごく早くなりました。
JavaScriptCore
Safari
当時は遅かったのですが、V8エンジン登場後に同じアルゴリズムを取り入れて今ではものすごく早くなりました。
ブラウザのWeb API
IndexedDB
- cookieやWeb Storageに比べて格納できる容量が大きく、blob形式にして様々なデータを格納できる。
- 動画や3Dモデルなどの大容量データを扱うのに適している。
- 2回目以降にサイトにアクセスした際に、ダウンロードなしにスムーズにコンテンツを楽しめる。
Cache API
- ServiceWorkerと組み合わせて使うことが多いが必ずしもその用途で使う必要はない。
- スクロール位置を保存しておき、リンクから戻った時にその位置に戻る機能
Background Sync
- ブラウザを閉じている時もバックグラウンドでサーバーとデータを送受信する。
- バックグラウンドでスクリプトを実行するService Workerを用いる。
- オフラインでPWA操作していて、オンライン復帰時に自動でサーバーにデータを送信する目的などで使われます。
Push
- ブラウザにプッシュ通知を送るAPI
Payment Request
決済を汎用化するためのAPI。Webブラウザに保存されている決済情報などを取得できます。
- 決済情報
- 配送先住所
- 決済者の名前やメールアドレス
あくまでPayment Request APIは決済情報の取得だけなので実際の決済はアプリ側で別途実装が必要になります。
Web Authentication
公開鍵暗号を用いて強力な認証を可能にする資格情報管理 API です。最近流行りのパスワードなし認証だったり、SMSを用いた認証だったりの技術です。
この記事へのコメントはありません。