それでは、AngularJS についてお話ししましょう。これは、Googleが2010年に作成したこのクールなJavaScriptのもので、実際にはフレームワークです。アプリのような感じのウェブサイト、つまり超スムーズでインタラクティブな単一ページのサイトを構築するのに役立つツールと考えてください。動的テンプレート (その場で変更ができる) やデータバインディングなどの優れた機能が追加され、こういったタイプのサイトを簡単に作成できるようになり、すべてがよりシームレスに連携するようになったため、これはかなり大きな成果でした。
AngularJSは本当に物事を揺るがしましたが、今でもウェブ全体にその影響が見られます。PayPal、Upwork、Netflixなどの大手企業は、サイトを本当にレスポンシブに感じさせるためにこれを使用しました。フレームワークがウェブをもう少しユーザーフレンドリーにする役割を果たしたようですが、ウェブ開発の世界では今でも大きな問題です。
AngularJSは基本的に、シングルページアプリケーション(SPA)を作成するための頼りになるものです。これらは、何かをするたびにページ全体をリロードする必要がなく、必要な部分だけを更新するウェブサイトです。その方がずっと速く、ネイティブアプリを使っているような感覚です。ソーシャルメディアのフィードを更新したり、メールをチェックしたりすることを想像してみてください。AngularJS なら、面倒なページリロードなしで、こうしたシームレスな変更が可能になります。
AngularJSは、GoogleのDoubleClick Ad Exchange、動画プラットフォームのVevo、さらにはBBCウェザーアプリなどの有名なアプリにも使われています。IBM、マイクロソフト、ベライゾンなどの大企業も自社のウェブアプリケーションにこのアプリケーションを使用しています。新しいテクノロジーが利用可能であっても、今でも一般的な選択肢です。
AngularJSの最も優れた点の1つは、動的なWebサイトの構築が簡単になることです。これにより、サイトに非常に強力な機能を追加できる「ディレクティブ」と呼ばれる再利用可能な HTML 要素が得られます。さらに、「データバインディング」(データと表示されるものが常に同期されている) や「依存性注入」(複雑なコードの管理をより簡単にする) など、非常に優れた機能もいくつか備わっています。そしてもちろん、Google がサポートしているので、一貫した更新や、常に支援してくれる強固なコミュニティが得られます。
AngularJSにはスケーラビリティも組み込まれているため、信頼性が高く長期的なサポートが必要なアプリに最適です。Dirox では、このテクノロジーを使用して、お客様のビジネスニーズに完全に適合するカスタムで高性能なソリューションを構築しています。
さて、これは少し混乱するかもしれませんが、いいえ、AngularとAngularJSは同じものではありません。AngularはAngularJSのまったく新しいバージョンのようなもので、元のクリエイターによってゼロから書き直されました。AngularJS は JavaScript を使用していますが、Angular はタイプスクリプトを使用しているため、非常に大規模な単一ページのアプリケーションを構築するのに適しています。これは一種の続編のようなものです。
AngularJSで構築されたアプリを、気付かないうちに使用したことがあるでしょう。よく知られているプラットフォームには、PayPal、Upwork、Netflix、Gmailなどがあります。また、The Guardian が毎日何千枚もの画像を管理しているようなビッグデータプロジェクトにも使われています。つまり、毎日使用するアプリとエンタープライズグレードのソリューションの両方に使用されているわけです。
AngularJSはフレームワークであり、ライブラリとは少し異なります。これには構造があり、クライアント・サイドで完全なアプリケーションを構築するためのツールを提供します。React はユーザーインターフェースそのものにしか焦点を当てておらず、アプリケーション全体の構造は提供していないため、ライブラリと見なされています。
実際にはJavaScriptに依存しているなど、いくつかの欠点があります。ブラウザで JavaScript がオフになっていると、ページは正しく機能しません。さらに、そのサイズや複雑さによって最適化が少し難しくなることがあり、Internet Explorer 8.0 のような本当に古いブラウザーではうまく機能しません。
これは良い質問です!AngularJS はまだ存在していますが、古いアプリケーションのメンテナンスによく使われています。先ほどお話ししたような制限があるため、特にパフォーマンスと互換性に関しては、まったく新しい開発には最適な選択肢ではありません。公式サポートは2022年1月に終了しました。通常、新しいプロジェクトには、新しい Angular や React や Vue.js のようなものを使うことを検討するのが良いでしょう。しかし、今のところ、まだ使っているすべてのアプリのメンテナンスにはまだ意味があります。