スーツの国の Flex

Flex についてみんな誤解してるんじゃないだろうか、と思ったので考えをまとめてみた。

Flex というのは ActionScript 用のフレームワークで、MXML という XML で見た目を記述したり、ActionScript だけでは実現が大変な DataGrid などの便利なコンポーネントが利用できたりする。

デザイナーが Flash 8 などで作っていた SWF だけども、Flex を使えば RIA な SWF を簡単に開発できるようになる。

Flex は裏世界で使われる

その Flex について、不満のような意見が聞こえてきている。

Flex が天下を取って Flex の GUI を使いこなせれば引く手あまた、なんて状況はみじんも感じられなくて、(中略)軽く表面上のレイアウトだけ使うこともでき、プロトタイプ作りには良いけど、ねぇ。

AS3/Flex2 を使い始めて約半年 - #生存戦略 、それは - subtech

ここで書いてある「Flex が天下を取って」というのは、現在、HTML とか Ajax とか Flash とかで作られている Web サービスが、Flex で置き換えらることだと解釈したんだけど、これって前提がちょっと違う気がする。

Flex はそもそも、そういう Web サービスで使ってもらうことを主目的にはしていない。Flex が得意とする分野は、現在 VB や Java Applet で開発されていような社内資産管理システムとか、サーバ製品の管理 UI とか、イントラネットな世界の UI だ。

そういう表にはあまり出てこない案件では、世界中のユーザーに心地よく使ってもらうインターフェースよりも、実用性、機能性が重視される。だからこそ、画面設計を行うための MXML であり、最低限のデザインを行うための (Flexの) CSS やスキンといった設計に行き着いているじゃないだろうか。

Flex 勉強会に行った fladdict さんの Blog 記事には次のような象徴的なことが書いてあった。

序盤はスキンの話ばっかりで、「デザイナ=スキン作る人」、「デザイナ=アーティスト」って文脈で話が進んでくんよ。

(中略)質問したんよ。「Flexのスクロールバーとかカクカクしてありえないんすけど、あそこにスムーズスクロール実装したい、みたいなスキンで対応できないレベルのデザインはどう連携するのがいいんでしょうね?」みたいな質問を振ったら、

後でパネルセッションで「スクロールバーなんとかしろとか、Flexちゃんと理解してから提案しろ馬鹿」的な話が出てきたりして、(´・ω・`)ショボーン

FlexUG勉強会いったよ  デザイナとデベロッパの連携 | fladdict

ビジネスな世界に生きる Flex では、使っててうれしくなるようなスムーズなエフェクトは重視されない。それはFlex の設計思想からも見て取れる。派手なエフェクトを行うクラスは存在しないし、タイムラインの概念は完全に隠蔽されている。

id:secondlife さんの「プロトタイプ作りにはいいけど」という発言も、fladdict さんの「スムーズスクロール実装したい」という発言も、2人とも全世界を相手にする表舞台に生きる人だから出てくる発想で、そういう意味では「Flex は使えない」んだと思う。

Flex はコンシューマ向けでは使えないのか?

じゃあ、Flex がコンシューマ向けでは使えないか、というとそうでもないような気もしている。

最近話題になった、Anywhere.FM は Flex を採用しているし、米 Y! のウェブメッセンジャーは Flex ベース なのだ。

Adobe がリリースするサービスでも着々と Flex が使われていて、Adobe - Design Center - Video workshopAdobe製のオンライン動画編集ツール「YouTube Remixer」あたりは Flex でできている。おそらく、Photoshopのウェブアプリ版 も Flex で作ってくるんだろうと想像できる。

こうやっていくつか見ていくと、いずれも HTML+JavaScript だけで実装するにはめんどくさいような、複雑な UI を持った Web サービスアプリケーションで Flex が使われているのがわかる。

こういう複雑な Web サービスでは、見た目の派手さよりも、機能性が重視されるわけで、ビジネスな世界のアプリケーションに近いのかもしれない。