[PR] C++BuilderがAndroidネイティブアプリ開発対応。Androidエミュレータ搭載、異なる画面サイズも自動レイアウト、モバイルBaaSにも対応。エンバカデロから
iOSやAndroidのネイティブアプリケーションを開発するには、専用のSDKのインストールと独自のプログラミング言語を覚える必要がありました。
C++ Builderの次期バージョンでは、iOSアプリケーションの開発に加えてAndroidアプリケーションの開発にも対応。
使い慣れたC++言語で、Windows、Mac OS、iOS、Androidの4つのプラットフォームの全てに対応したネイティブアプリケーションの開発が可能になりました。
Androidネイティブアプリ開発に対応
C++Builder新バージョンの主な特徴を挙げてみましょう。
- コンポーネントを画面上にレイアウトすることで開発できる、ビジュアル開発環境
- 画面デザイナ、コードエディタ、デバッガ、コンパイラなどを含む統合開発環境
- 単一のソースコードで複数プラットフォームに対応
- 画面サイズや解像度に対応してUIコンポーネントのレイアウトやサイズが動的に変化
- ネイティブアプリによるカメラやGPSなどデバイス機能の利用
- バックエンドデータベースへのアクセス機能
今回のAndroid対応ではさらに、Androidエミュレータ、モバイルBaaS対応などが強化されており、今後は広告や課金コンポーネントなどマネタイズ支援機能、ウェアブルデバイスを視野に入れたアップティザリングのサポートなどを予定しています。
モバイルアプリケーションをビジュアル開発
モバイルアプリケーションの開発では、従来のデスクトップアプリケーションの開発と較べてユーザーインターフェイスの開発工数が大幅に上昇すると言われています。特にAndroidではデバイスごとにさまざまな画面の大きさや縦横比、画面解像度があるため、複数のデバイスで適切に利用できるユーザーインターフェイスをプログラミングすることは容易ではありません。
しかしC++Builderでは、モバイル開発に対応したビジュアル開発環境とUIフレームワークなどによって、迅速にモバイルデバイスに対応したユーザーインターフェイスの構築が可能。しかもそのままクロスプラットフォーム対応になります。
ビジュアル開発環境で画面デザイン
C++ Builderでは、さまざまなボタン、メニュー、リスト、テキストフィールド、タブ、グリッドなど一般的に使われるUIコンポーネントが用意されており、画面上にドラッグ&ドロップし、プロパティを設定するだけで画面デザインを行えます。
さらにGoogleのNexusやSamsungのGalaxyの過去のモデル、一般的なQVGA、WQVGAなどの画面でどのように表示されるのかつねに確認できるため、効率的な開発作業を支援します。
FireMonkeyフレームワークが動的にUIを最適化
C++BuilderのビジュアルコンポーネントはFireMonkeyと呼ばれるフレームワークに基づいています。FireMonkeyはネイティブコードで実装されたマルチデバイス対応フレームワークです。フレームワークはCPUネイティブですが、フレームワークがデバイスごとに違う呼び出しを吸収してくれるので、アプリケーションレベルでは共通のコーディングが可能です。さらにOSによるUIの違い、デバイスごとの画面の大きさ、縦横比、画面解像度などを動的に吸収して最適なユーザーインターフェイスを表示する機能を備えています。
例えば下記は、わざと複雑にレイアウトしたユーザーインターフェイスを、画面の小さいAndroidスマートフォンとタブレットでそれぞれ表示した例です。きちんとそれぞれのデバイスに最適化されて表示されます。
1つのアプリケーションでデバイスに合わせてユーザーインターフェイスが動的に最適化されるため、開発者は細かなデバイスの違いにわずらわされることなく開発できるのです。
C++標準のコードが使える
C++Builderは、その名のとおりC++言語を用います。コンポーネントを使ったビジュアル操作でユーザーインターフェイスを構築しますが、そこで使用するコードは、標準のC++です。ですからAndroid開発においても既存のC++コードを再利用したり、Dinkumware STL、Boost C++ライブラリ、TR1といった高度なC++標準ライブラリも利用できます。
C++Builderの場合、Windows、Mac OS、iOS、Androidの4つのプラットフォームに対応していますから、共通のロジックをこれら4つのプラットフォームで共有したり、一部(あるいは全部)のユーザーインターフェイスをプラットフォームを越えて再利用することも可能です。
モバイル向け業務アプリケーションも効率よく開発
Androidエミュレーション、Android対応デバッガ搭載
C++BuilderではWindows上で稼働するAndroidエミュレータも搭載しました。Androidアプリケーションを開発中には迅速な動作確認のためにこのエミュレータを活用できますし、USBでAndroidの実機を接続すれば、コンパイル後に自動的にバイナリがAndroidの実機に転送、実行されて実機上での動作確認も簡単にできます。
もちろん統合開発環境として含まれるデバッガもAndroidアプリケーションに対応しており、ブレ-クポイントやステップ実行、変数の内容などはもちろん、ARMプロセッサのレジスタ値などの詳しいところまでチェックできるようになっています。
データベース接続機能、モバイルBaaS対応
業務用のアプリケーションは、モバイルでもデータベースとの接続が重要な要件となります。C++Builderでは、Oracle DatabaseやSQL Server、DB2、MySQL、PostgreSQLといったデータベースとの接続をFireDAC経由で実現。これらのデータベースとの非同期アクセスを実現するDataSnapサーバ経由では性能向上を実現しています。
さらに、一般的なデータベースアプリケーションのひな形とサンプルデータが含まれているため、これらを用いて迅速にアプリケーションを作成、サンプルデータを用いて開発環境上で動作確認が可能。そして本番データベースへ切り替えればそのまま実稼働へ移行できるという、データベースアプリケーション開発の容易さも備えています。
モバイルBaaSのParseやKinveyへの対応も追加されたため、これらのサービスが提供するデータストア、シングルサインオン、プッシュ通知などのモバイルサービスなども簡単に実装でき、より幅広い用途に対応したモバイルアプリケーションを効率よく開発できます。
案件ごとにターゲットが異なるシステム開発会社の武器に
最近ではシステム開発会社の案件でもモバイル対応のニーズが高まっていますが、お客様からの案件によってターゲットがiPhoneだったりiPadだったりAndroidだったりと多様化することは必然です。
C++Builderは1つのソースコードからWindows、Mac、iOS、Androidのアプリケーションを開発できるクロスプラットフォーム対応の開発環境です。デバイスごとに開発環境を何種類も用意して別々のスキルを身につけるといった手間をかけることなく、C++Builder一本で効率的にモバイルアプリケーションが開発できる点は大きなメリットといえるでしょう。
この画面は、1つのソースコードからAndroid、Windowsのネイティブアプリケーションを生成、動作確認をしているところです。
(本記事はエンバカデロ・テクノロジーズ提供のタイアップ記事です)
あわせて読みたい
インテル、過去最大のデータセンター戦略投資でクラウデラの筆頭株主に。Hadoopとインテルアーキテクチャをビッグデータ時代のプラットフォームにすべく
≪前の記事
クラウド自身が競争力としてのシステムインテグレータを必要としている