OSSのABC

A is for the Framework that changed Frontend Forever(Aはフロントエンドを永遠に変えたフレームワーク)。

AはAngularJS

オープンソースソフトウェアの歴史と影響を一文字ずつ紹介する「The ABCs of OSS」の第1回目エピソードへようこそ。私はホストのテイラーで、今日はAから始めます。 AngularJS.

なぜAngularJS 重要なのか

ソフトウェアの構築方法に永久的な足跡を残す技術もあるが、AngularJS そのひとつだ。2010年にGoogleによってリリースされたAngularJS 、開発者のフロントエンドWeb開発への取り組み方を完全に変えた。

AngularJS登場する前は、ダイナミックなウェブアプリケーションの構築は骨の折れるものだった。開発者は手作業でのDOM操作や、常に頭を悩ませる状態管理と格闘していました。AngularJS そのような問題を、次のようなイノベーションで解決した:

  • 双方向のデータバインディング- DOMを常に手動で更新する必要がありません。
  • 依存性注入- テストとモジュール化されたコードをより簡単にする。
  • ディレクティブ- それが主流になる前の、再利用可能なコンポーネントを構築する方法。

これらの機能によってAngularJS 革命的なものとなり、その影響はReactや Vueといった今日のフロントエンド・フレームワークにも見られる。

終末期とセキュリティ・リスク

しかし、他のソフトウェアと同様、AngularJS ライフサイクルがあった。グーグルは2018年にAngularJS いずれ引退することを発表し、2021年12月に正式にEOL(End of Life)に達した。

これが問題だ:Angular 単なるAngularJSアップグレードではありませんTypeScript、RxJS、コンポーネントベースのアーキテクチャを中心に構築された全面的な書き換えであり、アプリケーションを一から考え直す必要がある完全なシフトなのだ。

では、今日AngularJS 動かし続けたらどうなるのか?

  • アプリケーションはまだ "動く "が...。
  • 今はサポートされていない、パッチの当たっていないソフトウェアで動いている。
  • 新たに発見されたCVEの脆弱性には、公式なパッチが当てられることはない。

つまり、本番稼動中のAngularJS アプリは、事実上セキュリティ上の負債であるということです。AngularJS 依存している組織は、パッチが適用されていないソフトウェアを運用し、ユーザーとシステムを危険にさらしているのです。

移住の課題

移行の道は単純ではない。AngularJS 最新のフレームワークに移行するチームは、次のような問題に直面する:

  • アーキテクチャのオーバーホール- 全く新しいパラダイムとビルドツール。
  • テストの書き換え- 古い前提がもはや当てはまらないため。
  • 膨大な技術的負債- 特にアプリに何年ものレガシー機能がある場合。

それは "週末プロジェクト "ではない。長期的な近代化の取り組みであり、計画、リソース、場合によっては外部からのサポートが必要となる。

AngularJS永続的な影響力

AngularJS サポートされなくなったとはいえ、その痕跡は至るところに残っている:

  • 依存性注入はフロントエンド開発の定番となった。
  • コンポーネント・ベースのアーキテクチャは、React、Vue、Angular現代的な形の舞台となった。
  • データ・バインディング・パターンは、UIステートの管理方法に影響を与え続けている。

言い換えれば、AngularJS触ったことがなくても、AngularJS開拓したパターンを使っている可能性が高い。

閉会の辞

AngularJS 画期的だったが、今やレガシーソフトウェアだ。サポートなしで運用することは、本当のセキュリティリスクを受け入れることを意味する。移行は大変だが、製造中止のソフトウェアを無視するのはもっと危険だ。

OSSのABC」第1回はここまで。次回は、BootstrapのBについてです。Bootstrapは、グラフィックデザインの学位を必要とせずに、開発者にデザインのスーパーパワーを与えたフレームワークです。

それまでは、コードをクリーンに保ち、依存関係をアップデートし、レガシーソフトウェアをサポートしておくこと。

AIで要約する
ホスト
テイラー・コルベット
サポートされていないフレームワークでプロダクション・アプリケーションを実行することは、セキュリティ上の大きな責任となる。