bibi/src/jsomohide.html

56 行
3.6 KiB
HTML

<title>JSの思ひ出 - 美々蝶々</title>
<h1>JSの思ひ出</h1>
<ul>
<li>2023-03-05 (陰暦02月14日) たかし</li>
<li>最終更新日: 2023-07-17 (陰暦05月30日)</li>
</ul>
<h2>1</h2>
<p>筆者はウェブサイトの JS や NodeJS が苦手ですが、實は JS には思ひ入れがあります。ここでは、その思ひ出を語ります。</p>
<h2>2</h2>
<p>2010年より前はブラウザゲームが人氣でした。Flash・Java Applet 等で作られたゲームです。筆者もブラウザゲームを作りたいと考へました。</p>
<p>筆者は Flash・Java Applet を難しく感じて、JS でゲームを作る事にしました。既に HTML を知つてゐたから、JS の學習は比較的簡單でした。</p>
<p>Flash・Java Applet と比べた時、JS の長所は、IDE が不要な事、自由な處理系が有る事、ソースコードのままで實行できる事です。</p>
<h2>3</h2>
<p>當時の JS ゲーム開發の事情は次の通りです。JS 自體にはグラフィック機能が無く、昔は DOM や CSS を使用して、HTML5 より後は canvas でグラフィックを表現しました。</p>
<p>canvas 2D の API はとても良くできてゐて、多くのブラウザーで正しく機能しました。WebGL は、互換性や性能面に不安がありました。</p>
<p>一方、マウスやキーボードからの入力處理、タイマー處理などの API はひどいものでした。だから筆者は、良いプログラムを書く努力をしました。本を購入して、PC が無い時も紙にプログラムを書きました。</p>
<h2>4</h2>
<p>しばらくして、殆どのブラウザーが Flash・Java Applet のサポートを止めて、JS だけが殘りました。筆者は JS の時代が來たと思ひましたが、その時にはゲームの主流は PC のハイエンドゲームやモバイルの「アプリゲーム」になつてゐました。</p>
<p>それどころか、個人サイトも無くなり、Twitter・Youtube がウェブの中心になりました。筆者はウェブに絶望して、ブラウザゲームを諦めました。</p>
<h2>5</h2>
<p>筆者はブラウザゲームを諦めた頃、JS 自體の問題を知り、JS が苦手になりました。</p>
<ul>
<li><a href="https://www.gnu.org/philosophy/javascript-trap.ja.html">不自由なJS</a></li>
<li>JS のスパイウェア (廣告・トラッキングなど)</li>
<li>JS を完全サポートするブラウザーは全て肥滿ソフト</li>
<li>ライブラリー開發者に對する搾取</li>
</ul>
<p>JS の言語仕様も ES6 以降は複雜で、筆者の好みでは無くなりました。例へばアロー函數は讀みにくいし、class 構文は Java みたいです。</p>
<p>JS はブラウザー以外でも動作しますが、NodeJS は Chrome の V8 エンジンだから避けたいです。それに、ブラウザー以外で動かすなら PHP や Perl の方が良いです。</p>
<h2>6</h2>
<p>好きな JS の用途はユーザースクリプトを書いて、<a href="./076mute.html">ウェブサイトの振る舞ひを修正する</a>事です。これはユーザーの自由を高めます。Dillo、NetSurf、w3m みたいな輕量ブラウザーにもユーザースクリプトの機能を望みます。</p>
<p>また、よく調べてゐませんが、<a href="https://mujs.com/">mujs</a> は、C で書かれた輕量な JS (ES5) の實裝で、Lua みたいに使用できます。筆者は Lua より JS に慣れてゐるから、mujs に興味があります。</p>