Ext JS 7 入門講座の第1回です。Web アプリフレームワーク Ext JS の特徴と、エンタープライズ Web アプリ開発で Ext JS が長年採用されている理由を解説します。
Ext JS は、米国 Sencha 社の JavaScript アプリケーションフレームワークです。「オールインワン」「高性能」「分業対応」「長期サポート」といった特徴が、長期的な拡張性・保守性・安定性を重視するエンタープライズ Web アプリの開発に適しています。実際、Fortune 100(全米上位 100 社)の 6 割が Ext JS を採用しています。Ext JS により、厳しい長期的な保守要件を満たし、開発・保守に必要な時間と費用を大幅に削減することができます。
Table of Contents
オールインワン
Ext JS では、エンタープライズ Web アプリのフロントエンド開発に必要な機能やコンポーネント、ツール等が一通りそろっており、すぐに開発を始めることができます。特定のバックエンド環境には依存しません。一方、他のフレームワークでは、プロジェクトの仕様に合わせて異なるベンダーの小規模フレームワークやツールを組み合わせ、性能・相性の検証や個別のバージョン・ライセンス管理が必要になり、開発自体に集中することが難しくなります。
Ext JS には、そういった組み合わせの影響を受けない一貫性があり、プロジェクトごとに開発環境やコーディングスタイルについてチームメンバーをトレーニングする必要がありません。一度の短期集中トレーニングにより、プロジェクト間で開発・人的リソースを共有できるようになります。JavaScript に加えて TypeScript や JSX のような言語を別途覚える必要もないため、総合的に見ると学習コストはかなり低いといえます。
エンタープライズ Web アプリでよく使用する UI コンポーネントを網羅していることも強みで、個別に開発・導入する時間を大幅に節約できます。現時点で 140 個以上用意されている UI コンポーネントには、フォームやメニューといった単純なものから、データを可視化・分析する表やグラフ、カレンダーまであります。外観と操作感の確認には、キッチンシンク(UI コンポーネントのショーケース)や管理者ダッシュボードサンプルアプリが便利です。
Ext JS の商用ライセンスには、生産性を向上する多くのツールが付属します。例えば、Sencha Architect を使用すると、UI または Ext JS アプリ全体を視覚的かつ効率的に開発することができます。マウス操作でコンポーネントの配置や設定を行うことができ、最適化された模範的なコードが自動生成されます。Sencha Test は、クロスブラウザでの単体テストや結合テストを自動化し、アプリの品質テストにかかる時間を短縮します。
高性能
エンタープライズ Web アプリでは、大量のデータ、いわゆるビッグデータを取り扱う場面が想定されますが、Ext JS はそれを高速に処理・描画可能な高い性能を備えています。例えば、2020 年 4 月の自社調べでは、10 万~ 100 万件以上のレコードを管理するグリッド表コンポーネントのスクロール処理が競合製品より 300 倍以上高速でした。
Ext JS アプリはクロスプラットフォームに対応しており、同じコードベースから多様なブラウザやデバイスに適したユーザー体験と安定した動作を提供します。外観と機能面で、デスクトップアプリと遜色ない水準の UI を構築することもできます。また、今でも Internet Explorer 8 のような古いブラウザをサポートするツールキットを提供しており、レガシーブラウザとの後方互換性にも力を入れています。
分業対応
Ext JS はクラスベースのオブジェクト指向や MVC・MVVM デザインパターンでのプログラミングに対応しているため、チームメンバー間で大規模プロジェクトのコーディング作業を効率よく分担して進めることができます。これにより、コード全体の見通しも良くなり、チームでのプロジェクト進行管理や長期的な保守も容易になります。
Ext JS のクラスシステムは、他のオブジェクト指向言語と同じようにコードをモジュール化し、再利用や拡張を可能にします。MVC パターンは、データ(モデル)、表示(ビュー)、そしてそれらを接続する処理(コントローラ)を分離し、個別に取り組めるようにします。さらに MVVM パターンでは、元の MVC パターンが持つ利点に加え、各ビューを個別に独立した MVC パターンで管理することができます。
長期サポート
Sencha 社には、Ext JS の開発・保守・サポート・トレーニングを 2007 年から続けている実績があります。Web アプリは開発して終わりではなく、運用期間に応じた保守が必要になりますが、エンタープライズ Web アプリの寿命は 10 年以上といわれてます。どれだけ流行りのフレームワークであっても、いつサポートが中断するか分からないものや、サポートが提供されていないものは安易に採用すべきではありません。
異なるベンダーの製品を複数組み合わせて作る独自フレームワークと違い、Ext JS では製品ごとにライセンスやサポートを管理する手間がかかりません。サポートや不具合報告の窓口が一本化され、相性問題の切り分けができずにベンダー間でたらい回しにあうことがなくなります。コンポーネントやツールの相互互換性が事前に検証されており、フレームワークの一部変更が全体の足かせになるような問題も起こりません。
日本語サポート
日本では、Sencha 社の兄弟会社であるエンバカデロ・テクノロジーズ社が日本語で Ext JS の導入相談やライセンス手続き、顧客・技術サポート、情報公開、トレーニング等を提供しています。Ext JS に関してご興味やご質問がございましたら、こちらまでお気軽にご連絡下さい。
次回は、開発環境を準備して、Ext JS の世界を実際に体験してみましょう。
Leave a Reply