クックパッドの事業開発部でiOSエンジニアをしている角田(id:muchan611)です。普段はクックパッドiOSアプリの検索に関する機能を開発しています。 クックパッドの基本的な機能のひとつである「つくれぽ」を表示する「つくれぽ詳細画面」を、UICollectionViewCompositionalLayoutやUICollectionViewDiffableDataSourceを使って実装したので、その過程や実装方針についてご紹介します。 背景 つくれぽとは、クックパッドのレシピを見て料理をした人が、その料理を他の人におすすめするために投稿するもので、検索ユーザーはつくれぽ通してレシピを探せるようになっています。 事業開発部では「つくれぽからレシピを決める」体験を増やす取組みを行っていますが、各施策の方針を決定するために、多くのユーザーインタビュー(※)や数値分析を実施し判断材料を得て
こんにちは。クックパッド事業本部 買物サービス開発部の藤坂(@yujif_)です。 2020年10月にクックパッド iOS アプリで「買い物機能」をリリースしました。今回はこの新機能の開発にあたって考えたことや取り組みについてご紹介します。 買い物機能とは レシピから買い物へ 買い物からレシピへ 実は SwiftUI で作られている 技術選定の背景 1. 本番で早く検証し、サービス開発の効率を上げたい 実生活の中で使って発見を増やす UI の「作って壊し」をやりやすく 2. SwiftUI のリスクを抑えつつ導入できる見込みがあった クックパッド iOS アプリでは 2メジャーバージョンをサポート 機能・画面単位で切り分けやすいアーキテクチャ 【方針】View 層のみで SwiftUI を部分的に導入する 実装 既存のVIPER アーキテクチャへの SwiftUI の組み込み UIView
iOS14の新機能、AppClip。なんかあのにゅっとでてくるやつです。 対応しているアプリをあまり見かけないので実装してみました。 是非、実際の端末で動かしてみてください。 実装 どうやって実装するのかの情報はWWDCでもでていましたが、どんなタイミングでどう動くのかは、実際に動くアプリで試してみたいですよね。 動作確認用に使っている個人アプリで試してみました。 AppClip 起動トリガー WWDCで説明されていた起動トリガーはこの7種類。 URL Smart App Banner (App Clip用) (普通の)QRコード (Apple独自の)QRコード NFC Map 場所 まずはURLから……といいたいところなのですが、実は私の手元では、AppClipが(安定して)起動していないんですよね。 ちょっとほかの起動トリガーから見てみましょう。 Smart App Banner。 下
QAエンジニアの@rinaです。 今回は、メルカリがおこなっているiOSとAndroidのアプリリリース(メルカリではClient releaseと呼んでいます。以下、Client releaseと表示します)を支えるRelease trainという仕組みとプロセスについて紹介します。 Release train導入の目的と背景 メルカリはRelease trainを導入し、Client releaseを月に2回程度おこなっています。 Release trainを導入する前のリリースでは以下の問題を抱えていました。 ある機能の開発が間に合わなかった場合に、すでに決まっていたリリース日を延長する。 あるいは、新たな追加のリリース日を設定する。 リリースまでの締め切りがはっきりしないまま機能が追加され、その結果、QAによる品質確認が十分でないまま見切りリリースされることがある。 さらに、開発組
更新情報 2019/08/28: 初版公開 2020/11/25: 各項目について現在の状況を追記 ⚓ はじめに こんにちは、主にiOSアプリの開発を担当している川島と申します。 iOS 13のリリースが間近に迫りつつあり、またWWDC2019ではSwiftUIを始めとした新しいツール等の発表、ARKit2やCombineフレームワークなどの発表などにより、昨今のiOS界隈が盛り上がりを見せています。 そうした新しいツールや技術が登場する反面、Appleはバッサリとした互換切りや新技術への対応を短期間で強いる傾向にあり、既存プロジェクトの保守などをしているiOSアプリエンジニアはこの時期に頭を悩ませる人が多いのではないでしょうか。 2年前のSafeArea対応なんかは記憶に新しいですね。 今年もそうした「〇〇対応が必須」のような情報はチラホラと聞きますが、断片的な情報が多い印象です。 この
こんにちは。モバイル基盤部の@giginetです。平成最後のエントリを担当させていただきます。 iOSアプリの開発では、Xcodeが生成するプロジェクトファイルである、*.xcodeprojをリポジトリで共有するのが一般的です。 しかし、この運用は大規模なプロジェクトになるほど、数多くの課題が発生します。 クックパッドiOSアプリは巨大なプロジェクトであり、通常の*.xcodeprojによる管理には限界が生じていました。 そこで、昨年秋にXcodeGenというユーティリティを導入し、プロジェクト管理を改善したので、その知見をお伝えします。 従来のプロジェクト管理の問題点 ファイル追加の度にコンフリクトが発生する *.xcodeprojファイルはプロジェクトに含まれるソースファイルの管理を行っています。 開発者がプロジェクトにファイルを追加すると、このプロジェクトファイルが更新されることにな
2019年2月27日、恵比寿ガーデンプレイスザ・ガーデンホールにて、「Cookpad TechConf 2019」が開催されました。Cookpadのエンジニアやデザイナーがどのようにサービス開発に取り組んでいるのか、またその過程で得た技術的知見について公開します。プレゼンテーション「〜霞が関〜 クックパッドiOSアプリの破壊と創造、そして未来」に登壇したのは、クックパッド株式会社エンジニアの三木康暉氏。講演資料はこちら クックパッドiOSアプリの破壊と創造、そして未来 三木康暉氏:こんにちは、「@giginet」です。今日は、クックパッドのiOSアプリを例に、巨大で歴史のあるアプリの開発効率をどうやって改善していくかというお話をします。どうぞよろしくお願いします。 (会場拍手) クックパッドのiOSアプリは多くのユーザーさんがいらっしゃる一方で、巨大で歴史のあるアプリです。最初のコミットは
ポジション MSがRNめっちゃ使ってるという話について Brownfield事例は実質的にネイティブの事例 Skypeの事例ならどうなのか ネイティブアプリ開発者の仕事は減るのか まとめ みんなの反応 Xamarin勢の反応 Cordova勢の反応 iOSネイティブアプリ開発者の反応 jp.techcrunch.com こちらの記事への雑な感想です。感想は私の主観であり、ポジショントークであり、所属する組織の意見とは無関係であることを先に述べておきます。 また「ネイティブ」という言葉に「C/C++などから作られた機械語」という本来の意味に加えて、「プラットフォームの標準言語(WindowsのC#, AndroidのJava, iOSのObj-C)や標準開発ツールである」というニュアンスを含めることをご容赦ください。 ポジション こんな感じのポジションの人です。 中小企業向けにBtoBでアプ
『メルカリ』 アプリの画面描画を高速化する技術、バックエンド・iOS・Androidの基本設計 多くのユーザーに愛されるフリマアプリ『メルカリ』ですが、そのスムーズな画面描画はどのような技術で生み出されているのでしょうか。同アプリの高速表示の秘密を、バックエンド、iOS、Androidの3方向からメルカリ社のエンジニア4人に聞きました。 バックエンドの高速化を支える技術 【Tips1】 画像のファイルサイズを最適化し、アプリ全体の通信量を抑える 【Tips2】データセンター間通信のレイテンシを抑える 【Tips3】アプリのありとあらゆる挙動を常にモニタリングする iOSアプリの高速化を支える技術 【Tips4】Objective-CからSwiftへの移行 & アーキテクチャの刷新 【Tips5】『UIStackView』を活用し、UIの描画をより滑らかにする Androidアプリの高速化を
iOSDC Japan 2018 に採択されたトーク「iOSエンジニアが知るべきProgressive Web Apps開発のエッセンス」のブログ版記事です。 CfP提出後に内容は二転三転しまして、当初は最新Web開発事情について技術的に突っ込んだ内容にしようと目論んでいたのですが、「iOSエンジニア」へ「伝えたいこと」という軸で作っているうちにこの内容に落ち着きました。 当日聞きに来てくださった方、声をかけていただいた方。このような場を下さったiOSDCスタッフの方々にはたいへん感謝しています。 Introduction📛 昨年末 SafariにService Workersが実装され「iOSがPWAをサポートした」というニュースが業界内で話題になりました。 (※Progressive Web Apps 以降 PWA という略称で話します) この時話題になっていたSafariのPWAサ
こんにちは、技術部モバイル基盤グループの茂呂(@slightair)です。 先日のiOSDCは大盛況でしたね。とても楽しく、実りあるカンファレンスでした。この記事で僕は ididblog! ということにしようと思っています 😋 クックパッドからは @giginet と僕の二人が登壇しました。発表を聞きに来ていただいた方はありがとうございました。 @giginet の 詳解Fastfile という発表中でさらっと話された、”毎週自動的にリリースされる”という言葉が気になった方はいるのではないでしょうか。実はこのリリースフローについての話もプロポーザルに出していたのです(もっともっと細かくリリースをしてユーザーに最速で価値を届けるためのリリースフロー)。 この記事ではこのリリースフローについての話をしたいと思います。 クックパッドアプリの開発体制 クックパッドアプリの開発体制は人数の変動はあ
フェンリルのプロダクトSleipnir タブの切り替えさえも1フリックで片付く。 最速タブのモバイルブラウザ。 日本放送協会NHK ニュース・防災 ニュースや災害情報、防災に役立つ 情報などをいち早く届ける、NHKの公式アプリ。 フェンリルのプロダクトNILTO 磨き込まれたインターフェースで、 チームの理想を実現するヘッドレスCMS。 九州旅客鉄道株式会社 JR九州コンサルタンツ株式会社トンネル検査支援アプリ トンネル検査の省力化と 精度向上を目的としたアプリ。 東海旅客鉄道株式会社EX アプリ 新幹線の指定席予約、変更等が行える 「エクスプレス予約」「スマート EX」の公式アプリ フェンリルのプロダクトBrushup イラスト・写真・動画などのレビューを効率化。 高速コミュニケーションツール。 株式会社クボタKubota-PAD4.0 株式会社クボタがグローバルで展開する 農業機械、建
アーキテクチャ設計のすべてを濃縮! すべてのiOSアプリ開発者が待ち望んでいた、アプリケーション・アーキテクチャ解説本の執筆プロジェクト! 近年ますます大規模&複雑化しているiOSアプリ開発において、今求められているのは「アプリをどう設計するか」 「アーキテクチャをどのように設計すれば、将来に渡って安心してメンテナンスできるアプリを実現できるか」への解です。 本書は、古典的MVCから最新のFlux/Reduxまで、現代のiOSアプリで使われているアーキテクチャをまるごと詳解します。 また、第一線の開発者による導入事例も紹介します。 今からアプリ開発を始める方にとっての聖典に、ベテラン開発者にとっての補完書となることでしょう。 ぜひ皆さんの応援でプロジェクトを成立させてください!
ARKit 2.0では、「画像トラッキング」という新機能が加わりました。既知の2次元画像を検出・トラッキングできるので、ポスター等の現実世界に存在する2D画像を基盤にしてAR体験を開始することができるようになる、というものです。これを聞いて「あれ、その機能、既になかったっけ」と思った方もいたのではないでしょうか。 その既視感はある意味では正しく、ARKit 1.5で既に「画像検出」という機能が追加されています。 では、これらはどう違うのでしょうか?ARKit 1.5の画像検出機能を強化したものが2.0の画像トラッキングで、リプレースされたのでしょうか。それとも別々の機能として共存しているのでしょうか。 結論としては後者で、それぞれ強みを持つ別々の機能として共存しています。 コンフィギュレーションの違い まず実装面でみると、ARKit 1.5で搭載された画像検出は、検出対象とするリファレンス
Aug 12, 2018 少し前に、自分のStoryboardの使い方をツイートしたら割と反応があったので、改めてまとめてみようと思います。これまで何年かiOSアプリの開発をしてきて、Storyboardとの付き合い方は何度も変わりました。なので、今回紹介するものはあくまで2018年現在のもので、来年には変わっているかもしれません。 説明のイメージを掴みやすくするため、画面の例を用意しました。左が編集時のStoryboardで、右が実行時のiOSシミュレーターです。具体的なトピックが出た時に、この例を説明に使うことがあります。 記事の最後にこれが動作するサンプルコードも用意しましたので、興味があればどうぞ。 Storyboardを使う目的 以下の2つを重視して、Storyboardを選択しています。 動作確認に掛かる時間を短縮する 成果物の構造を把握しやすくする ただし、Storyboar
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く