フォームオブジェクトの進化
最も美しいインターフェイスを作ることができるように、私たちはフォームオブジェクトの改良を続けています。4D v19 R6 では、静的テキストと入力テキストのフォームオブジェクトの境界線に角の丸みを定義することができるようになりました。
4D v20 では、さらに新たな可能性が追加されました。
- ボタン、ラジオボタン、チェックボックスについて、タイトルテキストとアイコンの表示を管理する新しい設定が追加されました。
- ラジオボタンとチェックボックスについては、アイコンに使用可能な状態の数が拡張され、より良いインターフェースが提供できるようになりました。
最新の検索・置換機能を紹介
コードエディターの “検索と置換” 機能は、何年も前から存在しています。デベロッパーは、大規模なコードベースを扱う場合はとくに、簡単かつ効率的にコードを検索・置換することができます。4D v20 では、コーディングの効率化のためにこの機能を使用しているデベロッパーに喜ばれるであろう改良が施されています:
- 置換するコードの出現回数が把握できます
- 現在の位置を知ることができます
- “次へ”、”前へ” のナビゲーション機能に永続的にアクセスできます。
- モーダルウィンドウの代わりにパレットを表示し、クリック回数を減らします。
改良された .distinct() 関数
データ要素のユニークなリストを取得することは、データ操作において常に役に立ちます。各値の出現回数を取得することが不可欠な場合もあります。Collection と EntitySelection クラスの distinct 関数を使うと、ユニーク値のリストを取得できます。4D v20 では、各ユニーク値の出現回数の取得も可能になりました。
それだけではありません!
データベースでオブジェクトを使用して、ユーザーが入力したカスタムデータを保存することができます。これに対応するため、コード側では、このオブジェクトが持つパスのすべてを把握したいところです。 EntitySelection クラスに追加された distinctPaths 関数で、これが可能になりました。
これらの新しい関数について、くわしく紹介していきます。
コレクションでヘルプメニューを作成
ソフトウェアの「ヘルプ」メニューはとても便利です。もちろん、ソフトウェアのオンラインドキュメントを開くためのメニュー項目がありますが、サポートへの連絡方法など、ソフトウェアによってはそれ以外にもいくつかの項目があります。
4D v20では、異なるメニュー項目を記述したコレクションを渡すことで、アプリケーションの「ヘルプ」メニューを簡単に作成することができるようになりました。
4D for Mobile チュートリアル – 入力コントロールを選択する
フォーマッターを使うと、データの表示フォーマットを指定したり、ユーザーがデータをタップしたときの動作を定義することができます。入力コントロールも同じ原理です。キーボードの種類を選択したり、振る舞いを定義したり、アクションフォームでデータをフォーマットしたりすることができます。
例えば、画像データの場合、デフォルトで2種類のコントロールがあり、1つ目は画像を選択するか写真を撮ることができ、2つ目は署名するゾーンが表示されます。
入力コントロールには、3つのタイプがあります。
4D for Mobile チュートリアル – アクションの作成
アクションによって、ユーザーは顧客の住所を変更したり、新しいコンタクトを追加したり、写真を修正したりなど、アプリケーションをより細やかに操作することができます。
4D ランゲージにおいては、アクションを使用するとエンティティやエンティティセレクションの追加、編集、削除を可能になります。また、単純に4D Serverのメソッドを実行することもできます。
4D for Mobile チュートリアル – リレーションを使用する
アプリケーションのデータは、2種類の関係で結ばれています。n対1、1対nの2種類です。
このブログ記事では、リレーションをアプリケーション内に含める方法を紹介します。4D for Androidと4D for iOSを使えば、関連するデータ間を簡単にナビゲートすることができます。アプリケーションのビュー間の遷移を自動的に生成します。
4D for Mobile チュートリアル – フォーマッターを使用する
データフォーマッターを使うと、データベースのあるデータ型をモバイル側で特定の方法で表示させることができます。たとえば、日付やパーセント、通貨のフォーマットを定義することができます。データフォーマッターは、コードを呼び出すこともでき、これによってより洗練されたインターフェイスを作成することもできます。
たとえば、電話番号にデータフォーマッターを割り当てて、 ユーザーが電話番号をタップしたときにモバイルアプリ上でのアクションメニューを開くようにすることもできます(このメニューから、例えば相手に電話をかけたり、連絡先に保存したりすることができます)。
フォーマッターには、3つのタイプがあります。
4D for Mobile チュートリアル – リストビューでのソート
アプリケーションの使用を容易にするために、ユーザーに提示されるデータは、通常アルファベット順、時系列順、または複数の条件の組み合わせでソートされています。
4D for Androidと4D for iOSでは、各リストビューに複数のソートを定義することができます。
4D for Mobile チュートリアル – フィルタクエリを定義する
モバイルアプリケーションの場合、容量を節約するのに加えて必要なデータに直接かつ迅速にアクセスできるように、通常、データはフィルタリングされています。
4Dには、2種類のフィルターがあります。
- スタティック(静的)なフィルターは、テーブルのデータをフィルタリングします。例えば、ステータスが「進行中」のタスクに限定する、などです。
- ダイナミック(動的)なフィルターは、ユーザーの情報に依存するフィルターです。例えば、ユーザーのタスクだけを返す、などです。
このチュートリアルでは、この 2つのフィルタの使い方と組み合わせ方を説明します。