Database アプリケィションのためのRAD tools

(2017.7.17) 更新。

業務アプリケーションは、データベースを操作 (データ入力、データ取得) するようなものが多い。このようなデータベースアプリケーションの開発に使える, RAD (Rapid Application Development) tool いろいろ。

PostgreSQL (DBMS) 自体の管理についてはこちら; PostgreSQLの管理

デスクトップアプリケーションの開発

私 (堀川) は "low-code / no-code 開発プラットフォーム" (LCDP) というのはただの広告屋の用語だと思っている。役に立つアプリケィションを開発しようとすると、かならずプログラム制作が必要になる。

ごく小規模な開発だと Microsoft Access がしばしば使われる (ていた)。Microsoft Access は、VBA の構文が VB.NET より劣ったり、ライブラリが独自だったり、はっきり開発しにくい。バージョンアップで機能が削除されたりもするので、付いていくのも大変。

代替になるようなものはないか。

C# / VB.NET で普通に.NETアプリケーションとして開発したほうが、結局はメンテナンスしやすいと思う。リポーティング (帳票) のところがネックになるが。

移行方法が用意されているものや、簡便なGUI builder, デスクトップアプリケーション開発環境を探してみた。

☆ Embarcadero Delphi

現役, 本物。

最新は 2020年5月の Delphi 10.4 Sydney. 2017年3月 Delphi 10.2 Tokyo. 過去の資産のために, Delphi 7 (2002年) 以降のバージョンもライセンスされる (料金に含まれる)。

エディションは Community (無償), Starter, Professional, Enterprise, および Architect.

再コンパイルで, Windows, macOS, iOS, Android および Linux 用バイナリを生成できる。RAD Studio / Delphi 10.4.2 で FireMonkey App Low Code Wizard が提供される。ローコード開発への対応。

Clone としては Lazarus がある。Free Pascal.

△ Kexi (Linux版)

[2021-06] 開発停滞しているようだ。

Microsoft Access または FileMaker に似た, データベースアプリケーションの開発ツール。KDEベース。

何となく, Calligra Suite の一部として扱われている。

最新は 2017年3月にリリースされた Kexi 3.0.1. Fedora 25 Linux には v2.9.11 が収録されている (calligra-kexi パッケージ). Fedora 26も同じバージョン。

2019年4月, バージョン 3.2.0 with Windowsインストーラがある。

X-TEA Editor + X-TEA Driver

X-TEA Tools and Resources - X-TEA Driver

面白い発想のシステム。かなりのことができる。Java.

LibreOffice Base

LibreOfficeスイートの、データベースアプリケーション開発ソフトウェア。Microsoft Access の代替。

日本語ドキュメント:

しっかり使ったことはない。

Webアプリケィション開発環境

Ruby on Rails などは措いておいて、ある程度 non-programming でアプリケーション開発するようなもの。

アプリケーションの配備がクラウドだと、当然、データベースもクラウド上に置くことになる。

実用になるかどうかは, 自動生成されたコードがカスタマイズできるかどうか。(だから結局、プログラミングは必要。)

Oracle Application Express (Oracle APEX)

使える DBMSはOracle 専用。なので、良さそうなんだけど、食指が動かない。

こんな宣伝;

Oracle Application Express (APEX)は、ロー・コード開発プラットフォームです。

Oracle APEXにより、基本的にHTML、CSSまたはJavaScriptの知識がなくても、簡単にWebアプリケーションを構築できます。Oracle APEXは、Oracle Databaseと緊密に統合されており、データベースでのデータ操作に関連するすべての処理を管理します。SQLの基本的な知識があれば、洗練されたレスポンシブなWebアプリケーションを非常に迅速に構築できます。

[2021-06] Release 21.1が最新. 2020年5月現在の最新は v19.1.

ドキュメントで, Oracle Forms アプリケーションのコンバートについて1章まるまる割かれている。Application Express Application Migration Guide

Microsoft Accessアプリケーションからのマイグレーションについては, APEX Release 5.0 まではドキュメントがあったが、以降のバージョンからは消えている。諦めたか?

WaveMaker

試していない。 WaveMaker - Rapid Application Development for Web & Mobile Apps The Enterprise Grade Low Code Platform for the Java world.

最初から custom coding を掲げているのは好感できる。

Professional: 開発者当たり1ヶ月当たり249 US$. (2020.5) Solo で 1ヶ月500 US$. Small Team, Enterprise は要問合せ。

OutSystems

かなり評判が高い。

高速開発ツールのOutSystemsが正式発表、BlueMemeが年額360万円〜で提供 | IT Leaders

とはいえ冒頭で触れた SapiensGeneXus といったツールとの違いは、あまり明解ではない。こうしたツールも新規開発以上に、保守や拡張に利点があると謳っているだからだ。そこで同氏に「競合はどこか」と聞いたところ、「GeneXusは南米と日本では一部競合するが、それ以外では名前を聞かない。Sapiensは競合したことがない(本誌注:聞いたことがない、というニュアンスだった)。最も競合するのはSalesforceの Force.com だ」という。

(2020.5) 価格確認. 結構上がってる。

Edition 価格
Free 永年無償 (トライアルではない)
One Basic 2,100 US$/month 4,000 US$/month
Standard 4,600 US$/month 10,000 US$/month
Enterprise 要問合せ

Freeで実際に試してみて、という感じか。

Zoho Creator

Salesforce Platform 旧 Salesforce App Cloud, さらに旧 Force.com

