January 2017
Intermediate to advanced
452 pages
5h 53m
Japanese
「2章 初めてのJavaScriptアプリ」の例で非同期プログラミングについて少し触れましたが、ユーザーからのインタラクションは本来、非同期的なものです。ユーザーがいつクリックやタッチをするか、キーボードから入力するか、あるいはスマートフォンに向かって話し始めるかを、プログラマーがコントロールすることはできません。そしてユーザーからの入力だけが非同期に実行されるものではありません。さまざまな処理が非同期に行われます。
ユーザーからの入力以外に非同期の処理が必要とされるものとしては、おもに次の3種類があります。
JavaScriptのアプリケーションは「シングルスレッド」で実行されます。つまりJavaScriptの処理系は一度にひとつのことを実行していきます。最近のコンピュータの多くは「マルチコア」で、複数のことを同時に行うことができます。たとえシングルコアのコンピュータであっても、処理を小さな単位に分割して行う「マルチタスキング」は可能で、ユーザーから見ればタスクが同時に処理されているかのように見えます。
JavaScriptの処理系がシングルスレッドでしか実行しないのは、「制約」のように思えるかもしれませんが、マルチスレッドのプログラムに存在する難しい問題を避けることができるという意味では長所と取ることもできます。しかしその代わりに、スムーズな処理を行うソフトウェアを作成しようとすれば、ユーザーからの入力に限らず、さまざまな非同期の処理が必要になります。非同期の処理は未経験者にとってはなじみにくいものですので、例を実際に動かして自分なりに手を加えたりしながらていねいに説明を読み進めてください。 ...
Read now
Unlock full access