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
Storyboardを積極的に使うべきか?その役割に基づく一考察
Search
gaussbeam
June 26, 2017
Programming
1
2k
Storyboardを積極的に使うべきか?その役割に基づく一考察
2017.06.23 iOS UI実装勉強会 @ Sansan
gaussbeam
June 26, 2017
Tweet
Share
More Decks by gaussbeam
See All by gaussbeam
成長する組織のナレッジベースのつくりかた_知識基盤のデザインとメタデザイン
gaussbeam
0
1.1k
CI/CDと継続的ワークフロー改善
gaussbeam
2
2.3k
(UI)Switch は つくれる
gaussbeam
1
690
Human Interface Guidelinesから滲み出る限界感を考える
gaussbeam
5
4k
ローカライズの苦しみに立ち向かう
gaussbeam
1
660
IdentifiableUIKit
gaussbeam
1
470
Other Decks in Programming
See All in Programming
Select API from Kotlin Coroutine
jmatsu
1
180
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
540
Benchmark
sysong
0
230
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
1
240
Perplexity Slack Botを作ってAI活用を進めた話 / AI Engineering Summit プレイベント
n3xem
0
670
Is Xcode slowly dying out in 2025?
uetyo
1
170
WindowInsetsだってテストしたい
ryunen344
1
190
Claude Codeの使い方
ttnyt8701
1
130
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
AIネイティブなプロダクトをGolangで挑む取り組み
nmatsumoto4
0
120
単体テストの始め方/作り方
toms74209200
0
510
SODA - FACT BOOK
sodainc
1
1.1k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
It's Worth the Effort
3n
184
28k
Being A Developer After 40
akosma
90
590k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Why Our Code Smells
bkeepers
PRO
337
57k
A designer walks into a library…
pauljervisheath
206
24k
We Have a Design System, Now What?
morganepeng
52
7.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Designing for Performance
lara
609
69k
A Tale of Four Properties
chriscoyier
159
23k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Transcript
StoryboardΛੵۃతʹ͏͖͔ʁ ʙͦͷׂʹجͮ͘Ұߟʙ IBOZV!4BOTBO *OD 2017.06.23 #iOS_UI࣮ษڧձ
Who? • HANYU, Koji • Sansan, Inc. iOS Developer •
2017/3~
Storyboardͷ̎ͭͷׂ w ετʔϦʔϘʔυ • Interface Builder
func chooseUiDevelopMethod(when situation: Situation) -> UIDevelopMethod { switch situation {
case .developScreenTransition, .developSimpleView: return .byStoryboard case .developComplexView, .developLooksLikeOtherPlatformUI: return .byNibFilesAndCodess } }
case .developScreenTransition
DetailView
• ϝϦοτ • ը໘ભҠಋઢͷෳࡶ͕WYSIWYGʹͳΔ • ͲΜͳભҠ(Push? Modal?)Λ͢Δͷ͔ḷΓ͍͢ • σϝϦοτ •
performSegue, prepareForSegue͔Βಀ͛ΒΕͳ͍… ը໘ભҠͷ࣮ʹ StoryboardΛετʔϦʔϘʔυͱͯ͠͏
case .developSimpleView
• ϝϦοτ • ࠷ऴతͳը໘͕(ͦΕͳΓʹ)WYSIWYGʹͳΔ • ࣌ؒͰAuto LayoutରԠͰ͖Δ • σϝϦοτ •
ࣗ༝͍(HIG͔Βͷҳ͍͠) γϯϓϧͳViewͷ࣮ʹ StoryboardΛInterface Builderͱͯ͠͏
case .developComplexView, .developLooksLikeOtherPlatformUI
※ΠϝʔδͰ͢
• ϝϦοτ • ը໘ͷߏཁૉ͕(ͦΕͳΓʹ)WYSIWYGʹͳΔ • Auto LayoutରԠIBʹͤɼͩ͜ΘΓͷ࣮ՕॴͷΈίʔυͰ࣮ݱ • σϝϦοτ •
ը໘ͷશମ૾/ΠϯλϥΫγϣϯWYSIWYGʹͳΒͳ͍(Ͱ͖ͳ͍) ෳࡶͳViewಠࣗͷςΠετͷUIΛ࣮͢Δ࣌ nibͱίʔυͰ࣮͢Δ
ͱ͍͑ɼ ※ੈքதͷ։ൃνʔϜΛ·ͤΔίϯϑϦΫτͷ͋Δ͕ɼ ࠓճʮׂ͔Β͍ํߟ͑Δʯͱͯ͠ΛਐΊ͖ͯͨͷͰׂѪ ϑΝΠϧ૿͑ɼ Ϗϧυ࣌ؒ૿͑Δ…
None
StoryboardΛੵۃతʹ͏͖͔ʁ • Storyboardͷ2ͭͷׂ͔Βߟ͑Δ • ετʔϦʔϘʔυͱͯ͠YES ը໘ભҠɾಋઢͷWYSIWYGԽ • Interface Builderͱͯ͠ঢ়گʹΑΔ γϯϓϧͰHuman
Interface Guidelines४ڌͳը໘YES ෳࡶͳը໘ɾಠࣗςΠετͷը໘NO