SHOEISHA iD

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

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

EDN CodeZine出張所(AD)

FireUIを使ってiPad/AndroidタブレットアプリとiPhone/AndroidフォンアプリのUIを並行開発してみる

RAD Studio XE7の新機能FireUIマルチデバイスデザイナを使う

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

マルチデバイスで「水平器」を作ってみる

 さて、RAD Studio XE7を使って作成するマルチデバイスアプリは「水平器(傾き表示アプリ)」です。傾きを表示するには、デバイスのジャイロセンサーを利用する必要があるので、ネイティブアプリの例としてはちょうどいいでしょう。

それぞれのデバイスでのアプリの実行結果

 実際に作成した「水平器(傾き表示アプリ)」は以下のようなものです。各デバイス上での表示を見てみましょう。

図4 iPad上で動作している「水平器(傾き表示アプリ)」
図5 iPhone 6上で動作している「水平器(傾き表示アプリ)」
図6 Androidタブレット(Nexus 7)上で動作している「水平器(傾き表示アプリ)」
図7 Android フォン(Nexus 5)上で動作している「水平器(傾き表示アプリ)」

アプリのポイント

 とてもシンプルなアプリですが、実現できている重要なポイントがあります。

  1. iOSとAndroidという異なるOSで動作している
  2. ジャイロセンサーというモバイルデバイス機能を利用している
  3. スマホとタブレットとで画面デザインを切り替えている

 これらを実現できているのはFireMonkey、FireUI、マルチデバイス対応コンパイラといった、RAD Studioに搭載されている各種機能によるものです。

図8 FireMonkeyフレームワーク

 FireMonkeyは、OSやデバイス間の相違を吸収するレイヤです。この仕組みによって、様々なOS上でモバイルデバイス機能を利用しつつ動作するUIを開発することができるのです。

 FireUIは、このFireMonkeyによるマルチデバイスアプリ開発をさらに効率化する新機能です。FireUIには、複数デバイス向けの画面設計を一元的に行える「マルチデバイスUIデザイナ」、それぞれのデバイスで最適なUIを表示する「MultiViewコンポーネント」、そしてこれらを下支えする「ビヘイビアサービス」があります。

図9 FireUI

 これらの機能を使うことで、デバイスの画面サイズやOSの種別による差異をうまく吸収することができるアプリを効率的に作成できるようになります。

次のページ
水平器の機能を実装する

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

  • このエントリーをはてなブックマークに追加
EDN CodeZine出張所連載記事一覧

もっと読む

この記事の著者

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

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

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8330 2014/12/04 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング