Caedeを使用したモバイルアプリケーション開発にはCurl言語を使用します。Curl言語の基本的な構文はRIAアプリケーションを使用する際と同じです。ただし、Caedeを使用したモバイルアプリケーション開発ではCaede SDKのフレームワークを使う必要があるという前提が違います。そのため、テキストを単純に表示する場合もフレームワークの手続きに従って開発する必要があります。ここではRIAアプリケーションを作る際と違う、Caede SDKのフレームワークの説明を中心に説明します。
学習の流れとしては、まずRIA開発編の Curl言語の基本的な構文 を学習してから以下の説明を確認してください。
CaedeSDKのフレームワークは画面遷移などの機能を提供しているMVCフレームワークです。
フレームワークではGraphicクラスとScreenクラスを一組にして一つの画面およびロジックを定義します。
たとえば以下の図の例では最初に呼び出される画面がA画面でそこからB画面に遷移するような場合です。
このように1画面に対し1Graphicクラスと1Screenクラスを定義していきます。
ちなみにプロジェクトの作成時にテンプレートを選択するとあらかじめGraphicクラスとScreenクラスのコードが自動的に生成されます。2のサンプルではprompt-graphic.scurlファイルにPromptGraphicクラス、prompt-screen.scurlファイルにPromptScreenクラスが定義されています。
※Curl言語ではクラスを定義することができます。
クラスの詳細については 「 Curl開発者ガイド - 基本概念 - データ型 - クラス 」 を参照してください。
Graphicクラスとは「画面レイアウトを定義するクラス」となります。任意のクラス名を使用することができ、FrameやCanvasといったCurl標準のグラフィカルなコンテナクラスを継承したクラスを定義することができます。
Graphicクラスは以下のようなクラス定義となります。
コード1
なお、フレームワークにおけるGraphicクラスは「静的(動的変化のない)」なレイアウトのみを定義し、 動的なレイアウト(ユーザーの操作などに伴う画面の一部のみのレイアウト変更など)はScreenクラスで実装する必要があります。
またCaedeフレームワークを使用した場合のその他の制限事項として以下のようなものがあります。
Screenクラスとは対となるGrahicクラスに対する「ビジネスロジックやイベント処理を定義するクラス」となります。Screenクラス内で、画面の初期化処理やイベントの起動処理、画面の遷移処理などを記述します。
Screenクラスは以下のようなクラス定義となります。
コード2
Screenクラスの定義は、Caedeフレームワークのクラスを継承して行います。Screenクラスは「inherits {Screen-of XxxxGraphic}」のようにScreen-ofを継承します。VLEでデザインされた画面の場合はVScreen-ofを継承します。VLEによる画面レイアウトの作成についてはCaede入門のVLE編を参考にしてください。
またXxxxGraphicは対応するGraphicクラス名を指定します。
定義したGraphicクラスとScreenクラスをアプリケーションで使用する画面としてフレームワークに認識させる必要があります。
clientプロシージャとscreen-graphic-referenceプロシージャを使用して以下のような記述を行います。第一引数に与える名称(String型)は画面ごとに一意なものとし、他の画面と重複しないよう注意してください。第二引数にはGraphicクラスのクラス名を指定します。
{client {screen-graphic-reference "a-gamen",AGraphic}}
記述場所の制約はありませんが、画面ごとに必要になるものですので各画面のScreenクラスの定義の後をおすすめします。
CaedeアプリケーションはCurlアプリケーションと同様、start.curlが起動ファイルとなります。
Start.curlにstartupプロシージャを使用して最初に表示する画面の処理を記述します。
{startup AScreen}
最初に表示する画面をScreenクラス名で定義します。なお、Start.curlでstartupプロシージャの処理を記述していない場合はCaedeアプリケーションは起動しません。
ダイナミックレイアウトとはスマートフォンからタブレットまでの複数のディスプレイサイズに対応したプログラムを実装する方法です。