“Ext JS” といえば、Sencha、そう、アメリカの企業。
カリフォルニア州サンフランシスコに本社を構える、2008年から始まったベンチャー企業で、昨今急成長をしている企業である。

2008年から?という疑問は、色々と模索すると分かってくるのだが、コア技術の前身は Yahoo-UI であり、そこから発展させたものという事のようである。
このことは、ExtJS(WikiPedia日本語) に記載されている内容、ExtJS(WikiPedia English) を参照されると良いであろう。

本社サイト には “Sencha Ext JS JavaScript Framework for Rich Desktop Apps” と書かれている様に Ext JSはフレームワークと位置づけている事が見てとれる。


社名の由来は日本のあの「煎茶」 から来ているというのはとても有名な話である。本当の理由は私は知らないのだが、ロゴは「茶葉」をモチーフにしている事から事実であろう。

まぁ、前置きは良いとして、
私の捉えている、Ext JSを使うことのメリット、およびデメリットを挙げたいと思う。

メリット

  • HTMLタグを殆ど書かずに、リッチなU/Iを持ったWebページ制作が行える。
  • ページ遷移の少ないインタラクティブかつ高機能なWebページ制作が行える。
  • データ連動に優れており、JSON、XML、配列、等のデータ構造を比較的簡単に扱える。
  • サーバー側をAPI(データ構造を扱えれば何でも良い)、フロント側・ロジック構築(Ext JS)、フロント側・デザイン構築(SASS/CSS)、の3階層とした完全分離作業が可能である。

デメリット

  • Ext JSフレームワークを習得するのに相応の時間を要する。(エンジニア次第)
  • あくまでも動的なHTMLのコード生成(DOM構造への書き出し処理)が行わるため、SEO等への影響が懸念される。 ※このことから、管理画面などのツール的存在機能を構築するのが好ましいかもしれない。
実務実績として、メリットに挙げる「3階層」の完全分離作業に関しては、過去数々のプロジェクトに加担してきた私としては、とてもメリットに感じた。
これは、多くのWeb開発作業においては、サーバー側エンジニアはフロントWebページへの影響も最大限に考慮しなければならない場合が多い。
そもそも、多くのWeb開発においてのサーバー側エンジニアはフロント側(システムエンジニアとデザイナーが融合した様な作業をする人)と同等である。もしくは溶け込んだように融合した作業、お一人様Webページ開発が必要である。
「モバイルアプリ開発」(APIアクセスをメインとした開発)においては、ほぼこの分離作業を主とした手法が取られていると思われるのだが、これはただただ、サーバー側からHTMLコードをプッシュしてWebページを生成することが少ないからに他ならず、ブラウザベースのアプリの場合はこの限りでは無い。
そのことから考えると、Ext JSを使った開発では、モバイルアプリ開発に近い形式で開発する事が行え、このメリットはサーバー側エンジニアにとってはとてもメリットが大きいはずである。
かつデザイン制作においても、SASSもしくはCSSにおけるデザイン制作を実際にExt JSからDOMに書き出されたコンポーネント(HTMLタグ)に対して装飾を施していく、といった同時作業が行える。
このときに、融合する必要はあるが、SASS構築(Neptuneからの派生を用いると現代のマテリアルオネスティー的なデザインに仕上がる)を行い、他の不足分は
デザイン構築担当 → ロジック構築担当に特定のクラス名を追加依頼(cls/addCls)、→ デザイン構築担当が割り当てられたクラス名に対して装飾
の様な流れを繰り返す事で、アジャイル的にフロント側の開発が行える。
各社、様々な開発手法を用いて行っているプロジェクトが多いと思うが、
このやりとりには「人間性」が多く出てしまいなかなか思うように進まないプロジェクトも多い。マネージャー担当が苦労した末、精神的に参ってしまうパターンとなる融合必須なWebページ開発、もしくはサービスはそれなりの規模であっても中身はお一人様Webページ開発が多い。
そんな中で、これら3階層を切り分けてWebページ制作が行える事は混沌としたWebページ開発プロジェクトが多い中ではとてもメリットと感じる。
これは私だけだろうか、と疑問を抱くが、決してそんな事は無いはずであるが、はたして・・・

Categories:

Tags:

コメントは受け付けていません