あれ、フラットデザインはどこに行った? |
Apple(アップル)が開発・提供するスマートフォンおよびタブレット向け新プラットフォーム「iOS 7」も公開からすでに2週間以上経過し、アップデートを済ませ、新しい使い勝手を堪能している人も多くなってきたころではないでしょうか。
iOS 7といえば、それまでと大幅に趣の異なる画面デザイン(いわゆる「フラットデザイン」)が特徴的ですが、ある程度使い込んでいくとアプリによっては新しい画面デザインにならない場合があることに気づきます。
アプリが使えないわけではないため大きな問題ではないのですが、せっかく新しいOSにしたのに「なぜ}」と思ってしまうかもしれません。今回の連載「スマホのちょっと深いとこ」は、このあたりのからくりを紹介いたします。
【キーボードやスイッチなどがフラットデザインにならないアプリがある】
まず、iOS 7におけるアプリの画面表示を確認してみましょう。最もわかりやすいのは文字入力を表示する際に画面に表示される「キーボード」です。iOS 6以前の立体感ある外観から、iOS 7ではフラットでシンプルな表示になりましたが、アプリによってはキーボードがiOS 6以前の外観で表示される場合があります。iOS 7からデザインが変更された部品(スイッチなど)についても同様です。
【開発環境のバージョンで画面デザインが変わる】
このような違いが出てくるのは、アプリをビルド(*1)する開発環境の違いによります。簡単に言ってしまえば「iOS 7に対応した開発環境でビルドしたアプリはiOS 7のフラットデザインになり、それ以前の開発環境でビルドしたアプリはiOS 6以前のデザインで表示される」ようです。
*1: 「ビルド」とは、人間が作った(記述した)プログラムを変換して、iPhoneやiPadで実行できるようにする操作を指します。
実際に試してみましょう。単純に画面を表示するだけのサンプルアプリを作成して新しい開発環境と古い開発環境(*2)でそれぞれビルドし、iOS 7にアップデート済みのiPhoneで実行します。新しい開発環境でビルドしたものはキーボードやスイッチなどがiOS 7のフラットデザインになりますが、古い開発環境でビルドしたものはiOS 7で実行しているにも関わらず以前のデザインで画面表示されます。
*2: iOSアプリの開発環境は「Xcode」と呼ばれています。「新しい開発環境」としてXcode 5.0(iOS SDK 7.0)、「古い開発環境」としてXcode 4.6.3(iOS SDK 6.1)を使用しました。Mac自身のOSはOS X Mountain Lion(10.8.5)です。
古い開発環境でビルドされたアプリはiOS 6以前のデザインを前提に作られている(=iOS 7のデザインを単純に適用すると矛盾や不都合が発生する)可能性が高いことを考えれば、過去互換性を考慮した妥当な仕様と言えます。
【新しい開発環境でもiOS 6以前での表示に配慮できる】
一方で、iOS 7に対応した開発環境では、iOS 7以降とiOS 6以前でアイコンや起動時に表示される画像を別個に設定することができます。この仕様も以前のデザインと新しいデザインが中途半端に混じることがないように配慮された、デザインにこだわるAppleらしい仕様といえます。ただこのようなサポート機能があるとはいえ、実際にiOS 7以降とiOS 6以前の両方で矛盾のない画面デザインを実現するためには、アプリ開発者の配慮が最も重要になるのは言うまでもありません。
iOS 7(写真=左)とiOS 6(写真=右)で別デザインのアイコンを設定できる
今回はiOS 7に残っている古いデザインの画面表示について紹介しました。アプリのiOS 7対応が進めば古いデザインの画面表示は次第に新しいフラットデザインに置き換わっていくことになりますが、当面の間は同じiPhoneの画面上で新旧のデザインが混在することになりそうです。
■関連リンク
・エスマックス(S-MAX)
・エスマックス(S-MAX) smaxjp on Twitter
・S-MAX - Facebookページ
・連載『吉川英一の「スマホのちょっと深いとこ」』記事一覧 - S-MAX
・今日の気分はバリいくつ?