イタチでもわかる Ext JS 7 入門 – 第1回 Ext JS とは?
Ext JS 7 入門講座の第1回です。Web アプリフレームワーク Ext JS の特徴と、エンタープライズ Web アプリ開発で Ext JS が長年採用されている理由を解説します。
Ext JS は、米国 Sencha 社の JavaScript アプリケーションフレームワークです。「オールインワン」「高性能」「分業対応」「長期サポート」といった特徴が、長期的な拡張性・保守性・安定性を重視するエンタープライズ Web アプリの開発に適しています。実際、Fortune 100(全米上位 100 社)の 6 割が Ext JS を採用しています。Ext JS により、厳しい長期的な保守要件を満たし、開発・保守に必要な時間と費用を大幅に削減することができます。
オールインワン
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 の世界を実際に体験してみましょう。
Are you facing issues with Ext JS applications’ performance as they scale up? Don’t worry!…
Dynamic forms are changing the online world these days. ExtJS can help you integrate such…
In modern software development, unit testing has become an essential practice to ensure the quality…