PHPとFlex作法の違いをずばり解説
〜PHPプログラマのためのFlex入門〜
原 一浩(はら・かずひろ)
株式会社エフエックスビイ代表取締役CVO / Design Wedge
2009/11/11
「Flex」って何? Flashと何が違うの?
■ @IT PR:勉強会のお知らせ11/25(水)「FlexとPHP研究会」 〜PHPプログラマのためのFlex Builder入門〜 PHPプログラマが、Flex Builder上でFlashアプリケーションを開発するうえでのポイントを紹介しつつ、FlexについてのQ&Aやフリートークを交えながら、Flex Builderを使った開発スタイルで“Flash”を覚えるヒントを得ていただければと思います。もちろん懇親会もアリ! おかげさまで大好評のうちに終了しました。ご参加いただいた皆様ありがとうございました。こちらから勉強会で使ったサンプルとプレゼンテーションのダウンロードができます。readme.txtをご覧のうえ、ご利用ください |
PHPは、入力フォームから本格的なWebアプリケーションまで、さまざまな利用用途があります。導入に関する容易さから、多くのプロジェクトで使われてきました。PHPを使ってさまざまなWebサイトを作っていくと、そのうちぶつかる壁の1つに「Flashとかでもっとデスクトップアプリのような使い勝手にしてよ」ということがあります。
この解決策の1つには、HTMLだけを出力するのではなく、「JavaScriptを使ってサイトをAjax化する」ということがありますが、フォームのデザインはCSSの中でもなかなか難しいものが多く、またWebブラウザ間の依存性を解決するのも一苦労です。
そこで浮かび上がってくるもう1つの選択肢は、「普及率が98%近いWebブラウザプラグインであるFlashを覚える」ということですが、Flashは独自の文化があり、なかなかプログラマにはとっつき難いことも事実です。
そんな人にお勧めなのが、Flex Builderを使った開発スタイルです。Flexは、「MXML」というXMLの一種と「ActionScript」というスクリプト言語を使ってアプリケーションを構築できる、プログラマ向けのFlashツールです。
本記事では、PHP+HTMLのWebアプリケーションとFlex Builderの作法の違いなどを通じてFlexについて学んでいきます。特に開発環境にAptanaやEclipseを使っている方は、Flex Builderも同じEclipseベースの開発環境なのでオススメです。
編集部注:Flex Builderは、2010年3月の新版から「Flash Builder 4」に名称変更しています。期間限定の無料版を ダウンロード して使えます
Flashにある苦手文化をなくしたものが、Flex
- - PR -
Flashの苦手な原因の1つに、“独自の文化”があると思います。「Flashのどこに苦手の原因があるのか」について少し分解して把握してみましょう。Flashは、3つの側面から成り立っています。
まずFlashには、絵を描いたり、きれいな文字を入力したりする、「描画ツール」としての側面があります。Adobe Illustratorみたいなものを思い浮かべていただければと思います。
2つ目の側面として、「アニメーションツール」としての側面があります。よくWebサイトのバナーなどで使われているようなアニメーションを作ることができます。Flashのアニメーションは、時間軸に沿って制作され、その時間軸は「タイムライン」という用語で呼ばれたりします。時間軸に沿って並べた視覚要素を、それぞれ違ったアニメーションとして動作させることができます。
そして3つ目が、ActionScriptの動作環境という側面です。ActionScriptを使うと、さまざまな視覚要素やUI(ユーザーインターフェイス)を動的に生成したり、外部のデータを処理したりできます。
Flashが開発者に嫌われる原因の1つに、「ActionScriptを単にプログラムすればよい」というわけではなく、「時間や見た目の概念が導入されている」という点にあるのではないでしょうか。
Flexは、これらFlashの描画ツールとタイムラインを使ったアニメーションを除いたものといえます。代わりに、これらUIを定義するためのMXMLというXMLファイルを使用して、見栄えの部分を定義します。
![]() |
![]() |
| 図1 Flashの画面(上)とFlexの画面(下)。FlexがPHPerにとっていかになじみやすい画面か分かる |
Flexは、MXML+ActionScriptでFlashファイルを作成
MXMLとActionScriptの前に、Flex SDKとFlex Builderについて話しておきたいと思います。
Flexというと、Flex Builderのような開発アプリケーションを思い浮かべるかもしれませんが、Flex自体はフレームワークであり、開発環境は「Flex SDK」という形で無償公開されています。つまり、その気になれば、テキストエディタとFlex SDKを使用してコンパイルを行うことでFlexアプリケーションを作成できるのです。
ただしFlex Builderを使うと、さまざまな制作を劇的に楽にすることができるため、「Flexアプリケーションを作るにはFlex Builderが不可欠」といっていいと思います。
Flexアプリケーションでは、UIに相当する部分をMXMLというXMLファイルを使用すると書きましたが、このような感じのものです。
MXMLで書いた簡単なHello Worldプログラム<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Label text="Hello World!"/>
</mx:Application>;
上記のソースをFlex Builder上で作成し、コンパイルをすると、Webブラウザ画面に「Hello World!」という文字が表示されます。MXMLは単なるXMLファイルで、「mx」という名前空間を使ったタグを書いていきます。
例えば、<mx:Label>なら文字を表示するフィールドということになり、<mx:Button>ならボタンを表示する、という感じです。表示のされ方は、デフォルトではHTMLのようにタグ順に要素を配置していく形になります。FlexはこのようにMXMLでUIを作っていきます。後ほど詳しく述べますが、Flexではドラッグ&ドロップでUIを設置することもできます。これらUIの基は「コンポーネント」と呼ばれます。
MXMLでUIを作った後は、その挙動を設定する必要があります。例えば、ボタンを押したら何かメッセージを出したい場合などです。ここで、ActionScriptが必要となります。ActionScriptのバージョンは、現在3.0です。ActionScriptは、1.0のころはJavaScriptと遜色(そんしょく)ないスタイルでしたが、バージョンが3.0になった現在は、どちらかというとJavaのような言語スタイルとなっています。
ActionScriptはMXML内に記述したり、拡張子.asファイルとして外部から読み込むことができます。Flex Builderでは、作成したMXMLやActionScriptをビルドという形でコンパイルをすることで実行ファイルを生成できます。
■ @IT PR:勉強会のお知らせ11/25(水)「FlexとPHP研究会」 もちろん懇親会もアリ!〜PHPプログラマのためのFlex Builder入門〜 PHPプログラマが、Flex Builder上でFlashアプリケーションを開発するうえでのポイントを紹介しつつ、FlexについてのQ&Aやフリートークを交えながら、Flex Builderを使った開発スタイルで“Flash”を覚えるヒントを得ていただければと思います。 おかげさまで大好評のうちに終了しました。ご参加いただいた皆様ありがとうございました。こちらから勉強会で使ったサンプルとプレゼンテーションのダウンロードができます。readme.txtをご覧のうえ、ご利用ください |
| 1-2 |
| INDEX | ||
| PHPとFlex作法の違いをずばり解説 | ||
| Page1 「Flex」って何? Flashと何が違うの? Flashにある苦手文化をなくしたものが、Flex Flexは、MXML+ActionScriptでFlashファイルを作成 |
||
| Page2 PHPとActionScriptの細かな違い Flex Builderで使えるコンポーネントとレイアウト Aptanaとの比較で見るFlex Builderの使い方 Flex Builderを使った開発の流れ |
||
| リッチクライアント&帳票 全記事一覧へ |
TechTargetジャパン
- 次のモバイルアプリはどのフレームワークで作る? (2012/5/24)
スマホアプリの開発を容易にするJavaScriptのフレームワークが続々と増えている。それぞれの良さや仕組み、何がどこまでできるのかを徹底解剖する - 「LESS&専用エディター」でCSSをシンプルに書こう (2012/5/23)
「LESS」はCSS初心者に向けた、シンプルなライブラリだ。「LESS」で、変数などのプログラミングの基礎的な考え方もCSSで学ぼう - 学校が世界一のデジタル環境になったら (2012/5/18)
授業はアーカイブに蓄積され、家からも見られる。家族が授業テーマのアイデアを出す。そんな姿が実現されるかもしれない - 1000万ドル調達も夢じゃないクラウドファウンディング (2012/5/15)
クラウドファンディングは、寄付型でも投資型でもない「購入型」が主流。商品を“開発する前に販売”して開発費用を集める逆転のシステムだ
|
|


