17Th
Developer Camp

【A4】Delphiテクニカルセッション「Delphi+IntraWeb+FastReportによるWeb、モバイル、タブ
レットアプ
リ開発」
株式会社ドリームハイブ
代表取締役 ITコンサルタント
山本 悟

1

自己紹介
• 名前：山本 悟 (やまもと さとる)
– 代表取締役 & ITコンサルタント• 会社：株式会社 ドリームハイブ– 会社URL：http://www.dreamhive.co.jp/– お得なコンテンツ配信サイト ：http://dhive.jp/– 山本のブログ：http://dhive.jp/blog/yama/– facebook：http://www.facebook.com/kryu2• 山本はこんな人：– 17歳からIT業界へ– Delphi は1.0からの親友– テレビ埼玉に出たり– ドリームハイブの経営、ITコンサルティング、システム開発、スピーカーなどが主な仕事
22

本日の流れ• モバイル・スマートフォンに対応するアプリの開発方法とは？
• RAD Studio XE2を利用したWebアプリの開発手法を紹介• デモ• まとめ このセッションは、テクニカル・セッションです Delphi/C++ Builder製のWebアプリケーションの構築方法について、私の主観と経験に基づいてお話しいたします あなたにとって最適解では無いかもしれませんが、参考になると思います33

モバイル・スマートフォンに対応するには？
• ネイティブアプリで対応する方法– メリットクールガイのセッションで説明いたします→B5• アプリが動くデバイスの機能をほぼ全て使うことができる– デメリット• 各デバイスごとにアプリ開発をする必要があり、多くの場合データ保存などで互換性が無い• Webアプリで対応する方法– メリット本セッションで説明いたします• 全てのモバイル・スマートフォンでWebブラウザが利用できるので、開発の手間が少ない• イントラネットなどの特定ドメイン内での展開が簡単– デメリット• ネイティブアプリに比べて機能制限があり、動作速度が低下する

4モバイル・スマートフォンの動作確認環境はどうする？
• 実機– 一番確実な確認環境であり、最終的には行わなければならない• 仮想環境– iPhoneシミュレーター
• 取得元：AppStore - Xcode– Androidエミュレーター
• 取得元：http://developer.android.com/sdk/– Windows Phoneエミュレーター
• 取得元：http://www.microsoft.com/jajp/download/details.aspx?id=27570
参考：シミュレーターとエミュレーターの違い
 シミュレーター
ソフトウェアを模倣する、再現性はそこそこ、動作速度は速い、バイナリ互換が無い
 エミュレーター
ハードウェアを模倣する、再現性は完璧、動作速度は遅い、バイナリ互換がある
5

RAD StudioのWeb対応技術• WebBroker– URIに関連づけたイベントハンドラを作成できる、イベント駆動型Web
サーバーアプリケーション作成用フレームワーク– Web Application– Web Module• (WebSnap：廃止予定であり、サポートは終了している)– WebBrokerを拡張したデータ駆動型Webサーバーアプリケーション作
成用フレームワーク• IntraWeb(VCL for Web)– RADスタイルでWebサーバーアプリケーションを作成できるGUIフレー
ムワーク– Atozed社が提供している• DataSnap– JSON/REST形式のWebサーバーアプリケーションを作成できるフレームワーク

6デモ• WebBrokerによるWebサーバーアプリケーションの作成
WebBroker
TWebModule
リクエスト

TWebRequest

Actions
PathInfo URL

レスポンス

TWebResponse
Content/

http://〜//foo

http://〜/foo/bar

http://〜/bar<html>〜</html>
 TWebFileDispatcher
 TPageProducer
7デモ• IntraWebによるWebサーバーアプリケーションの作成
IntraWeb

DataModule

TIWAppForm
リクエスト

レスポンス

IW Controlなど•

TIWUserSession

••
•
•
•
•

TIWButton
TIWListTIWImage
TIWEdit
TIWFile…

TIWUserSession
8

参考リンク• jQuery Mobile– http://jquerymobile.com/• ThemeRoller for jQuery Mobile– http://jquerymobile.com/themeroller/• TMS IntraWeb iPhone Controls Pack
– http://www.tmssoftware.com/site/tmsiwiphone.asp

9FastReportで帳票を作成する•

FastReportとは– UNICODEをサポートし、バイナリへの埋め込みが可能な多機能レポーティングソリューション

•主な特徴––––––––––––––

Delphi 4〜XE2,C++ Builder 6〜XE2をサポート
UNICODEをサポート
競合製品に比べて安め
Delphiの実行用バイナリにライブラリごと埋め込むことが可能
埋め込みでも外部ファイル参照でもデザインしたレポートを利用可能
バンドによるレポート構成なので、Quick ReportやRave Reportから移行しやすい
縦型バンドもあります
テキスト、画像、線・図形はもちろん、チャート、バーコード、クロステーブル、OLEオブジェク
ト、リッチテキスト、などが使用可能
ランタイムデザイナを搭載、しかもロイヤリティフリー
レポート内にデータセット(ADO, BDE, DBX, IBX, FIB)を組み込み事が可能
Script(FastScript)に対応(PascalScript, C++Script, BasicScript, JScript)
プリンタ以外にも出力先が指定可能(PDF, RTF, XLS, XML, HTML, JPG, BMP, GIF, TIFF,TXT, CSV, ODF)
レポートの継承関係を作成することが可能
クロスタブタイプ、ドリルダウンタイプのレポートの作成が可能

10

Editionによって使えない機能
Embarcadero RAD Edition

Enterprise Edition

RunTime end-user designer

×○Vertical Bands

×○

Cross Tabs

×○

Dialog forms designer

×

○

×

○

Excel Binary×○

Excel XML×○

E-Mail×○

Script×○Components for webapplications

×○Interbase Express (IBX),
IBOjects, ActiveX Data Objects(ADO), dbExpress support1111

デモ• FastReportによるレポートの生成
Form
TfrxPDFExportPDF
TfrxReport

TfrxDBDataset

12

デモ• IntraWeb + FastReportによるレポート生成
IntraWeb

FastReport

リクエスト

レスポンス
PDF

13

まとめ• モバイル・スマートフォンへの対応方法は2種類ある– ネイティブアプリを作り、パフォーマンスを優先する方法– Webアプリを作り、スケラービリティを優先する方法• Webアプリ対応の開発方法は2種類ある– IntraWebによるRADスタイルで開発する方法– DataSnapによってビジネスロジックをWebサービスで公開し、それを利用するアプリを開発する方法

14

終わりにご静聴いただきありがとうございました
メルマガもご登録ください(※期間限定)↓↓↓
http://www.dreamhive.co.jp/23thDC/
パスワード：23thDC

15