JSの思ひ出

1

筆者はウェブサイトの JS や NodeJS が苦手ですが、實は JS には思ひ入れがあります。ここでは、その思ひ出を語ります。

2

2010年より前はブラウザゲームが人氣でした。Flash・Java Applet 等で作られたゲームです。筆者もブラウザゲームを作りたいと考へました。

筆者は Flash・Java Applet を難しく感じて、JS でゲームを作る事にしました。既に HTML を知つてゐたから、JS の學習は比較的簡單でした。

Flash・Java Applet と比べた時、JS の長所は、IDE が不要な事、自由な處理系が有る事、ソースコードのままで實行できる事です。

3

當時の JS ゲーム開發の事情は次の通りです。JS 自體にはグラフィック機能が無く、昔は DOM や CSS を使用して、HTML5 より後は canvas でグラフィックを表現しました。

canvas 2D の API はとても良くできてゐて、多くのブラウザーで正しく機能しました。WebGL は、互換性や性能面に不安がありました。

一方、マウスやキーボードからの入力處理、タイマー處理などの API はひどいものでした。だから筆者は、良いプログラムを書く努力をしました。本を購入して、PC が無い時も紙にプログラムを書きました。

4

しばらくして、殆どのブラウザーが Flash・Java Applet のサポートを止めて、JS だけが殘りました。筆者は JS の時代が來たと思ひましたが、その時にはゲームの主流は PC のハイエンドゲームやモバイルの「アプリゲーム」になつてゐました。

それどころか、個人サイトも無くなり、Twitter・Youtube がウェブの中心になりました。筆者はウェブに絶望して、ブラウザゲームを諦めました。

5

筆者はブラウザゲームを諦めた頃、JS 自體の問題を知り、JS が苦手になりました。

JS の言語仕様も ES6 以降は複雜で、筆者の好みでは無くなりました。例へばアロー函數は讀みにくいし、class 構文は Java みたいです。

JS はブラウザー以外でも動作しますが、NodeJS は Chrome の V8 エンジンだから避けたいです。それに、ブラウザー以外で動かすなら PHP や Perl の方が良いです。

6

好きな JS の用途はユーザースクリプトを書いて、ウェブサイトの振る舞ひを修正する事です。これはユーザーの自由を高めます。Dillo、NetSurf、w3m みたいな輕量ブラウザーにもユーザースクリプトの機能を望みます。

また、よく調べてゐませんが、mujs は、C で書かれた輕量な JS (ES5) の實裝で、Lua みたいに使用できます。筆者は Lua より JS に慣れてゐるから、mujs に興味があります。