「GeneXusとは」の記事にてGeneXusの概要と実績などを簡単にご紹介していますが、GeneXusの導入に向けて疑問に思われそうな点をFAQ形式でまとめてみました。
Q. 本当に100%自動生成?
GeneXusは開発者が指定した言語でビルド可能なアプリケーションのソースコードを生成するので、生成されたソースコードに手を入れる必要はありません。
たとえソースコードを手動で編集したとしても、次回ビルド時に上書きされてしまうため、編集するメリットはありません。
なお、生成されたソースコードをGeneXus上で表示したり編集したりする機能はありません。
Q. どうしてもソースコードを変更したいときは?
変更したい内容をGeneXus上で実現します。
Q. GeneXus上でJavaやC#は書けない?
GeneXusとしては非推奨ながら、JavaやC#、さらにSQLも記述することは可能です。
ただし、GeneXusが自動生成するソースコードの中に記述したコードが含まれるため、コンパイル可能かはビルドが完了するまではわかりませんし、ビルドが成功しても実行時に500ステータスエラーが発生することもありえます。
また、SQLは実行結果を取得できないので、限定的な用途でしか利用できないかと思います。
いずれにしても、言語依存の書き方になる上、どのような結果になるかは動かしてみないとわからないため、お勧めしません。
Q. 開発の途中からプログラミング言語やDBを変更するのは大変?
GeneXus上で前述のJavaやC#などのハードコーディングをしていない限り、数クリックで変更できます。
開発時にプログラミング言語やDBの種類を意識する必要はありません。
Q. ノンプログラミング?
JavaやC#などのプログラミング言語で書かないという点ではノンプログラミングのように見えるかもしれませんが、“GeneXus言語”でコーディングする部分はありますので、ノンプログラミングとは言い切れないと思います。
なお、日本の総販売代理店であるジェネクサス・ジャパン社のサイトには、ノンプログラミングという謳い文句は記載されていないと思います。
Q. スクラッチと比較して早い?
GeneXusが得意とする「パターン」を利用した開発方法が活かせられれば、短期で開発できます。
逆に言えば、「パターン」をうまく活用できないならスクラッチ開発と差がでないか、スクラッチ開発の方が早い可能性もありえます。
GeneXusに限らない話だと思いますが、ツールやパッケージを導入する場合、それらを活かすように要件や仕様をコントロールする必要があります。
Q. 単体テストは本当に不要?
ソースコードレベルでの単体テストは実施しません。
問題がある部分を見つけて修正するというのがテストの本来の目的になりますが、GeneXusから生成されたソースコードを開発者が編集するということがないため、そもそも単体テストを実施する意味がないかと思います(勿論、生成されたソースコードに脆弱性がなく、高品質であるということが前提になりますが)。
Q. 推論エンジンとは?
GeneXus上で定義された情報を基に、最終的にテーブル定義やソースコードを生成する部分のことを指しているのだと思います。
「推論」という用語から、『思いや特徴をくみ取って自動生成する』ような期待を抱いてしまうかもしれませんが、AIのようなものではありません。
自動生成部分はGeneXusの肝になりますが、利用者側はあえて意識する必要はないです。
Q. 他の高速開発ツール/ローコード開発ツールとの違いは?
これまでの内容と重複するところもありますが、GeneXusの特徴を箇条書きで記載します。
- 開発がGeneXus内で完結する。
- DB/SQLを意識せずに開発できる。
- 同一機能の開発でも実現(実装)方法が複数ある。
- 特定の業務やサービス向けに予め用意されている機能は少ない。
- 一般的なプラットフォーム上で稼働するシステムが開発できる(独自プラットフォームではない)。
- ライセンス体系がシンプル。
一部デメリットの内容も記載していますが、GeneXusの長所もご理解いただけたのではないでしょうか。
GeneXusの導入をご検討中でしたら、弊社にご相談いただければ幸いです。