kagamihogeの日記

kagamihogeの日記です。

Flex カスタムコンポーネントの憂鬱

Flex は従来の HTML ベースの Web アプリケーションと比べて表現力に優れます、というのは Adobe などなど RIA 陣営の言い分です。それは本当なのかな、ってとこと、そのウラに潜んでることなどを、ここんとこ Flex に関わってきた人間として感じたことを書きたい。

まず、技術的な問題について。HTML だけの UI に比べて Flex は圧倒的に操作性やら何やらに優れてるのはやっぱり確か*1。その理由としては、UI にかなりの融通が利くから、というのが大きい。特に、動的&非同期に画面要素をギュンギュン動かすようなデザインが比較的カンタンに作れてしまうのはすばらしい。すばらしいのだけど、Flex の標準コンポーネントサードパーティ製のコンポーネントで実現できないことをやろうとすると、途端にハードルが跳ね上がるように思う。その理由は FlexActionScript 特有のクセだったり、俺自身が今まで GUI を作りこむようなコードを余り書いてという経験不足だったりとか、まぁ色々ある。

つまり、ホントにそんな UI 作りこめるの? という確証を得るのが難しい問題があるように思う。自分の腕とチーム体制を鑑みると、果たしてそのような複雑な GUI は作りこめるだろうか、みたいな。それがエンジニアの本懐だろjkというのはまぁそうなんだけど、仕事でやる分には納期やら何やらの壁があって、やっぱり妥協点を探る必要はどうしても出てくるわけで……

もうひとつは非技術的な問題について。こっちは RIA の存在意義ってヤツで、UI を作りこむのはいいけど、ホントにそれはお客様のためになってるのか、って問題です。物凄く複雑な UI コンポーネント作りこんだはいいけど、お客様にコレ使いにくいよね、とか言われたら目も当てられないわけでして。

つまり、使いやすい UI とは何なのか? って問題です。業務アプリケーションだと、プログラマが画面デザインもついでというか片手間でやっちゃうような体制多いような気がするんだけど、これだとどうしても機能的分類な UI に陥りがちなんですよね。それだと Flex で作るウマミは、今ひとつになってしまうと思うのですよ。使い手となるお客様の意志が込められないというか。

もちろん DataGrid ウマーだとか Java Swing *2に比べれば作るの楽だとか、Flex でやるウマミは色々あるんだけど、やっぱり真の価値を引き出すには情報デザインをきっちりやった画面を作らないとダメな気がしてるのです。VB なんかで作られてるファンクションメニュー F1-F9 とか並んでる画面見ると……うーむ……これはちょっと……という気分になるのです。

でまぁ、ちょっと泣き言めいてるけど、ユーザビリティがうんぬんってもう一介のプログラマの手には余るというか……ペルソナ法とかそーゆーのでちゃんとユーザーシナリオを描ける人に絵を描いて欲しいよなーって。業務アプリケーションの開発でも、そういう体制でやってるとこってどんくらいあるのかなぁ。クラスメソッド社なんかはその辺のノウハウ持ってそうだけど。


ダラダラと書き連ねてきましたが。俺個人の意見としては安易な RIA 化はすべきでない、です。ただし、RIA でやるだけの価値が見出せるなら、コストに見合うだけの価値はある、とも思います。じゃあ、その RIA でやるだけの価値ってどうやって算出すんだよ、と言われると……そこはこれから追っていきたいテーマです。

参考書籍:

Webデザイナーのための情報アーキテクチャ入門 成功するサイト構築術

Webデザイナーのための情報アーキテクチャ入門 成功するサイト構築術

*1:昨今は javascriptCSS を駆使すればまた別ですが、そのことはちょっと脇においておく

*2:今は JavaFX があるけど