#機能紹介:WorkWithPlus for Webとは

こんにちは、渡邊です。

当ブログでも何度か機能や実装方法をご紹介している「WorkWithPlus for Web」について、
改めてご紹介したいと思います。

WorkWithPlus for Webとは

「WorkWithPlus for Web」はWebシステム開発用のGeneXusのパターンテンプレートです。

GeneXusには元々「Work With for Web」というパターンが付属されており、
TransactionオブジェクトにWork With for Webパターンを適用すると一覧画面や照会画面のオブジェクトが自動生成されます。
WorkWithPlus for WebはTransactionオブジェクト以外にWebPanelやProcedureオブジェクトにも適用範囲を拡大し、
より効率的な開発を実現するオプション製品になります。
以前は「WorkWithPlus」という名称でしたが、現在は「WorkWithPlus for Web」という名称に変更されました。

実現できること

まずは下記のWorkWithPlus for Webの公式のデモサイト(英語)をご覧ください。

WorkWithPlus for Webのデモサイト①
WorkWithPlus for Webのデモサイト②

その1:UI/UXの改善

どちらも洗練されたWebページが表示されるかと思います。

GeneXusが生成するWebページの初期デザインは非常にシンプルなので、
全体のデザインを変更するにはThemeオブジェクトを修正する必要があり、細部の調整には時間がかかります。

WorkWithPlus for Webを導入した場合、ウィザードに従って進めるだけで全体のデザインを設定できます。

また全体のデザインが改善されるだけではなく、入力画面、一覧画面、ホーム画面など各画面を開発するための
テンプレートが多数用意されております。

テンプレートを利用することで類似画面で統一感のあるデザインになります。

また、ホーム画面のテンプレートやメニュー機能のサポートにより、UXの改善も容易に行えます。

その2:高機能化

WorkWithPlus for Webを導入すると、各画面の高機能化が実現できます。

例えばデモサイトの一覧画面を少し触っていただくと、GeneXusの標準機能では実現できないような機能が
見つけられるかと思います。

  • PDFやCSVのエクスポート
  • 利用者が表示カラムやフィルタをカスタマイズできる機能
  • グリッドの複数行の選択
  • グリッド上でデータを直接修正する機能
  • EXCELのフィルタのようなタイトル部でのフィルタリング
  • EXCELの条件付き書式のようデータに応じた色分け表示
  • 既存レコードをコピーして新規登録画面を表示
  • ページネーションバーに表示されたページ番号でのページング

上記以外にも様々な機能がありますが、ほとんどの機能は特別なコーディングをせずにプロパティの設定のみで
実現できます。

WorkWithPlus for Webの全機能については、公式のドキュメントページをご参照ください。

【公式ドキュメント】Functionalities WorkWithPlus

その3:保守性の向上

Work With for Webの話になりますが、Work With for Webを利用しているプロジェクトは
どのくらいあるのでしょうか。
WorkWithPlus for Webを導入していないプロジェクトでは、Work With for Webも利用していないことが
多いのではないでしょうか。
理由としては二つあるかと思います。

  1. Work With for Webが生成した一覧画面では、要件を満たすことができない
  2. Work With for Webパターンのインスタンスと生成されたオブジェクトとの乖離

一つ目は機能面で要件を満たすことができないというケースもあるかと思いますが、
Work With for Webパターンはレイアウトの調整がほとんどできないため、
WebPanelオブジェクトで画面は一から開発するということが多いのではないでしょうか。

二つ目についてですが、例えばWork With for Webが生成した一覧画面のWebPanelオブジェクトの
Web Layoutエレメント上で何かしら修正してしまうと、
以降はWork With for Webパターンのレイアウトの定義値が反映されなくなるという仕様があります。
ほとんどのプロジェクトでは要件の追加や仕様変更などでレイアウトを何度も変更するため、
パターンのインスタンスと生成されたオブジェクトで乖離が発生するのであれば、
Work With for Webを利用しないという方針のプロジェクトもあるのではないでしょうか。

WorkWithPlus for Webではパターンインスタンスの保存の度に、Web Layoutを含む各エレメントに
定義内容が反映されます。
レイアウトの開発は細かな調整も全てインスタンス上で行います(行えます)。
RulesエレメントやEventsエレメントでは自動生成されたコードの前、あるいは、後ろに必要に応じて
開発者がコードを記述することで、それぞれのコードが消えることなく開発を進めることができます。

最近のWorkWithPlus for Webについて

WorkWithPlus for Webはこの数年で便利な機能が次々と追加されております。
個人的にお勧めの機能をいくつかご紹介いたします。

  • パターンテンプレート機能を利用して各オブジェクトに共通のイベント、ルール、変数の追加が可能
  • EXCELやCSVのインポート機能
  • 一覧画面ので全文検索
  • グリッドのタイトル部に大項目を表示
  • EXCELのような行または列で固定化したグリッドのスクロールの実現
  • BCやSDTを利用した登録画面のテンプレート
  • 帳票機能

まとめ

WorkWithPlus for Webを使用することで、UI/UXの改善、高機能化、保守性の向上に繋がります。
つまりこれらを手動で開発する場合と比べて生産性が向上します。
GeneXus自体でも生産性が高くなりますが、WorkWithPlus for Webを利用してさらに生産性の向上を
目指してみませんか。
WorkWithPlus for Webに興味がございましたら、弊社にお問い合わせいただければ幸いです。

最後までご覧頂きありがとうございました。