SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事(AD)

マウスで線を結ぶだけでデータとUIコントロールを連携させる

Delphi XE3、C++Builder XE3のVisual LiveBindingを使ってみる

  • X ポスト
  • このエントリーをはてなブックマークに追加

 RAD Studio XE3(Delphi XE3、C++Builder XE3)がリリースされました。Windows 8サポートが目玉になっていますが、データベースを使った業務システムなどを開発する人にとっては、Visual LiveBindingという機能も見逃せません。なぜなら、「マウスを線で結ぶだけでデータとUIコントロールを連携させる」ことができるからです。

  • X ポスト
  • このエントリーをはてなブックマークに追加

データとUIコントロールを結び付けるコーディングは面倒?

 アプリケーション開発で面倒なのは、データとUIコントロールの連携です。画面に表示される入力ボックスにデータを表示して、編集結果を反映させるというアレです。

 コンポーネントベースの開発環境であれば、データベースアクセスをカプセル化して、あまりコードを書くことなく、UIを作成できます。しかし、扱うデータがコンポーネントによってサポートされていないものだったりすると、途端にスクラッチのコーディングに戻ってしまうなど、何かと不便です。

 特に最近では、Webサービス経由でデータを扱ったり、多層化してクライアント側で直接データベースのデータを扱わなかったりするような形態が増えてきており、上記のやり方が通用しなくなってきています。

 Delphi / C++Builderを例に見てみましょう。

データとUIコントールの連携 - Delphiの場合

 Delphiはもともと、Oracle向けのクライアントアプリケーション開発ツールを想定して開発された経緯があることから(DelphiというギリシャっぽいネーミングもOracle由来でしょう)、データベースとの連携は最初から組み込まれていました。データベースアクセスコンポーネントとデータベース対応のUIコントロールを結び付けて、データを表示、編集できます。ほぼノンコーディングです。

 現在では、対応データベースも幅広く、Oracle、MS SQL Server、DB2、Informix、Sybase、SQL Anywhere、InterBase、MySQL、SQLite、ODBCなど。Azureにもつながります。

近年のアプリケーション形態で起きるデータ連携の問題

 ここで2つの問題があります。古典的なクライアントサーバーアプリでは、クライアントは直接データベースに接続していました。デスクトップデータベースの延長のような感覚です。Excelの表のようなグリッドでデータを表示するアプリケーションがその典型です。

図1 グリッドでデータを表示する典型的なアプリケーション

 ところが、近年では、データ量が増加していることと、クライアントサーバー以外、Webやモバイルなどからもデータにアクセスしたいという要求があがっていることなどから、単純な2層では収まらなくなってくるケースが増えています。そうすると、これまでのデータアクセスコンポーネントが、そのまま使えなくなります。クライアントに持ってくるデータ量も最適化しなければならなくなります。

 そうすると、中間層では引き続きコンポーネントを使って効率化したとしても、クライアント層でUIとデータを結び付けるコーディングが増加してしまいます。ロジックまわりでなく、UIまわりの制御に膨大なコードを書くとなると、生産性低下に直結してしまいます。

 もうひとつは、UIコントロールです。最近のアプリケーションは、見た目にも美しくなってきました。データもさまざまな形態で表示できるようになっています。ところが、これらがデータベース対応のコンポーネントでないと、データをUIコントロールに表示するために、またたくさんコードを書かなければならなくなります。

次のページ
そこでLiveBinding

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

EDN編集部(イーディーエヌ編集部)

エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6771 2012/09/19 10:16

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング