Facebook 社員の Jonathan Dann 氏は、同社の iOS エンジニアリング チームが以前の Facebook for iPhone アプリをどのように設計したか、また新しい Facebook 5.0 アプリを書き直すために必要だった膨大なコーディングについて詳しく説明するブログ記事を執筆しました。
この記事は部分的に少し技術的な内容ですが、最も人気のある iPhone アプリの 1 つがどのように作られるかに関心のある開発者やその他の人にとっては一読の価値があります。
抜粋:
ネイティブiOSをベースに開発することで得られた最大のメリットの一つは、アプリの高速化です。新しいiOS版Facebookでニュースフィードをスクロールすると、以前よりもはるかに高速に感じられるでしょう。この高速化を実現した方法の一つは、特定のタスクの実行場所のバランスを再調整したことです。例えば、iOSではメインスレッドがUIを駆動し、タッチイベントを処理します。そのため、メインスレッドでの処理が増えるほど、アプリの動作が遅く感じられます。そこで、計算負荷の高いタスクはバックグラウンドで実行するようにしました。つまり、ネットワーク処理、JSON解析、NSManagedObjectの作成、ディスクへの保存といったすべての処理は、メインスレッドを介さずに実行されます。
別の例を挙げると、多くの文字列のレイアウトにCore Textを使用していますが、レイアウト計算がすぐにボトルネックになることがあります。新しいiOSアプリでは、新しいコンテンツをダウンロードする際に、すべての文字列のサイズを非同期的に計算し、CTFramesetter(作成コストが高くなる場合があります)をキャッシュします。そして、これらの計算結果を、後でUITableViewにストーリーを表示する際に使用します。
最後に、iOS版Facebookを起動した際に、読み込みスピナーではなくニュースフィードが表示されるようにしたいというご要望がありました。最高のユーザー体験を提供するために、以前キャッシュされたコンテンツを即座に表示するようになりました。しかし、これにより新たな問題が発生します。ニュースフィードに多数の記事がある場合、UITableViewは各記事のスクロールバーの高さを計算するために、デリゲートメソッド -tableView:heightForRowAtIndexPath: を呼び出すことで、処理に小さな支障をきたします。その結果、アプリは記事の高さを返すためだけに、ディスクからすべての記事データを読み込み、記事全体のレイアウトを計算することになります。つまり、記事が増えるにつれて起動が徐々に遅くなるということです。
この問題の解決策は主に2つあります。まず、初期の非同期レイアウト計算を行う際に、ストーリーの高さもCore Dataに保存します。これにより、-tableView:heightForRowAtIndexPath: でのレイアウト計算が完全に回避されます。次に、「ストーリー」モデルオブジェクトを分割しました。起動時にディスクから取得するのは、ストーリーの高さ(とその他のいくつかの情報)のみです。その後、残りのストーリーデータを取得し、以降のレイアウト計算はすべて非同期で実行されます。
人気のストーリー
iOS 26.1からiOS 26.4では、iPhoneに以下の新機能が追加されます
2025年10月1日水曜日午後1時26分(PDT)ジョー・ロシニョール
iOS 26は先月リリースされましたが、ソフトウェアの進化は止まることなく、iOS 26.1のベータテストはすでに開始されています。iOS 26.1では、Apple Intelligenceと対応AirPodsのライブ翻訳が追加の言語で利用可能になったほか、Apple Music、カレンダー、写真、Safariにもいくつかの小さな変更が加えられています。今後のバージョンでは、さらに多くの機能と変更が予定されています。
ガーマン氏:ジョン・ターナス氏が次期CEOに就任し、アップルの経営陣の大刷新が迫る
ブルームバーグのマーク・ガーマン記者によると、アップルは10年以上ぶりの大規模な経営陣交代を迎えている。複数の上級幹部が退任の準備を進め、CEOのティム・クック氏が次世代のリーダー育成に着手している。ガーマン氏は自身のニュースレター「Power On」の最新号で、数年にわたりクック氏の後継者候補と目されていたジェフ・ウィリアムズ氏が…
新型iPhoneの需要は1機種を除いて「予想を上回る」
2025年10月2日木曜日午前7時26分(PDT)ジョー・ロシニョール
iPhone 17シリーズの発売から約2週間後、投資銀行モルガン・スタンレーのアナリストは、Appleのオンラインストアにおける出荷予定の延長とAppleのサプライチェーンから収集した情報に基づき、同機種の需要は「当初の予想よりもやや強まっている」と述べた。iPhone 17、iPhone 17 Pro、…の初期需要は堅調だった。
iOS 26ではiPhoneに200以上の新機能と変更点が追加されます
2025年10月4日土曜日午前8時19分(太平洋夏時間)ジョー・ロシニョール
Appleのウェブサイトでは、先月リリースされたソフトウェアアップデートに含まれる約200の新機能と変更点(PDFファイル)のリストが公開されています。AppleはiPadOS 26とmacOS Tahoeについても同様のリストを公開しています。iOS 26はiPhone 11以降と互換性があります。アップデートをインストールするには、iPhoneの設定アプリを開き、「一般」をタップし、「ソフトウェアアップデート」をタップしてください。以下に、特に注目すべき8つの機能をご紹介します。
Apple、iOS 26.1でアラームを修正
2025年10月6日月曜日午前11時56分PDT ジュリ・クローバー
iOS 26.1のベータ2で、AppleはiPhoneに設定されているアラームのデザインを更新し、以前よりも解除しにくくなりました。iOS 26.1ベータ2では、アラームを停止するには、単純なタップではなく、新しい「スライドして停止」ジェスチャーが必要になります。アラームをスヌーズするには引き続きタップできますが、完全にオフにするにはスワイプする必要があります。タップからスライドジェスチャーへの移行は…
iPad Mini 8が近日登場:予想される機能とリリーススケジュール
2025年10月6日月曜日午前5時05分PDT ティム・ハードウィック
ブルームバーグのマーク・ガーマン氏によると、新型iPad miniは「間違いなく」登場する。では、Appleが1年前に発売したiPad mini 7の後継機には何が期待できるのだろうか? プロセッサとパフォーマンス Appleは、A19 Proチップを搭載した次世代iPad mini(コードネームJ510/J511)を開発中であることが、Appleが誤って公開したコードから発見された情報から明らかになった。
Apple、iCloudストレージを有料利用するiPhoneユーザー向けの5つの特典を発表
Appleは先月新型iPhoneを発売した後、サービス収益の拡大を目指し、ホームページに目立つバナーを掲載してiCloud+のプロモーションを行っています。iCloud+のすべてのプランには、ストレージ容量の増加に加え、iPhoneユーザー向けの5つの特典が含まれています。ちなみに、iCloudには5GBのストレージが無料で含まれています。追加のストレージが必要な場合は、iCloud+プランに加入する必要があります。米国では、価格は…
M5 MacBook Air:発売日、機能、パフォーマンス予測
2025年10月3日金曜日午前3時39分PDT ティム・ハードウィック
MacBook AirはAppleの最も人気のあるノートパソコンです。薄型でファンレス、そしてAppleシリコンの効率性により静音性に優れたマシンです。M4モデルはそれほど古いモデルではありませんが、すでに後継機に注目が集まっています。Appleは新製品の発売を事前に発表することはありませんが、Appleのシリコンロードマップを見れば、今後の展開を驚くほど明確に予想することができます。