Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cookpad Summer Internship 2022 iOS App

Yuki Miida
August 16, 2022
4k

Cookpad Summer Internship 2022 iOS App

Cookpad 2022年サマーインターンシップ 15-day Tech Course の iOS アプリ開発編の講義資料
https://internship.cookpad.jp/

Yuki Miida

August 16, 2022
Tweet

Transcript

  1. • 普段iOSアプリを開発している人 
 ◦ 改めてiOSアプリ開発に必要な知識を学び、OJTに向けての準備をする 
 • 普段iOSアプリ以外を開発している人 
 ◦

    iOSアプリ開発について学ぶことで、普段の開発に活かせる知見を得る 
 ◦ iOSアプリのWeb APIとの通信方法・取得したデータの表示方法を学び、どのようなAPIがア プリ側から使いやすいのかを理解する 
 © 2022 Cookpad Inc. 2 今日のゴール

  2. © 2022 Cookpad Inc. 4 講師: Yuki Miida
 • レシピサービス開発部所属


    • クックパッドのiOSアプリを開発してます 
 • 毎日緑茶を飲んでます🍵

  3. © 2022 Cookpad Inc. 5 TA: 大川 葵(Aoi Okawa)
 •

    買物プロダクト開発部
 • クックパッドマートのiOSアプリを開発してい ます
 • イーブイが好きです

  4. © 2022 Cookpad Inc. 6 TA: 松下 廉(まつした れん) 


    • 買物サービス開発部・メディアプロダクト開 発部
 • クックパッドの買物機能の企画・iOSアプリ 実装・Makerstownの企画
 • 音楽が好き🥁

  5. © 2022 Cookpad Inc. 9 • 「MiniCookpad」というクックパッドのレシピアプリの簡易版を作ります。 
 • 1日目のiOSの講義では、レシピ一覧、レシピ詳細、ハッシュタグ追加画面の3画面から構成され

    るiOSアプリを SwiftUI で開発します 
 • 2日目のサーバーサイドの講義では、2つのサービスを束ねる API(BFF)を作り、アプリ側から使 いやすい API を開発します
 2日間の講義は連続しています

  6. © 2022 Cookpad Inc. 12 1. iOSアプリの画面の作り方
 • SwiftUI を使った

    View の作成方法、画面遷移、状態管理など、SwiftUIによるiOSアプリ開 発の基礎を学びます
 2. WebAPIとの通信方法
 • * 今日の講義ではまだ BFF はありません! 
 ◦ アプリから2本のAPIを呼び出すことで必要なデータを取得します 
 • Swift 5.5 から追加された Swift Concurrency を使って、Swift での並行処理・非同期処理 の方法について学びます
 今日の講義で取り上げるトピック

  7. • 10:00〜11:00 自己紹介、講義の概要説明、iOSアプリ開発の基礎知識の説明 
 • 11:00〜12:00 講義&ハンズオン前半 
 • 12:00〜13:00

    ランチ
 • 13:00〜15:00 講義&ハンズオン後半 
 • 15:00〜17:30 課題に取り組む、課題解説 
 • 17:30〜17:50 2日目の準備(BFFと通信できるアプリのセットアップ・実装解説) 
 • 17:50〜18:00 ラップアップ
 © 2022 Cookpad Inc. 13 タイムテーブル(休憩は適宜とります)

  8. • 15:00くらいまでは、講義&適宜ハンズオンをしながら一緒に開発を進めます 
 • その後は、いくつか課題を用意しているので各自で考えて開発を行っていただきます 
 • 講義中に質問や知りたいことがあれば、遠慮なく聞いてください! 
 •

    話してる途中でも全く問題ないので、わからないこと・知りたいことは手を挙げてどんどん聞きま しょう
 • ハンズオンや課題でうまくいかないところがあれば、講師やTAを呼んで適宜助けてもらってくだ さい
 © 2022 Cookpad Inc. 14 進め方

  9. • iOSアプリとは、iOSが動く端末(iPhone)で動作するアプリケーションのこと 
 • macOS 上で動作する Xcode という IDE を使って開発を行う

    
 • プログラミング言語は主に Swift を使って開発する 
 • UIフレームワークとして UIKit ・ SwiftUI の2種類が提供されている 
 © 2022 Cookpad Inc. 16 iOSアプリ開発の基礎知識
 

  10. • Apple が開発し、2014年に発表されたプログラミング言語 
 • Swift 5.6 が現在の最新バージョン(Swift 5.7 も既に発表されている)

    
 • 現在の iOS アプリ開発は、 Swift を使って開発することがスタンダードになっている 
 © 2022 Cookpad Inc. 17 Swift
 

  11. • iOSアプリの開発が一般の開発者に開放された iOS3 の頃から提供されている UI フレームワー ク
 • SwiftUI 登場以前は

    UI フレームワークは UIKit 一択だった 
 • SwiftUI 登場以降も新機能が発表されるなど、発展を続けている 
 © 2022 Cookpad Inc. 18 UIKit
 

  12. • 2019年に発表された新しい UI フレームワーク 
 • 宣言型シンタックスで、シンプルで読みやすい記述が特徴 
 • Xcode

    Previews というリアルタイムに変更を確認できるプレビューが提供されている 
 • まだ発展途上であり、UIKit に比べると不足している機能や一部不安定なところもある 
 ◦ UIKit を SwiftUI から使うこともできる 
 © 2022 Cookpad Inc. 19 SwiftUI
 

  13. • はじめに Swift というプログラミング言語についてざっと学んでいきましょう 
 • Swift 5.6 時点の内容です
 •

    より詳しく知りたい部分などは、公式サイトで確認しましょう 
 ◦ https://www.swift.org/ 
 • Playground を使って Swift のコードをインタラクティブに実行しながら学んでいきます 
 © 2022 Cookpad Inc. 22 駆け足 Swift チュートリアル

  14. “Cookpad summer internship 2021 mobile app” from Masaru Ichikawa 


    https://www.slideshare.net/masaichisanjp/cookpad-summer-internship-2021-mobile-app 
 © 2022 Cookpad Inc. 24 参考資料