マルチデバイスで「水平器」を作ってみる
さて、RAD Studio XE7を使って作成するマルチデバイスアプリは「水平器(傾き表示アプリ)」です。傾きを表示するには、デバイスのジャイロセンサーを利用する必要があるので、ネイティブアプリの例としてはちょうどいいでしょう。
それぞれのデバイスでのアプリの実行結果
実際に作成した「水平器(傾き表示アプリ)」は以下のようなものです。各デバイス上での表示を見てみましょう。
 
     
     
     
    アプリのポイント
とてもシンプルなアプリですが、実現できている重要なポイントがあります。
- iOSとAndroidという異なるOSで動作している
- ジャイロセンサーというモバイルデバイス機能を利用している
- スマホとタブレットとで画面デザインを切り替えている
これらを実現できているのはFireMonkey、FireUI、マルチデバイス対応コンパイラといった、RAD Studioに搭載されている各種機能によるものです。
 
     FireMonkeyは、OSやデバイス間の相違を吸収するレイヤです。この仕組みによって、様々なOS上でモバイルデバイス機能を利用しつつ動作するUIを開発することができるのです。
    
     FireUIは、このFireMonkeyによるマルチデバイスアプリ開発をさらに効率化する新機能です。FireUIには、複数デバイス向けの画面設計を一元的に行える「マルチデバイスUIデザイナ」、それぞれのデバイスで最適なUIを表示する「MultiViewコンポーネント」、そしてこれらを下支えする「ビヘイビアサービス」があります。
 
    これらの機能を使うことで、デバイスの画面サイズやOSの種別による差異をうまく吸収することができるアプリを効率的に作成できるようになります。

 
              
               
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                          
                           
                              
                               
                              
                               
                              
                               
                              
                               
                              
                               
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
                      
                     
															
														 
															
														.png) 
     
     
     
     
     
													 
													 
													 
													 
													 
										
									
 
                    
