投稿日
この記事は更新から6年経過しています
ローコード開発基盤の4製品を評価・比較:製品の特徴や違いを詳しくご紹介
もくじ
- はじめに
- ローコード開発基盤とは
- 製品の評価方法
- 詳細レポート
- ローコード開発基盤の効果的な活用について
- Appendix
- OutSystemsの製品評価
- モデリング言語
- モデル駆動開発
- 画面デザインの自由度
- ロジック自由度と拡張性
- 製品を使用した感想
- 効果的な活用場面
- Mendixの製品概要
- モデリング言語
- 高機能ウィジェットを活用したモデル駆動開発
- 画面デザインの自由度
- ロジック自由度と拡張性
- 製品を使用した感想
- 効果的な活用場面
- 楽々Framework3の製品概要
- 部品組み立て型開発
- データモデルからの自動生成
- 画面デザインの自由度
- ロジック自由度と拡張性
- 製品を使用した感想
- 効果的な活用場面
- GeneXusの製品概要
- 抽象モデルからの開発
- 普遍的な関係仮定(Universal Relation Assumption)
- ワンソースマルチユース利用
- 画面デザインの自由度
- ロジック自由度と拡張性
- 効果的な活用場面
GeneXusの製品概要
GeneXus はウルグアイのGeneXus S.A社が提供するローコード開発基盤です。
最大の特徴は抽象モデルからモデルを自動生成する機能に長けていることです。
抽象モデルからの開発
GeneXus は推論エンジンを搭載し、トランザクションと呼ばれるオブジェクトに概念的なデータ構造やビジネスルールを記述すると、それに対するモデルを自動生成します。

生成されたモデルに対して、詳細なユーザインターフェースやロジックを追加することでアプリケーションを完成させます。
抽象モデル→モデルは反復しての利用ができ、抽象モデルを変更するとモデルに対する影響箇所をGeneXus が調査し、モデルに対して必要な変更を適用してくれます。
抽象モデルレイヤの概念的なデータモデルを変更させることで物理的なテーブル構造に変化があった場合、データ移行も自動で行う機能を有しています。
普遍的な関係仮定(Universal Relation Assumption)
GeneXus では同じ名前を持っている項目属性が同じ概念であるとみなし、自動的に関連付けを行ってくれます。たとえば、2つのテーブルに同じ項目名がある場合は自動的に外部キーが設定されます。
そのため、命名については以下のような規則を守る必要があります。
- 概念的に等しいものは、すべて同じ名前でなければなりません。
- 異なる概念を持つものは、同じ名前をつけてはいけません。
ワンソースマルチユース利用
GeneXus のモデルレイヤはソースコードの言語(Java、C#など)に対して非依存です。
モデルからソースコードを出力するソースコードジェネレーターとして、Java用、 C#用の2種類が用意されています。
1つのモデルからJava、C#のソースコードを出力することができます。
画面デザインの自由度
GeneXus が自動生成した画面は、オブジェクトの位置や装飾を微調整するだけでなく、HTMLソースを直接編集する機能も提供されています。
独自に用意したCSSを利用することも可能です。
ロジック自由度と拡張性
処理ロジックはテキストエディタを用いて、GeneXus 専用のスクリプト言語で表現します。
スクリプトとして記述するため、フローチャート形式のグラフィカルなモデルを使用する場合に比べると複雑なロジックが表現しやすいと思われます。
上記に加えて、Javaで実装したコードを組み込むことも可能です。Java、C#でオリジナルコンポーネントを用意してロジックを拡張したり、Java、C#で書かれた既存資産を再利用したりすることができます。
効果的な活用場面
GeneXus の特徴と活用に適する場面は以下のとおりと考えます。
- 抽象モデルの変更を自動で反映する機能に長けている。
→データモデル含めて仕様が固まっていない状態から開発を始める場合。 - モデルは環境に依存しないうえ、出力時に言語を指定できる。
→ワンソースマルチユースとしてJava、C#のソースを出力したい場合。 - 実行環境への課金がない。
→パッケージ製品を開発する場合。
本コンテンツはクリエイティブコモンズ(Creative Commons) 4.0 の「表示—継承」に準拠しています。
