JavaScript

no image

Web Workersを用いてJavaScriptをマルチスレッド化する

長らくの間、JavaScriptはシングルスレッドな言語でした。重い処理を実行するたびにUI処理はブロックされ、マルチコアCPUは上手に使えない、それがJavaScriptの常識でした。ですが、Web Workersがあればそれが変わります…

no image

JavaScriptのIteratorとGeneratorを使って反復処理を書く

反復処理はプログラムの基本です。プログラミング言語がどの程度反復処理を補助してくれるかによって、プログラミングの快適性は大きく変わります。 JavaScriptは反復処理に関しては、どちらかというと遅れている言語でした。ですが、Iterat…

no image

Shadow DOM v1でHTMLの内容と構造を分離する

近年ではウェブに対する要求が肥大化しており、それに対応してHTMLも複雑化してきています。しかし、もともとHTMLはウェブアプリを記述するための言語ではありません。大規模なウェブアプリを作成するとなると、様々な点で不都合が出てきてしまいます…

no image

JavaScriptにおけるvar/let/constの使い分け

JavaScriptの3つある変数宣言、varとletとconstは、よく混乱を生みます。どれも変数を宣言することに変わりはないので、違いがわかりにくいのです。このことが初学者を混乱させている場面をたびたび目にしますし、プログラミングに慣れ…

no image

Promiseとasync/awaitでJavaScriptの非同期処理をシンプルに記述する

JavaScriptにおける非同期処理は一種の悪夢です。非同期処理は容易にコードを複雑化させ、品質の低下を招きます。そこでこの問題を解決するため、非同期処理を簡単に扱うことができる、Promiseやasync/awaitという機能が導入され…

no image

JavaScriptで弾幕STGをフルスクラッチで作る その3 弾幕編

前々回の記事でゲームエンジンを作り、前回の記事でゲームを作りました。ここで終わって「あとはみなさんの好きなように作ってください!」としてもよかったのですが、少し味気ない気がしたので、あと1つだけ記事を書くことにしました。 今回するのは弾幕の…

no image

JavaScriptで弾幕STGをフルスクラッチで作る その2 ゲーム作り編

前回の記事ではゲームエンジンを作成しました。そのゲームエンジンを使って弾幕シューティングを作成してみましょう。 対象となるブラウザはChrome51以降です。

no image

JavaScriptで弾幕STGをフルスクラッチで作る その1 ゲームエンジン編

プログラミングといえばゲーム制作ですよね(最近はそうでもない?)。かつてはウェブブラウザ上で動くゲームを作ろうとすると苦労しましたが、最近ではHTML5やES6などの発達によって、作るのもだいぶ楽になりました。ゲーム制作用のJSライブラリな…

no image

GamepadAPIでブラウザ上からゲームパッドの入力を取得する

GamepadAPIを利用することで、ブラウザ上からゲームパッドにアクセスできるようになります。GamepadAPIはChrome、Firefox、Edgeが対応しています。

no image

WebBluetoothでブラウザ上からBluetoothLE通信

WebGL、WebAudio、WebRTC…など「Web○○」系のAPIのおかげで様々なことがブラウザ上でできるようになってきましたが、そこにWebBluetoothのおかげでBluetoothも加わることになりそうです。