Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cookpad Summer Internship 2022 iOS App
Search
Yuki Miida
August 16, 2022
0
4k
Cookpad Summer Internship 2022 iOS App
Cookpad 2022年サマーインターンシップ 15-day Tech Course の iOS アプリ開発編の講義資料
https://internship.cookpad.jp/
Yuki Miida
August 16, 2022
Tweet
Share
More Decks by Yuki Miida
See All by Yuki Miida
continuous growth of the service
miichan
1
250
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
680
The Language of Interfaces
destraynor
154
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
290
YesSQL, Process and Tooling at Scale
rocio
167
14k
How STYLIGHT went responsive
nonsquared
95
5.2k
Documentation Writing (for coders)
carmenintech
65
4.4k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Designing for humans not robots
tammielis
249
25k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
A better future with KSS
kneath
238
17k
Transcript
© 2022 Cookpad Inc. Cookpad Summer Internship 2022 iOS App
2022/08/16
• 普段iOSアプリを開発している人 ◦ 改めてiOSアプリ開発に必要な知識を学び、OJTに向けての準備をする • 普段iOSアプリ以外を開発している人 ◦
iOSアプリ開発について学ぶことで、普段の開発に活かせる知見を得る ◦ iOSアプリのWeb APIとの通信方法・取得したデータの表示方法を学び、どのようなAPIがア プリ側から使いやすいのかを理解する © 2022 Cookpad Inc. 2 今日のゴール
本日の講師・TAの紹介 © 2022 Cookpad Inc. 3
© 2022 Cookpad Inc. 4 講師: Yuki Miida • レシピサービス開発部所属
• クックパッドのiOSアプリを開発してます • 毎日緑茶を飲んでます🍵
© 2022 Cookpad Inc. 5 TA: 大川 葵(Aoi Okawa) •
買物プロダクト開発部 • クックパッドマートのiOSアプリを開発してい ます • イーブイが好きです
© 2022 Cookpad Inc. 6 TA: 松下 廉(まつした れん)
• 買物サービス開発部・メディアプロダクト開 発部 • クックパッドの買物機能の企画・iOSアプリ 実装・Makerstownの企画 • 音楽が好き🥁
よろしくお願いします! © 2022 Cookpad Inc. 7
今日のiOS講義と明日のサーバーサイド講義 について © 2022 Cookpad Inc. 8
© 2022 Cookpad Inc. 9 • 「MiniCookpad」というクックパッドのレシピアプリの簡易版を作ります。 • 1日目のiOSの講義では、レシピ一覧、レシピ詳細、ハッシュタグ追加画面の3画面から構成され
るiOSアプリを SwiftUI で開発します • 2日目のサーバーサイドの講義では、2つのサービスを束ねる API(BFF)を作り、アプリ側から使 いやすい API を開発します 2日間の講義は連続しています
今日のiOSの講義 © 2022 Cookpad Inc. 10
© 2022 Cookpad Inc. 11 MiniCookpad iOSアプリを作る!
© 2022 Cookpad Inc. 12 1. iOSアプリの画面の作り方 • SwiftUI を使った
View の作成方法、画面遷移、状態管理など、SwiftUIによるiOSアプリ開 発の基礎を学びます 2. WebAPIとの通信方法 • * 今日の講義ではまだ BFF はありません! ◦ アプリから2本のAPIを呼び出すことで必要なデータを取得します • Swift 5.5 から追加された Swift Concurrency を使って、Swift での並行処理・非同期処理 の方法について学びます 今日の講義で取り上げるトピック
• 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 タイムテーブル(休憩は適宜とります)
• 15:00くらいまでは、講義&適宜ハンズオンをしながら一緒に開発を進めます • その後は、いくつか課題を用意しているので各自で考えて開発を行っていただきます • 講義中に質問や知りたいことがあれば、遠慮なく聞いてください! •
話してる途中でも全く問題ないので、わからないこと・知りたいことは手を挙げてどんどん聞きま しょう • ハンズオンや課題でうまくいかないところがあれば、講師やTAを呼んで適宜助けてもらってくだ さい © 2022 Cookpad Inc. 14 進め方
iOSアプリ開発の基礎知識 © 2022 Cookpad Inc. 15
• iOSアプリとは、iOSが動く端末(iPhone)で動作するアプリケーションのこと • macOS 上で動作する Xcode という IDE を使って開発を行う
• プログラミング言語は主に Swift を使って開発する • UIフレームワークとして UIKit ・ SwiftUI の2種類が提供されている © 2022 Cookpad Inc. 16 iOSアプリ開発の基礎知識
• Apple が開発し、2014年に発表されたプログラミング言語 • Swift 5.6 が現在の最新バージョン(Swift 5.7 も既に発表されている)
• 現在の iOS アプリ開発は、 Swift を使って開発することがスタンダードになっている © 2022 Cookpad Inc. 17 Swift
• iOSアプリの開発が一般の開発者に開放された iOS3 の頃から提供されている UI フレームワー ク • SwiftUI 登場以前は
UI フレームワークは UIKit 一択だった • SwiftUI 登場以降も新機能が発表されるなど、発展を続けている © 2022 Cookpad Inc. 18 UIKit
• 2019年に発表された新しい UI フレームワーク • 宣言型シンタックスで、シンプルで読みやすい記述が特徴 • Xcode
Previews というリアルタイムに変更を確認できるプレビューが提供されている • まだ発展途上であり、UIKit に比べると不足している機能や一部不安定なところもある ◦ UIKit を SwiftUI から使うこともできる © 2022 Cookpad Inc. 19 SwiftUI
今日の講義は Swift と SwiftUI を使って開発します! © 2022 Cookpad Inc. 20
Swift について学ぼう © 2022 Cookpad Inc. 21
• はじめに Swift というプログラミング言語についてざっと学んでいきましょう • Swift 5.6 時点の内容です •
より詳しく知りたい部分などは、公式サイトで確認しましょう ◦ https://www.swift.org/ • Playground を使って Swift のコードをインタラクティブに実行しながら学んでいきます © 2022 Cookpad Inc. 22 駆け足 Swift チュートリアル
次はいよいよ iOS アプリ開発をやっていきましょう!! © 2022 Cookpad Inc. 23
“Cookpad summer internship 2021 mobile app” from Masaru Ichikawa
https://www.slideshare.net/masaichisanjp/cookpad-summer-internship-2021-mobile-app © 2022 Cookpad Inc. 24 参考資料
© 2022 Cookpad Inc. 25