##目的
Wagbyに触れる機会があったため、ざっと概要や使い勝手を書く
##Wagbyとは
Javaベースの超高速開発ツール(開発元:[ジャスミンソフト][1])
[1]:https://www.jasminesoft.co.jp/
基本的な開発はWebブラウザ(GoogleChrome)上で動作するWagbyDesignerを介して行う。
中身は上記のような構造になっており、自動的に生成されるコードは特に特殊な構造になっているわけでもない為、Javaのコードが理解できれば問題なく解読することが出来ます。後述するカスタマイズなどの時にEclipseなどのIDEを使用することもできます。(注意点あり)
Wagbyで開発するアプリケーションは基本的には在庫管理や顧客管理システムなどの基幹システムに適する形態のものを作成しやすくなっています。
開発の基本的な流れは
モデル定義(DBでいうテーブル)をWagbyDesigner上で定義→ビルド
以上
という訳ではありませんが、簡単な在庫管理システムなどであれば実際上記のワンステップで開発することが出来ます。
モデル定義を行うと、検索画面や一覧画面、詳細画面などは自動的に生成され、モデル間の参照構造なども指定さえすれば自動的に行ってくれます。
外部DBとの連携もJDBCドライバを適切な場所に置いてDesigner側で設定をすれば簡単に連携できます。
##カスタマイズ
細かな調整や外部のアプリケーションとの連携などは自動生成されたソースコードをいじってやらなければいけません。
カスタマイズが可能な範囲はHTML,JS,CSS,Javaのログオンや認証周り以外の部分とかなり広範囲ではあります。
カスタマイズは基本的には自動生成されたコードを上書き、もしくはカスタマイズしたいクラスを継承してそれぞれ適切なフォルダ内に配置して再度ビルドをかけることでカスタマイズが適用できます。
前述した注意点というのがここで出てくるのですが、カスタマイズする際にビルドエラーや動作時のエラーなどが頻発することがあります。Eclipseとの連携がうまくいっていないのか、何故かビルド前にEclipseを再起動するとエラーが起きにくくなります。
##問題点
Wagby側の問題点は細かいバグがあるとか仕様上対応不可能な面があるなどありますが、大きな部分ではアプリケーション開発には必要十分な実力を持っています。
むしろ、往々にしてアプリケーション開発にはありがちですが、いかにWagby開発に適したシステム、DBの構成を考えるかが重要であると考えられます。
また、カスタマイズを一切行わない場合、実際に発行されるSQL文の最適化はほぼされていない為、パフォーマンス上の問題になる可能性があります(未検証)
##まとめ
完成度は高いが、構築するシステムの構造を考えてやらないと
ドツボにハマりそう