インテルが30日から開催しているソフトウェア開発者向けイベント「インテル ソフトウェア・カンファレンス 2014」のキーノートに、米Intelのデベロッパー製品部門パフォーマンス・クライアントおよびビジュアル・コンピューティング部長のJeff McVeigh氏が登壇。Androidだけでなく、クロスプラットフォームでの開発の重要性を強調した。

クロスプラットフォーム開発を支援するインテルの開発ツール

米IntelのJeff McVeigh氏

冒頭、McVeigh氏は自身のスキーレースの経験を紹介し、そこから得られた教訓として「競争相手を侮らないこと」「挑戦し経験を積むこと」「重要なボトルネックを最適化すること」「賢明な装備(ツール)を選択すること」という4点を挙げ、これがソフトウェア開発にも通じると指摘する。

過去5年間、市場ではマルチOS化が進展している。Windows製品は相変わらず多いが、Android搭載端末がそれに迫る勢いで、先進国を中心にiOS端末やMac製品も使われており、その数は2014年で40億台に上っているという。これらのマルチOSにソフトウェアを対応するためには、適切なツールを活用すべきだとMcVeigh氏。

日本では特にiPhoneをはじめとするiOS端末が普及しているが、AndroidやWindows端末も多く、「無視してはいけない」(McVeigh氏)。McVeigh氏自身、WindowsやiPhoneといった複数のOSを使っており、同じサービスであれば、OSをまたがっても「すべての体験が一貫していなければならない」と強調。そのためには、ある1つの環境だけで検証するのではなく、クロスプラットフォームで開発する必要があるという。

過去5年間のOSごとの端末数

さらに、Google Play上には100万以上のアプリがあり、過去12カ月で40%も伸びているということで、この中で、いかにアプリを使ってもらうか、知ってもらうか、というのも重要なポイントだ。

Google Play上のアプリ数

McVeigh氏は、まず第一に「最初からマルチプラットフォーム対応をすること」をあげる。別のプラットフォームに移行しようとしたら「もう負け」とMcVeigh氏。あとからマルチプラットフォーム対応しようとアルゴリズムを買えて対応するのは「無理がある」と強調する。

さらに、デバイスのパフォーマンスは「驚くほどあがっている」点を認識する必要があるという。プロセスの微細化が進んだことで、SoCにはさまざまな機能が搭載され、それをプラットフォーム上で利用できるようになっているため、これらを最大限活用することで「新たな体験」をユーザーに提供できるとMcVeigh氏は言う。

こうした状況でクロスプラットフォームの開発を実現するために、最適なツールを使って生産性を向上させて開発コストを削減すべき、というのがMcVeigh氏の主張だ。

そこで紹介されたのが「インテル XDK」と「インテル INDE」の2つの開発ツール。XDKは、HTML5アプリ開発用のツールで、1つのコードで複数のデバイスに対応できるアプリを生成できる。最終的に複数のアプリストアに1ボタンで配信でき、直感的に開発できるように設計され、「アプリを作ったことがなくても、30分から1時間もあれば最初のアプリを開発してストアに提供できる」という。

クロスプラットフォームの開発コストを軽減する2つのインテル製ツール

対応するのは、iOS、Android、Windows 8、Windows Phone 8、Tizen、Amazon、Chrome、Facebookなどと幅広く、内蔵エディタ、エミュレーター、デバッガーなどを搭載。McVeigh氏は、サンプルやドキュメントも充実しているとアピール。発表から1年半ほどが経ち、機能追加も順次行っていて、ビデオやオーディオ、GPS、センサーなどの機能が追加されているそうだ。「HTML5を言語として開発することを決めているなら、XDKは素晴らしいツールとして活用できる」(McVeigh氏)。

HTML5向けツールのXDK

迅速な開発ができるとしている

もう1つのINDEは、10月に発表されたばかりの同社のクロスプラットフォームのネイティブアプリ開発ツールだ。IA上のAndroidとWindowsだけでなく、ARM向けのアプリも開発できる点が大きなポイントで、既存のC++やJAVAの開発者をターゲットにしたツールだという。

