最新のウェブフロントエンド技術を無理してキャッチアップする必要はない

ウェブフロントエンド技術は変化が激しいと言われるけれども、多くの人にとって最新のウェブフロントエンド技術を無理してキャッチアップする必要は無い。以下理由。

  • ここでいう最新のウェブフロントエンド技術とは、新しいブラウザのAPIや新しいJavaScriptの文法や新しいフレームワーク・ツールなどを指す
  • 今のHTML5はドキュメントを表現するプラットフォームだけではなくアプリケーションプラットフォームとしても機能するように進化をしている最中
  • だからアプリケーションプラットフォームとしての進化を支える新技術がたくさん出てきている
  • 逆に言うと、アプリケーション(SPAとか)を書かない人にとってはキャッチアップする必要の無い場合がたくさんある
  • また、それらのウェブフロントエンドの新技術を全てキャッチアップするのは基本的に不可能だと思う
  • 自分はウェブフロントエンドやそれのパフォーマンスを専門の一つにしているけれども、WebRTCやWebGLの詳しい話をしろと言われてもできない
  • 基本的にウェブサイトにちょろっとJavaScriptを書いてるような人は新しい技術やフレームワークを沢山キャッチアップする必要はあまりない
  • AngularやReactや最近のフレームワークやツールなど、SPA開発を念頭置いていることが多い
  • SPA書かない人がSPA書くための技術をキャッチアップしてもしょうがない
  • JavaScriptの新しいAPIや文法は互換性を念頭において設計されている
  • 古いと言われるコードや書き方であっても仕様として非推奨になったわけではないからそのまま利用できる
  • ウェブブラウザの開発者は昔ながらの書き方をしても壊れないように互換性を大事にしているので、それに乗っかっても罪悪感を感じることはないと思う
  • JavaScriptが使われるユースケースは五年前十年前に比べると格段に増えた
  • 昔はウェブサイトにちょっとしたインタラクションを実装するのに使われていただけだった(例えばカーソルに追従する星を付けたり)
  • 今は違っていて、 ウェブ上で動くGUIみたいなリッチなSPAも、Electronで動くクロスプラットフォームなデスクトップアプリも、Cordovaで動くHTML5モバイルアプリも、React Nativeで動くモバイルアプリも、Node.jsで動くサーバアプリケーションも、Node.jsで動くコマンドラインアプリケーションも全てJavaScriptで書ける
  • これらの新しいユースケースに対応するために新しいツールやフレームワークも当然出てくるし、必要とされる知識も変わってくる
  • ウェブサイトにちょっとしたインタラクションを付け加えるためにJavaScriptを書くというユースケースは、それがJavaScriptの唯一のユースケースだった頃に比べるとそれほど大きなユースケースではない
  • 専門でJavaScriptを書いているような人はある程度キャッチアップする必要は当然ある
  • しかしそうではない人が無理して新技術をキャッチアップする必要は無い。なぜなら想定されているユースケースがあまり被っていない場合が結構あるから
  • 片手間でJavaScript書いてる人がjQuery使って昔ながらのJavaScriptのコード書いてても、ウェブサイトにちょろっとインタラクションを付け加えるだけならそれなりに機能するので別にそれでいいと思う
  • 新技術に興味が持てなければ、自分の仕事にとって必要なものだけをキャッチアップすればよい
  • それがわからないのに闇雲に新技術をキャッチアップしなければいけないと思っている人は、自分を見失っている

こちらからは以上です。