Flex開発のための前提知識
Flexでアプリケーションを作成するには、ソースファイルを記述し、コンパイルを行う必要があります。ここでは、プログラム開発をしたことがない方のために、Flex開発に必要な作業内容の確認をします。
ソースファイルとは?
プログラムはソースファイルというテキスト形式(Windowsのメモ帳で作成できる、書式がない文字形式)で記述します。
このテキスト形式というファイル形式は、作成する環境によって、フォーマットや文字コードの違いができますが、コンピュータの世界では共通の形式といえます。 フォーマットや文字コードを変換するなどして読み書きすることは簡単で、OSが異なる読み書きできないとか、そのために専用のアプリケーションが必要ということはありません。エディタの付加機能で解決できます。
Flexを開発する際にも、ソースファイルを記述します。FlexのソースファイルはMXMLとActionScript3で記述し、FlexコンパイラーでSWF形式に変換します。
MXMLとは?
Flex アプリケーションは、MXML(Macromedia Flex Markup Language)を使用して記述します。MXML は Flex専用に開発された、XML言語の一種で、Flexアプリケーションのユーザーインターフェイスをレイアウトするために使用します。
HTML の経験がある方なら MXML は同様のタグを使用するので、あまり違和感はないと思われます。
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Panel title="Flexアプリケーション" paddingTop="10" paddingBottom="10" >
<mx:Label text="MXMLで記述します" fontSize="20" fontWeight="bold"/>
</mx:Panel>
</mx:Application>
上記はMXMLで記述した、簡単なFlexアプリケーションのソースです。1行目、2行目と最終行は「おなじない」のようなもので、どのアプリケーションでも同様に記述する部分です。つまり、青字の3行目から5行目がプログラムになります。3行目のPanelはパネルを作成し、4行目のLabelは文字列を表示します。5行目はコンパイルして表示した結果を見てみましょう。
コンパイルとは?
テキストファイルで記述したプログラムは、通常そのままでは動作しません。プログラムソースをWindowsやMacなどで実行できる形式にするために、コンパイルという処理が必要になります。この処理を行うソフトウェアをコンパイラと呼びます。
Flexの場合、MXMLソースからSWF形式への変換を行うFlexコンパイラがその役割をします。Flexコンパイラは、無償のFlex SDKに含まれています。またFlex Builderで効率よく利用することができます。
Flexの実行プログラム
Flexアプリケーションの場合、SWFファイルが本体になりますので、Webで配信する場合は通常のFlash要素と同じようにHTMLに埋め込む形になります。
XMLとは?
XML(Extensible Markup Language:拡張可能なマークアップ言語)は、テキスト形式で記述した汎用的なデータ記述言語です。
「データ記述」ということは、「データを表現する」ということです。ここで「データ」とは、最も使用される形態として、ワークシートやアクセスのテーブルのような、フィールド(列)名とデータ行で構成されるものをイメージすると分かりやすいです。
XMLはHTMLと同じようにタグを使用してデータを表現します。タグを使用して文書を記述することをマークアップと呼びます。HTMLと異なり、タグは必ず開始タグと終了タグのペアで使用されます。
| 名 | 年齢 |
|---|---|
| 山田 | 18 |
| 鈴木 | 22 |
| 田中 | 24 |
上記のようなデータをXMLで次のように記述できます。
<サンプルデータ>
<名>山田</名>
<年齢>18</年齢>
<名>鈴木</名>
<年齢>22</年齢>
<名>田中</名>
<年齢>24</年齢>
</サンプルデータ>
上記の例のように、データを表現する際には「名」と「年齢」のようなフィールド名が重複して冗長になりますが、テキスト形式であるということからインターネットの世界では共通のデータ形式として広く使用されています。
XMLの特徴ということでデータの表現を例にしましたが、MXMLではこのようなデータ自体を記述するわけでなく、標準仕様であるXMLを利用してFlexアプリケーションのプレゼンテーション部分を記述できるようにしたものです。
まとめ:
Flexによるアプリケーション開発は、通常のプログラム開発と同様にソースファイルをコンパイルしますが、ソースファイルはMXMLで記述し、アプリケーション本体はSWFファイルになります。