ネイティブアプリ向けのINDE

主な特徴

大きな特徴が、Visual Studio、Eclipse、Android Studioといった任意のIDE(統合開発環境)を統合するツールである、という点。「開発者はIDEにこだわりがある」(同)ため、既存のIDEは変えずに、1ボタンでコードを変換してマルチプラットフォーム化できるツールとしてINDEは利用できる。

Android Studioからネイティブアプリを簡単に、しかも複数のプラットフォーム向けに開発できる

Visual StudioやEclipseでも開発できる

INDEでは、ネイティブアプリの作成、ビルド、デバッグ、チューニングを行い、それぞれのIDEで作成したコードをそのまま再利用したり、チューニングしたりして、それをIAまたはARMプラットフォームのWindows/Android用アプリとして開発できる。

インテルC++コンパイラーを使ってのAndroid、Windows、Mac OS向けビルド、GCCによるARM上のAndroid向けビルドが可能で、OpenCL オフライン・コンパイラーとJITランタイムも備え、4Kビデオやグラフィックスを処理するハードウェア機能にも直接アクセスする機能や、各プラットフォーム向けのパフォーマンスライブラリーなども搭載する。

スクリーンキャプチャーやストリーミング、ビデオ変換といったテンプレートも用意

OpenCL 2.0もサポートする

パフォーマンスなどで問題が発生した場合に、どこに問題があるのかを視覚的に診断できる「Hotspot解析機能」や「グラフィカル・フレーム・パフォーマンス解析機能」も備え、WindowsからAndroidへの移植を簡単に、しかも高速で行えるようになる、としている。実際、音楽ソフトの「Stagelight」を開発するOpen Labsでは、Android開発の経験はなかったが、INDEを使うことで、「あっという間に市場に提供できた」(同)という。

パフォーマンスの問題を視覚的に解析できる

ほかにも、インテルC++コンパイラーは、コードを最適化することでパフォーマンス向上が実現でき、既存のコードをリコンパイルするだけで「30%のパフォーマンス向上することもある」(同)。エミュレーターではIntel HAXMを使うことで、「5~10倍の開発スピード向上が図れる、という。

パフォーマンス向上や開発期間の短縮を可能にするINDE

3Dを認識するRealSenseカメラ

インテルアーキテクチャを採用した製品は、今年に入って急速に増えている。タブレット市場のSoCでは、アップルに次ぐ第2位の位置を占め、2014年中に4,000万台のIA搭載タブレット端末という目標は達成できる見込みで、こうした幅広い対応を進めていく。

拡大するIAベースのデバイス

その1つとして、「Intel RealSense」も投入。2つのカメラによって奥行き情報を取得できるため、これを活用することでいろいろなアプリが開発できる、という。同日、HPがこれを搭載したPC「Sprout」を発表しているが、ほかにも富士通やデルがAndroidタブレットで採用。今年後半から来年にかけて、さらに多くの端末が登場するそうだ。

RealSenseと各種センサーによって、プラットフォームの機能が拡大される

RealSenseは奥行きを把握でき、さまざまな用途が検討できるという

カメラが奥行き情報を得られることで、ビデオ会議で背景情報を使ってプレゼンしたり、フェイストラッキングで活用したり、カメラが3Dを認識するため、そのまま3Dプリンターで出力したり、といった利用方法を提案。さらに、AR(拡張現実)を利用したり、撮影後にフォーカスを変更する機能を提供したり、とさまざまに活用できると話す。

RealSenseカメラは、ノートPCのディスプレイのベゼル部に収まる大きさ、厚さを実現しており、「将来的にはスマホにも入る」という。

コンパクトで薄く、今後スマートフォンにも搭載可能になるという

McVeigh氏は、マルチプラットフォームをターゲットにすることで、認知度向上と市場拡大を図り、INDEのようなクロスプラットフォーム開発ツールでコストを抑えて開発期間を短縮。RealSenseといった新しいハードウェアを含めて、端末の機能を最大限に活用してスケーラブルな開発をして、他のアプリとの差別化をする必要があるとアピールしている。