Force.com などの製品群は, Heroku とともに Salesforce App Cloud となり、さらに Salesforce Platform となった。

Salesforce 社は, PaaS/ホスティングサービスだけでなく、その上での開発ツールも提供している。

Salesforce Platform は, Salesforce CRM SaaS を拡張するためのサービス。Lightning Object Creator, Lightning App Builder, Lightning Flow.

GeneXus

[2021-06] 最新は GeneXus 17. Enterprise Low-Code 2020. 2017年現在の最新は GeneXus 15.

もうずいぶん昔になるが、委託開発で、委託先が GeneXus を使ったことがある。そのときは、プロダクトの問題か委託先の能力か、なんとも微妙な出来栄えになってしまった。あまりいい印象はない。(個人の感想です。)

Wagby

Wagby (ワグビィ) は, Web ベースのエンタープライズアプリケーションをノンプログラミングで超高速に開発するツール, ですって。

[2021-06] No-code 開発プラットフォームの Wagby と, low-code 開発ツールの Wagby EE がある。これらはまったくの別モノ。前者はちょっと実用ではない。Wagby EE のほうは, まともに見える。試していないが。

Wagby - 製品 > 他社製品との比較情報

今も使われ続けているツールがある

CASE ツールが脚光を浴びたのは 1980 年代後半から 90 年代前半です。そのときに登場した GeneXus や Sapiens は現在も使われていますので、消えたわけではありません。当時の CASE ツールは COBOL ベースが多かったですが、例えば GeneXus は GeneXus 言語(いわゆる 4GL) をベースとすることで、製品の寿命を長くすることに成功しています。

WagbyとCASEツールとの違い

当時のCASEの思想から発展させた GeneXus などのツールと、そのあとに登場したWagbyは出発点が異なっています。

Wagbyは「ジェネレーティブ・プログラミング」が原点です。これはアプリケーションに特化した設計情報を使って、"生成的に (ジェネレーティブ)" システム開発を行うというものです。そのため 4GL を用意せず、汎用言語である Java を使います。

Wagbyの最大の特徴は、生成されたソースコードを改変(カスタマイズ)できることです。従来の CASE ツールは生成されたコードに手を入れることができません。また、ソースコード生成型ではなく、実行エンジン型と呼ばれるものもジェネレーティブではないため、一般的に、カスタマイズできる範囲は制限されます。

GeneXus 人気だなぁ。

Tryton

これはかなり毛色が違う。業務アプリケーションのテンプレート。

Pythonベースのアプリケーションプラットフォーム。GPLv3でライセンスされ, PostgreSQL をデータベースエンジンとして用いる。

最新は 2017年6月のv4.4.1.

Webサイトでデモ環境もある。そのままでは機能が豊富という感じではないが, 業務アプリケーション開発の出発点として使えるかもしれもい。

すでに終了しているもの

Glom (Linux版)

Glomは, non-programming でデータベースアプリケーションを開発するためのシステム。目標は FileMaker Pro の代替で, データベースを分離する。

GTK+ベース, DBMSは PostgreSQL を使う。

最新は 2016年6月のバージョン1.31.6. Fedora 25 Linux には v1.30.4 が収録されている。細々と開発が続いている感じ。ただ, Windows 版は 2010年を最後に提供されなくなった。

今は, フレームワークとして libgtkmm-3.0 (>= 3.18.0) を利用している。

Microsoft LightSwitch

Visual Studio LightSwitch

始まりもしなかった。2016年10月に discontinue することが公表された。 LightSwitch Update | Visual Studio LightSwitch Team Blog

We no longer recommend LightSwitch for your new apps. But we remain committed to fulfilling our vision to significantly raise the productivity bar for building modern LOB applications, which is why Microsoft is aligning efforts behind PowerApps. Microsoft PowerApps is a solution to build custom business applications that enables increased productivity with business apps that are easily created, shared and managed. PowerApps offers a modern, intuitive experience for LOB application development.

LightSwitchアプリケーションは, デスクトップ (Silverlightのブラウザ外実行アプリケーション), Web (Silverlight), クラウド上で動作したようです。Silverlight も discontinued になったので、終了は必然。

Bond

(2011.12)

Bondは, Linux / Windows 用のデスクトップアプリケーションを作成するためのRADフレームワーク。GTKベース。

PostgreSQL.

Rekall (Linux版)

KDE用のMicrosoft AccessライクなGUIツール、のようだ。

(2011.12) Webサイトがなくなっている。開発終了.

PgAccess

PgAccessは、Tcl/Tkで書かれた PostgreSQL用のGUIソフトウェアで、Microsoft Accessに似たインターフェイスを提供する。

(2007.2) 開発が停滞している? (2011.12) 2004年で終了していたみたい。

インストール方法:

展開して,

$ tar xzvf pgaccess-0.98.8.20030117.tar.gz
$ cd pgaccess-0.98.8.20030117

インストール.

$ su
# make clean
# make all

OSにインストールされているTcl/Tkのバージョンによっては、日本語の入力ができません。

Tcl/Tkバージョン8.4.xであれば問題なく日本語の入出力ができます。バージョン8.4.xはバージョン8.1以降と高い互換性があるので、そのまま上書きインストールしても大丈夫です。

次の3つのパッケージをインストールします。

  • Tcl
  • Tk
  • tcllib
$ ./configure --prefix=/usr && make
$ su
# make install

それから, 環境変数を設定します。

PGACCESS_HOME=/usr/lib/pgaccess
PGLIB=/usr/local/pgsql/lib