bibi/src/jsomohide.html

47 行
3.7 KiB
HTML

<title>JSの思ひ出 - 美々蝶々</title>
<h1>JSの思ひ出</h1>
<ul>
<li>2023-03-05 (陰暦02月14日) たかし</li>
</ul>
<h2>1</h2>
<p>わたしはウェブサイトの JS が苦手で、NodeJS を使用する豫定もありません。ところが、わたしは JS に思ひ入れがあります。その思ひ出を綴ります。</p>
<h2>2</h2>
<p>昔 (2010年より前)、ブラウザゲームが人氣でした。Flash・Java Applet などの技術で作られたゲームです。當時、わたしもブラウザゲームを作りたいと考へましたが、Flash・Java Applet を難しく感じて諦めました。ところが、JS でゲームを作る方法があると知りました。JS はソースコードのまま實行できるから簡單でした。そして、わたしは HTML を知つてゐたから JS を學ぶのに時間はかかりませんでした。</p>
<h2>3</h2>
<p>JS にはグラフィック機能がありません。昔は DOM や CSS でグラフィックを表現しました。HTML5 の CANVAS 2D が登場した後は、それでグラフィックを表現しました。CANVAS 2D の API は、かなり良くできてゐて、多くのブラウザーで正しく動きました (WebGL はダメダメ)。</p>
<p>CANVAS 2D は簡單でした。ところが、マウスやキーボードのイベント處理、メインループの爲のタイマー處理などの API は非道い物でした。だから、わたしは JS でマシなプログラムを書く方法を勉強しました。JS の本を購入して、PC が無い時でも紙にプログラムを書いて實驗する程でした。</p>
<h2>4</h2>
<p>しばらくして、殆どのブラウザーが Flash・Java Applet のサポートを止めて、JS だけが殘りました。JS でブラウザゲームを作る時代が來たと思ひました。ところが、その時にはブラウザゲーム自體が過去の物でした。個人サイトは無くなり、Twitter・Youtube が中心になりました。ゲームは、PCのハイエンドゲームか、スマホのアプリゲームのどちらかになりました。だから、わたしはブラウザゲームを諦めました。</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 構文は退化です。</p>
<p>NodeJS は Chrome の V8 エンジンだから使用したくありません。それに、ブラウザー以外でスクリプト言語を使用するなら、JS よりも PHP とか Perl の方が良いです。</p>
<h2>6</h2>
<p>JS の數少ない用途はユーザースクリプトでせう。ウェブサイトを閲覽する時に、サイトの振る舞ひをユーザーの好みに調節するわけです。ユーザーが非道いサイトを自分で修正できるから、ウェブをより自由にする物であると考へます。Dillo、Netsurf、W3M みたいな輕量ブラウザーにもユーザースクリプトの機能がほしくなります。</p>
<p>また、よく調べてゐませんが、<a href="https://mujs.com/">mujs</a> は、C で書かれた輕量な JS (ES5) の實裝で、Lua みたいに使用できます。わたしは Lua より JS に慣れてゐるから、mujs には興味があります。</p>