読者です 読者をやめる 読者になる 読者になる

Xojo日本語ブログ

マルチプラットフォーム対応アプリが開発できるXojoのブログです。

クロス開発ツールで業務システム開発の効率化を考えるセミナーを開催しました

セミナー

7月15日、両国にてクロス開発ツールで業務システム開発の効率化を考えるセミナーを開催しました。日中の約4時間をかけてXojoの基本から実例、そして実際にアプリケーションを開発する手順までを学べるセミナーになりました。

今回はそのレポートになります。講師は全体を通してXojoスペシャリストの村岡さんになります。

f:id:moongift:20160715160354j:plain

実録!クロスプラットフォームの開発現場

1. 開発事例1

f:id:moongift:20160715142518j:plain

車両の事故を管理するソフトウェアになります。レッカー会社が業務日報を作るのに使っています。システム構成としてはWindows PC×10台、Windows Server 2008になります。基本的な機能としては日報処理、請求管理ですが、画面がとても複雑なのが特徴です。また、ワークフローとしては日報一つにつき請求先が複数あるのが特殊です。業務システムなので、印刷機能があり、細かく設計された請求書が帳票が出力できるようになっています。

2. 開発事例2

東証一部上場製薬企業向けのシステムです。システム構成はWindows PC×10台、Windows Server 2008(今は2010)となっています。意見管理で、薬について寄せられた意見をまとめておくためのものです。特殊なフローとして、暗号化されているPDF内にExcelファイルが添付されており、そのExcelに入っているデータを取り出してデータベースに保存するようになっています。さらに電子メールでやり取りした内容を一覧で見られるようにして欲しい、書庫もバージョン管理してサーバに保存しておくといった仕組みがあります。

同じものをVBで作ろうとした場合に比べて、工数は半分くらいでできたのではないでしょうか。

(※) XojoではデスクトップアプリケーションやWebアプリケーション、iOSアプリやRaspberry Piアプリなど様々なアプリケーションを作成できますが、上記の事例はいずれもWebアプリケーションでの開発事例です。

3. XojoアプリをPHPで作り直してみる

Webシステムの場合、XojoであってもPHPであっても結果として出力されるものはHTMLで変わりません。問題は画面の作成工数になります。細かく設計された画面をHTMLで作ったり、スライダーやポップアップといった種類の違うコントロールに対してコーディング方法が違うといった問題をどう解決するかがポイントでしょう。

4. 仕様変更

システム開発の現場は仕様変更が多いのが問題です。例えばLinuxWindows Serverへの変更など。Xojoは同じバイナリで、単にビルド先を変更するだけでWindowsLinux、Mac OSXなどを区別せずに動かすことができます。

8明細を16明細に

画面の変更も多々行われますが、Xojoの場合はとても簡単に対応できます。とにかくひな形を早く作ってお客さんに見てもらうのが大事です。お客さんは実際のものを見てみないと分からないからです。その点、Xojoは速くプロトタイプが作れるのが魅力です。1/7〜1/8くらいの工数でできるでしょう。

ここで、度々比較としてあがってくるXamarinとXojoの違いについて話がありました。

XamarinとXojoでのiOSマスターアプリ作り比べ。

f:id:moongift:20160715140707j:plain

Xamarinは画面遷移が矢印で表されていて分かりやすいかと思ったのですが、実際には画面だけでなくデータの流れも混在していて逆に難しくなってしまっていました。また、Xamarinは機能を追加しようと思った時に直感的に分かりづらい印象があります。

Xamarinの場合、全体像が見えないので機能を追加する度にコードが分かりづらくなっていくのではないかと思われます。モバイルの開発経験がなくてXamarinにいくと大変ではないでしょうか。学習コストが大きい印象があります。

Xojoでは機能を追加した際に、全体のコントロールやイベントが一覧されているので把握しやすいです。

事例紹介「事故処理出動管理システム」の紹介

先ほど紹介したレッカー会社の事故処理出動管理システムに関する詳細を事例として紹介しました。

日報登録画面ではエンターキーで次の項目に移動する仕組みです。画面上の色はスタイルで設定しています。クリックで色が変わるようになっています。入金・締め処理がありますが、請求書単位で締めが異なるので設定できるようになっています。

帳票はHTML5で実現しています。現場では報告書は紙ベースで、それをWebに入力し直しています。

要件は次の通りです。

  • 紙日報がある。それをWebブラウザで入力
  • 1伝票に対して複数の請求先
  • プリンタから請求書の印刷
  • 一見さんは都度請求、得意先には〆請求する
  • データ検索

Webシステムである理由としては、デスクトップはセキュリティ上の懸念があるため各端末にはソフトウェアをインストールしたくないという点にあります。

アーキテクチャWindows Server 2008 × MySQL × Xojoスタンドアプリ。CGIでも動くのですが、サーバーへの配布が簡単でパフォーマンスにも優れたスタンドアロン版となっています。

他のアーキテクチャは次の通りです。

Xojoを採用した理由

f:id:moongift:20160715160314j:plain

ハードウェアが決まらなかった。XojoであればサーバはWindows/Linuxの両方で動作します。XojoはDLL依存がないので、実行ファイルだけの管理で良いのがポイントで、Windows7でもServer 2008でも問題なく動きます。データベースを変更するのも簡単です。自分でコントロールを拡張して、Xojoの使い勝手がどんどん便利になっています。最後に、画面設計が簡単です。

Xojoを採用して良かった理由

画面設計が本当に簡単だったでした。GUIで作成できますし、コンテナコントロールも利用して複雑な画面も簡単に作成できます。元々、Linuxを採用予定でしたがWindows Serverに変更しても簡単に対応できました。サーバを準備する前にデスクトップで簡単にテストできるのが良かったです。

実践セミナー「Xojo によるウェブアプリ開発の舞台裏」

帳票は業務システムにおけるネックとなっており、現在はPDF、HTML5、プリンタアプリケーションの3つの選択肢が考えられます。

PDF

  • PDFはどのブラウザでもほぼ正確な出力
  • 印刷内容の作り込みが面倒
  • ライブラリの購入(ちょっと高い)

HTML5

  • HTML5だと安価で簡単
  • HTML部分の分離作業が可能
  • ブラウザ誤差がある

プリントアプリ

  • 確実で柔軟性の持てる印刷
  • インストールが面倒
  • アップデートの時の作業

Webはあくまでもシステムはクラサバ

Xojoは処理はすべてサーバ側。その結果、画面にどう反映するかを返すだけというのを知っておかないといけません。データ取得中のインジケータを出すとしても、それもイベントになる。そういった処理はJavaScriptで実装するのが良いでしょう。

メイン処理はスレッドで実行

重い処理はスレッド処理としてバックグラウンド化しましょう。まずクライアントに対してレスポンスを返してあげて、重い処理はスレッド化するのが良いでしょう。

実践セミナー「DBアプリケーションの作成」

ライブコーディングでWebアプリケーションを作りました。ポイントは次の通りです。

  • カスタムコントロールの作成
  • コントロールの配置
  • インタフェースの作成
  • 登録処理のコーディング
  • 呼び出し処理のコーディング

セミナーの後は相談会があり、Xojoを使った開発における疑問点や不安を解決するための時間が設けられました。

Xojoでは今後もセミナーなどを開催していきます。ぜひご参加ください!