これまで、デザインを抽象化する方法を見てきましたが、より馴染みのあるその他の (機能面の) 抽象化もあることを知っておく必要があります。
GeneXus には、組織化が可能な次のエレメントがあります (最も複合的なものから、最も小さなもの (アトミック) の降順):
● Web ページ (
トランザクションまたは
Web パネル) または
パネル (WorkWith オブジェクトを含むネイティブモバイル、または Angular): 画面上の特定のコンテンツをプログラミングしたオブジェクトで、実行時にユーザーが操作するものです。
●
マスターページ: すべての画面で繰り返す動作やインターフェースのエレメントを、その目的のためにデザインされた特定の領域 (コンテンツプレースホルダー) にロードするために 1 回のみプログラミングするオブジェクトです。
● コンポーネントまたは Web コンポーネント: プログラミングやデザインの重複を防ぐために、ほかのオブジェクトに組み込むことができるオブジェクトです。(Web) パネルのミニ版と考えることができます。
● Stencil: 単独では実行できないオブジェクトで、コンポーネント、Web ページ、またはパネルのレイアウトに挿入します。デザイン面のグループ化のみが可能である点が、動作面でもそれが可能な (Web) コンポーネントと異なります。
● ユーザーコントロール: サードパーティ製のコントロールを、ほかのコントロールと同じように GeneXus の画面で簡単に、統一された方法で使用できるように、GeneXus 言語に変換するオブジェクトです。
● コンテナコントロール: テーブル、
グリッドなどです。
● アトミックコントロール: テキスト、項目属性または変数、画像などです。
デスクトップ向け Web アプリの最初の 3 画面を並べて比較すると、フッターは変化がなく、ヘッダーは背景画像とヒーローテキストのキャプションだけが変わり、機能は変わらないことが分かります:
これらの 3 画面はそれぞれ 2 つに分かれています:
● ヘッダーとフッター用のマスターページ
● 画面に対応する実際の Web パネル
マスターページは、 [ Pgmname ] プロパティを通じて、Content Placeholder コントロールにロードされる Web パネルが分かるため、それに応じて、ロードするヒーローイメージとそれに対応するテキストを判断できます。
これまで Web パネルとして機能した、簡素化されたヘッダーを含むページが、マスターページとなります。
この後も、この動画に従い、前述のように作業を進め、別々の Web パネルに分けられるコントロールにスタイルを適用するクラスを定義していきます。
GeneXus 17 Upgrade 6 以降。