今年もアドカレはじまるよ!
ジョブカン事業部の @_naotti_ です!
2025年も弊事業部のエンジニアでアドカレ盛り上げていきます!
昨年に引き続き今年も私がアドカレの旗振りを担当しているのですが、なんと今年はアドカレ実施の宣言をしてから1週間も経たないうちに全日程が執筆エントリーで埋まりました!
アウトプット文化に前向きなエンジニアが多くて旗振り冥利に尽きます![]()
追記:シリーズ2を解禁しました!
では早速始めていきましょう!
たまにはエンジニアっぽい記事を
現職では開発組織の内外で遊撃的な職務を担当していますが、もともとはアプリケーションエンジニア出身です。
若手エンジニアだったころ、大手企業のモバイルアプリ開発をディレクションしたことがきっかけでその奥深さを知り、その後、自社プロダクトのiOSアプリ開発をほぼ単独で担当しました。ざっと数えても10以上のiOSアプリを開発しており、その中にはモバイル業界のステキな賞を受賞したり、メディアに取り上げていただいたアプリもあります。
今は便利ツールをGASで書いたりする程度しかコードに触れる機会はないのですが、とはいえエンジニアキャリアの大半を捧げたiOSアプリ開発にはやはり思い入れがあります。
そんな私にとって、2025年はちょっと驚きがありました。「Liquid Glass」の発表です。
iOSのビジュアルインターフェースが大きく刷新されるのは約12年ぶりです。ここ数年はWWDCや新製品を見ても刺激を感じることは少なかったのですが、久しぶりにiOSアプリ開発界隈の動向が気になり始めました...!
そこで今回は、iOSアプリ開発の変遷を振り返りながら、今日の優れたモバイル体験の礎となった数々の出来事を紹介しようと思います。当時の開発で苦労した点や工夫した点も思い出しながら書き記しますので、同じ時代を駆け抜けたiOSアプリエンジニアや、iOSアプリ開発に興味のある方にお読みいただけますと幸いです。
iPhoneとiOS これまでの変遷
iPhoneもiOSも、数多くのリリースを経て現在の形になっています。
最近では片手に収まらないサイズの端末に複数のカメラがゴツっとハマりこんでいて、アプリコンテンツが画面いっぱいに広がるスタイルが主流ですが、iPhoneがリリースされてから今日にいたるまで、ハードウェアもソフトウェアも数多くの変化がありました。
早速振り返ってみましょう。
執筆内容の都合上、変遷のタイムラインが若干前後する場合がありますがご容赦ください。
2008年〜2010年 【黎明期】
意外にも、初代iPhoneは日本で発売されていません。
日本で最初に発売された端末は2008年のiPhone 3Gですので、iPhone 3G(3GS)が流通した2008年〜2010年が日本市場におけるiPhone黎明期に該当します。
スキューモーフィズム
当時のiOSは、立体感、素材感を重視したUIデザインになっています。
アイコンにはアプリの機能を連想させるイラストが使われ、ヘッダー、フッター、ボタンといった標準UIには必ず陰影が施されています。
このようなデザインは「スキューモーフィズム」と呼ばれています。
「画面をタッチしてアプリケーションを起動する」という慣れないUXに対し、実在するオブジェクトを簡潔かつ美しく再現する「スキューモーフィズム」の採用は、ユーザーの理解と行動を促進させるUIとして最適解だったと言えるでしょう。
このデザインは当時、スマートフォンのUIデザインの代名詞と言えるほど圧倒的に認知されました。
シンプルなUI開発
iPhone 3G(3GS)は、画面サイズ3.5インチ、アスペクト比2:3、解像度は非Retina(@1x)です。
複数の画面サイズやアスペクト比を考慮したAuto Layoutで実装する必要はなく、解像度別のアセット登録も不要です。現代のiOSアプリエンジニアにとっては夢のような環境です。
さらに、2010年にリリースされたXcodeにはIB(Interface Builder)が同梱されたので、xibファイルを使った直感的なUI開発も可能となりました。
この頃はAuto Layoutを意識せずにデザインできたので、複雑な制約や比率を使わずともIBで配置したとおりにViewが描画されました。
これ以降、画面サイズ と アスペクト比 と 解像度 は新しいiPhoneがリリースされるたびにバリエーションが増えるため、iOSアプリエンジニアの負担は指数関数的に重くなっていきます![]()
2010年〜2016年 【成長期】
日本にiPhoneが急速に普及し、モバイルアプリの需要が爆発的に伸びた時期です。
モバイルアプリ未提供のサービスは顧客離れが加速し、企業はこぞってアプリベンダーに開発を発注しました。この頃から「モバイルアプリエンジニア」という職種が一般化していきます。
この時期に初めてiPhoneを入手した、という若手エンジニアの方も多いのではないでしょうか。
ディスプレイの高解像度化
@2xの追加
iPhone 4は、iPhone 3G(3GS)と同じ3.5インチの画面サイズでありながら、解像度が縦横それぞれ2倍になりました。いわゆる「Retina」ですね。
解像度の高い画像を取り扱えるよう、iOSアプリの画像アセットに@2xという概念が追加されました。解像度の異なる同じ画像アセットをシンプルに取り扱うため、Xcode 5以降はAsset Catalogというアセット管理機能が付随しています。
高解像度の画像を1つ放り込むだけで自動的にAsset Catalog用の画像アセット群を出力してくれるような便利ツールには大変お世話になりました。
@3xの追加
iPhone 6 の上位機種として iPhone 6 Plus がラインナップされました。
ディスプレイは5.5インチと大型で、解像度はフルHDに向上。より高精細なグラフィックが要求されるため、通常の解像度の3倍にあたる@3xという概念が追加されました。
2025年現在も、画像アセットの解像度は@3xが最大です。
"Plus"シリーズの特徴は、後の"Pro"シリーズへと受け継がれていきます。
ディスプレイの大型化
iPhone 5やiPhone 6といった通常モデルの画面サイズは4.7インチが標準となり、上位機種となる"Plus"シリーズはさらに大きな5.5インチの大型モデルとしてリリースされました。
片手で操作できるUXが望まれるモバイルアプリの場合、コンテンツの配置を変更したり、操作領域を縮小するような対応が求められました。
本家iOSは、片手用キーボードや簡易アクセスなど片手操作をサポートする機能を後からリリースしています。
アスペクト比9:16の登場
iPhone 5以降、画面のアスペクト比が9:16の端末が立て続けにリリースされました。その数、なんと13モデル。黎明期のiPhoneユーザーが機種変更を検討する時期と噛み合い、機種のシェアに大きな変化が見られた時期でもあります。
アスペクト比のバリエーションが増えることで、iOSアプリのデザイナーとエンジニアには大きな負担が生じました。デザイナーは2:3の画面比率を前提としていたデザインを9:16向けに最適化せねばならず、エンジニアはデザイナーが描いた2:3と9:16のデザインを両立させる実装を求められました。
比率の違うデザインをコードで分岐して実現することは可能です。ただし、Viewの位置やサイズを制御するコードはViewControllerのライフサイクルを考慮しながら実行する必要があり、描画するコンテンツが多いアプリであればあるほどその処理は難解になります。
この問題を大きく解消したのが、Xcode 5で刷新されたAuto Layoutです。Viewの位置とサイズを制御するための制約(Constraint)を、IB上で直感的に設定できます。
画面サイズや画面比率のバリエーションが増えたものの、IBの機能が拡充されたことによって、以下の処理についてはコードをほとんど書かずに実現できるようになりました。
- 各Viewの位置とサイズの制御(Constraint)
- 各ViewとViewControllerの紐付け(Outlet)
- 各ViewController間の遷移(Segue)
ただし、Xcodeがレイアウト定義用の複雑怪奇で冗長なxmlをなぜか大量に変更を加えて自動生成するため、IBはソースコード管理の都合上あまり好まれない側面もありました。
フラットデザインへの移行
2013年に登場したiOS 7は、iPhoneユーザーはもちろん、デベロッパーにとっても強烈なインパクトのあるリリースでした。
「スキューモーフィズム」の立体感や素材感とはかけ離れた、ペラっとしたデザインが特徴の「フラットデザイン」は賛否両論で、「オモチャみたい」「伝わりにくい」といったネガティブな反応も一定数挙がっていました。
この時期に人気のあったiPhoneは、端末本体の薄さと画面解像度の高さが特徴です。カメラモジュールも本体と一体化していて、文字通り「フラット」なハードウェアでした。そういう意味で、「フラットデザイン」はハードウェアとソフトウェアの親和性を重視するAppleらしいリリースだったともいえます。
ただし、デベロッパーに課された負担は計り知れませんでした。
標準UI以外のデザインはほぼすべて修正対象。立体的なトランジションエフェクトや階層を扱うツリーオブジェクトなど、奥行きを感じさせる表現も適宜見直しが必要です。当時、電子書籍のモバイルアプリをディレクションしていた私は、「本棚」「書籍」「ページ」といった立体的に扱われるオブジェクトを、いかに短期間でフラット化させるか、デザイナーと日夜頭を悩ませた記憶があります。
iPhoneが一部のガジェットギークの所有欲を満たす「嗜好品」から、老若男女問わず一般所有される「マストアイテム」に変わりつつあるタイミングでのリリースだったことを考えると、視認性と可読性を向上させる「フラットデザイン」の導入は新規ユーザーの獲得に大きく貢献したと思われます。
Objective-CからSwiftへ
当時のiOSアプリエンジニアに激震が走った出来事は、間違いなく「Swift」の登場でしょう。
「Swift」が登場するまで、iOSアプリの開発といえば「Objective-C」が主流でした。Mac OSの元祖といえる「NeXTSTEP(ネクストステップ)」の開発に使われた言語です。オブジェクト指向ではあるものの独特な記法が特徴で、初学者はしばらくの間公式リファレンスが手放せないクセ強な言語としても有名です。(NSString や NSArray といった"NS"プレフィクスを指が覚えているiOSアプリエンジニアも多いと思います)
そんな「Objective-C」に代わる存在として生み出された「Swift」は、Bridging-Headerによるスムーズな移行や、optional型やguard文の導入など、開発体験の改善が随所に感じられる新しいプログラミング言語でした。
その後、「Swift」を利用することを前提としてUI実装を効率化する仕組みも整備され、iOS開発のモダナイゼーションは加速していきます。
2017年〜現在 【成熟期】
Webアプリとモバイルアプリの境界が曖昧になっているのが【成熟期】の特徴です。
Webアプリのリッチ化が進むのに対し、モバイルアプリは低コストで運用できるクロスプラットフォーム開発を採用するケースが増えています。ネイティブならではのユーザー体験が薄れてしまい、Webとの差別化が難しくなり、より境界が曖昧になっていく循環が見られます。
また、iPhoneの進化も頭打ちの様相が見え始めており、カメラ性能やAI(Apple Intelligence)以外でユーザーの購買意欲を強力に惹き付ける魅力は感じられません。
それでも、モバイルアプリには新たな常識、体験、世界が生まれ、デベロッパーはあれこれ頭を悩ませながら追従していきます。
アスペクト比1:2の登場
2017年に発売されたiPhone X以降、iPhoneシリーズはアスペクト比が1:2のモデルを中心にリリースされます。
アスペクト比のバリエーションが3種類(2:3、9:16、1:2)に増えたものの、以下の理由から以前より開発インパクトは大きくなかった印象です。
- アスペクト比が2:3の端末は市場からほぼ姿を消していた
- 2:3 と 9:16 を両立させるための対応が、ある程度は 1:2 でも動作した
ただし、iPad向けに最適化されていないiOSアプリは、iPad上では2:3のiPhone互換モードで表示されてしまうため、iPadユーザーの多いiOSアプリは結局3種類のアスペクト比に対応させる必要がありました。(素直にiPad対応するのが吉です)
フルスクリーン端末固有の対応
アスペクト比よりも厄介だったのが、「角丸」「ノッチ」「ホームインジケーター」です。
それぞれ振り返ります。
角丸
iPhone Xは以前のiPhoneシリーズと異なり、端末の四隅ギリギリまで液晶が搭載されています。そのため、MainViewの四隅ギリギリに配置されたデザインは見切れてしまいます。
特にヘッダーやフッターは長方形であることを前提にデザインされることが多いため、角丸で見切れてしまうだけで、デザイナーの想定していたビジュアルと大きくイメージが乖離します。
ノッチ
個人的に、iPhone Xへの対応で最も悩まされたのが「ノッチ(切り欠き)」です。
画面の最上部かつ中心部だけ描画されないという驚天動地の仕様が追加されたため、アスペクト比1:2への対応だけではデザインが最適化されないケースが多く、ノッチ対策が急務でした。
ホームインジケーター
画面下部に表示されるバーで、従来のホームボタンに代わるUIです。
ホーム画面への遷移やアプリの切り替えなど、iPhoneの基本操作にアクセスできます。
ホームインジケーターはViewの上に重なる形で表示されるため、一部のデザインを隠してしまいます。画面下部にはフッターなどの固定要素が配置されることも多いので、ノッチ同様に対策が必要となります。
横向き
端末を横に向けた場合、ノッチが左に来る場合と右に来る場合で画面の見た目が変わります。
ノッチが左に来る場合(UIDeviceOrientation.landscapeLeft)はViewの左側のデザインがノッチの影響を受け、ノッチが右側に来る場合(UIDeviceOrientation.landscapeRight)はViewの右側のデザインがノッチの影響を受けます。
解決策(Safe area)
Appleは、これらの仕様変更に対応するための概念「Safe area」を追加しました。
「Safe area」と呼ばれる領域の中でデザインを組むことで、角丸、ノッチ、ホームインジケーターの影響を受けずにUIを実装することができます。
この概念が誕生してから、デザイナーは「Safe area」を意識したデザインを行い、エンジニアはViewの位置とサイズを計算するロジックに「Safe area」を含むかどうかを考慮するステップが増えました。
ダークモード
2019年に発表された「ダークモード」も、デベロッパーにとって大きな衝撃でした。
- どのようなデザインが「ダークモード」らしいのか
- HIGに定義されているカラーパレットと親和性はあるか
- 企業やサービスのブランディングデザインと両立できるのか
ライトモードとダークモードそれぞれの設定において適切なデザインレギュレーションを策定する必要が生じ、クライアントやプロダクトオーナーとともに頭を悩ませたデザイナーも多かったことと思います。
工数が単純に倍化するだけではすまないため、当初はライトモード固定にして暫定対応するケースもありました。
<key>UIUserInterfaceStyle</key>
<string>Light</string>
ダイナミックアイランド
TrueDepthカメラの領域を使い文字通りダイナミックなアプリ体験を提供する「ダイナミックアイランド」は、ノッチと違ってアプリの一部として役割が期待される領域です。
とはいえ好きなデザインを反映したり、何でも自由に表現できるわけではありません。あくまでもアプリの情報の一部を表示・操作できるだけのインターフェースです。
画面の一部を隠すだけだったノッチと違いアプリ体験の向上に繋がる仕様ですが、表現の制約が多い領域なので、積極的に対応している事例はあまり見かけません。
「iOSの最新仕様に追従しているアプリです!」というアピールにはなりそうです。
Liquid Glass
そして2025年に発表されたのが「Liquid Glass」ですね。
冒頭に書いた通り、約12年ぶりとなるビジュアルインターフェースの更新です。
以前からiOSは一部のUIにすりガラスを模した「グラスモーフィズム」を採用していましたが、「Liquid Glass」は実際のガラスの特性を追求しているとのことです。
「フラットデザイン」というビジュアルインターフェースに「Liquid Glass」のUIが重なるイメージですね。「Liquid Glass」に立体感があるため、一見するとフラットなのか立体なのか曖昧な感じがしますが、カメラ性能を重視するがゆえにハードウェアが非フラットになってしまった直近のiPhoneとの親和性を意識しているのかもしれません。
こういった透明感のあるUIからは、Windows Vistaリリース当初のWindows Aero (の酷評) が思い出されます。
また、黎明期の「スキューモーフィズム」に回帰しているという解釈もできるので、「Liquid Glass」がどこまでユーザーに受け入れられ、定着していくか注目です。
振り返ってみて
iOSアプリは、Appleの発表やHIGの更新にともなって迅速にアップデートを実施する必要があり、その都度デザイナーやエンジニアは新たなレギュレーションへの適合に苦労しています。一方で、AppleはAppleで他社には思いつかないような新しい常識、体験、世界を創り出すことに心血を注いでいるはずです。
Appleとデベロッパーが、この取り組みを10年以上続けて今日のiOS体験に繋がっていると思うと、やはり感慨深いものがあり、今後の展開も楽しみな気持ちになります。
モバイルアプリは、現代人が毎日何時間も利用している「相棒」のようなソフトウェアです。高いハードウェア性能を活かし、ブラウザでは再現できない体験を提供できる面白さはモバイルアプリならではの醍醐味だなと感じます!
ご興味ある方はぜひ挑戦してみてください!
仲間を大募集中!
DONUTSでは、新卒中途を問わず積極的に採用活動を行っています!
モバイルアプリはもちろん、Webエンジニア、インフラエンジニア、QAエンジニアなど、Web系プロダクトに関わるポジションを数多くご用意しています!
自社プロダクトの開発で腕を奮いたい方、顧客への価値提供にやりがいを感じたい方、ぜひご応募ください!
ジョブカン事業部のエンジニア募集はこちらです!







