Slide 1

Slide 1 text

© 2022 Cookpad Inc. Cookpad Summer Internship 2022 iOS App
 2022/08/16


Slide 2

Slide 2 text

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


Slide 3

Slide 3 text

本日の講師・TAの紹介
 © 2022 Cookpad Inc. 3

Slide 4

Slide 4 text

© 2022 Cookpad Inc. 4 講師: Yuki Miida
 ● レシピサービス開発部所属
 ● クックパッドのiOSアプリを開発してます 
 ● 毎日緑茶を飲んでます🍵


Slide 5

Slide 5 text

© 2022 Cookpad Inc. 5 TA: 大川 葵(Aoi Okawa)
 ● 買物プロダクト開発部
 ● クックパッドマートのiOSアプリを開発してい ます
 ● イーブイが好きです


Slide 6

Slide 6 text

© 2022 Cookpad Inc. 6 TA: 松下 廉(まつした れん) 
 ● 買物サービス開発部・メディアプロダクト開 発部
 ● クックパッドの買物機能の企画・iOSアプリ 実装・Makerstownの企画
 ● 音楽が好き🥁


Slide 7

Slide 7 text

よろしくお願いします!
 © 2022 Cookpad Inc. 7

Slide 8

Slide 8 text

今日のiOS講義と明日のサーバーサイド講義
 について
 © 2022 Cookpad Inc. 8

Slide 9

Slide 9 text

© 2022 Cookpad Inc. 9 ● 「MiniCookpad」というクックパッドのレシピアプリの簡易版を作ります。 
 ● 1日目のiOSの講義では、レシピ一覧、レシピ詳細、ハッシュタグ追加画面の3画面から構成され るiOSアプリを SwiftUI で開発します 
 ● 2日目のサーバーサイドの講義では、2つのサービスを束ねる API(BFF)を作り、アプリ側から使 いやすい API を開発します
 2日間の講義は連続しています


Slide 10

Slide 10 text

今日のiOSの講義
 © 2022 Cookpad Inc. 10

Slide 11

Slide 11 text

© 2022 Cookpad Inc. 11 MiniCookpad iOSアプリを作る!


Slide 12

Slide 12 text

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


Slide 13

Slide 13 text

● 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 タイムテーブル(休憩は適宜とります)


Slide 14

Slide 14 text

● 15:00くらいまでは、講義&適宜ハンズオンをしながら一緒に開発を進めます 
 ● その後は、いくつか課題を用意しているので各自で考えて開発を行っていただきます 
 ● 講義中に質問や知りたいことがあれば、遠慮なく聞いてください! 
 ● 話してる途中でも全く問題ないので、わからないこと・知りたいことは手を挙げてどんどん聞きま しょう
 ● ハンズオンや課題でうまくいかないところがあれば、講師やTAを呼んで適宜助けてもらってくだ さい
 © 2022 Cookpad Inc. 14 進め方


Slide 15

Slide 15 text

iOSアプリ開発の基礎知識
 © 2022 Cookpad Inc. 15

Slide 16

Slide 16 text

● iOSアプリとは、iOSが動く端末(iPhone)で動作するアプリケーションのこと 
 ● macOS 上で動作する Xcode という IDE を使って開発を行う 
 ● プログラミング言語は主に Swift を使って開発する 
 ● UIフレームワークとして UIKit ・ SwiftUI の2種類が提供されている 
 © 2022 Cookpad Inc. 16 iOSアプリ開発の基礎知識
 


Slide 17

Slide 17 text

● Apple が開発し、2014年に発表されたプログラミング言語 
 ● Swift 5.6 が現在の最新バージョン(Swift 5.7 も既に発表されている) 
 ● 現在の iOS アプリ開発は、 Swift を使って開発することがスタンダードになっている 
 © 2022 Cookpad Inc. 17 Swift
 


Slide 18

Slide 18 text

● iOSアプリの開発が一般の開発者に開放された iOS3 の頃から提供されている UI フレームワー ク
 ● SwiftUI 登場以前は UI フレームワークは UIKit 一択だった 
 ● SwiftUI 登場以降も新機能が発表されるなど、発展を続けている 
 © 2022 Cookpad Inc. 18 UIKit
 


Slide 19

Slide 19 text

● 2019年に発表された新しい UI フレームワーク 
 ● 宣言型シンタックスで、シンプルで読みやすい記述が特徴 
 ● Xcode Previews というリアルタイムに変更を確認できるプレビューが提供されている 
 ● まだ発展途上であり、UIKit に比べると不足している機能や一部不安定なところもある 
 ○ UIKit を SwiftUI から使うこともできる 
 © 2022 Cookpad Inc. 19 SwiftUI
 


Slide 20

Slide 20 text

今日の講義は
 Swift と SwiftUI を使って開発します!
 © 2022 Cookpad Inc. 20

Slide 21

Slide 21 text

Swift について学ぼう
 © 2022 Cookpad Inc. 21

Slide 22

Slide 22 text

● はじめに Swift というプログラミング言語についてざっと学んでいきましょう 
 ● Swift 5.6 時点の内容です
 ● より詳しく知りたい部分などは、公式サイトで確認しましょう 
 ○ https://www.swift.org/ 
 ● Playground を使って Swift のコードをインタラクティブに実行しながら学んでいきます 
 © 2022 Cookpad Inc. 22 駆け足 Swift チュートリアル


Slide 23

Slide 23 text

次はいよいよ
 iOS アプリ開発をやっていきましょう!!
 © 2022 Cookpad Inc. 23

Slide 24

Slide 24 text

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


Slide 25

Slide 25 text

© 2022 Cookpad Inc. 25