2018年03月08日に初出の投稿

Last modified: 2018-03-09

JavaScript のライブラリを色々と見てるんだけど、どんどん新しいのは出てくるけど、結局は jQuery とか Dojo のように互換性を維持するために特別の配慮をしてる堅いフレームワークがサポートしている範囲のライブラリでいいんじゃないかと思うね。自宅の古いブラウザでは WebGL が未対応で動かないという事情もあって、ビジュアル志向のライブラリ、たとえば p5.js や Tree.js なんかはサンプルが全く動かない。で、恐らくは「最新のブラウザで」という話になるんだろうけど、考えてもみれば後方互換性が殆どないライブラリって、いまのバージョンを使い続けたら新しいブラウザに対応できなくて使えない相手が出てくるし、新しいブラウザに対応して新しくしたライブラリを使い続けると古いブラウザに対応できなくて使えない相手が出てくる。

もちろん、そういうサポートの範囲には現実的な限界というものがあるわけだけど、最近のガキがつくる地図や 3D やビジュアライゼーションのライブラリって、基本的に刹那的な名声とか集客とかマネタイズのことしか考えてないから、原理原則が大切だという哲学者としてだけでなく、システム開発のプロとしてもぜんぜんコミットする気になれないんだよね。その辺の草むらでウンコしてるのと同じレベルに見えるんだよ。都内やシリコンバレーの上場企業で俺らの倍以上の給料もらってる連中が書いてるコードでもね。

なので、プロの技術者としてはコアレベルの ECMAScript や堅いフレームワークだけに拘りたくなるんだな。それに、ブラウザのエンジンに追加されているビジュアル志向の別規格の実装に依存するメソッドなんてのは、どのみち必要なら僕らは有能だから覚えるし使えるわけだけど、少なくともプライベートでは使いたくないね。ウンコを手で触ってるみたいな気分になる。

ちなみに、ライブラリはともかくフレームワークについては、仕事では圧倒的に jQuery が多いのだけど、他のフレームワークを選びにくい理由は個々に違う。まず、僕は Vue のように HTML 文書で特殊な属性をインラインで書くように要求するようなライブラリはメンテナンス性が低いと思っているので、あまりお勧めはしない。そして React は独自のノードを構築してから DOM に落とし込むという設計思想には感心するが、HTML のタグをそのまま JavaScript のコードに書いてるような記述方法がダサい。Dojo は、さすがに企業ユースをうたって IBM や Cisco がサポートするだけあって扱い方は手堅いけれど、ダウンロードしたら本体がどれなのかすら分からない魔界のようなコンポ―ネントを扱わなければいけない。jQuery は、もちろん古い。オリジナルの作者ですら React を使っていると言っているほどだ。しかし、結局は「それがどうした?」という話にならざるを得ない。なぜなら、JavaScript はコードが第三者に全て開示されるので、そもそも知財に関わるようなコードを書ける事業者は殆どいないわけで、このようなものをどれほど高度なコンピュータ・サイエンスの理論で擁護しようと、現実の仕事では大したことは書けないのだ。つまり、関数型で実装しようと、イソモーフィックに実装しようと、そんなものは企業としての KPI やエンドユーザの UX というプロの開発者がもつべき基準からすれば、クソでしかない。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook