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
1.9k
Storyboardを積極的に使うべきか?その役割に基づく一考察
2017.06.23 iOS UI実装勉強会 @ Sansan
gaussbeam
June 26, 2017
Tweet
Share
More Decks by gaussbeam
See All by gaussbeam
成長する組織のナレッジベースのつくりかた_知識基盤のデザインとメタデザイン
gaussbeam
0
970
CI/CDと継続的ワークフロー改善
gaussbeam
2
2.2k
(UI)Switch は つくれる
gaussbeam
1
670
Human Interface Guidelinesから滲み出る限界感を考える
gaussbeam
5
3.9k
ローカライズの苦しみに立ち向かう
gaussbeam
1
630
IdentifiableUIKit
gaussbeam
1
450
Other Decks in Programming
See All in Programming
体得しよう!RSA暗号の原理と解読
laysakura
3
520
AI Agentを利用したAndroid開発について
yuchan2215
0
200
Compose Navigation実装の見通しを良くする
hiroaki404
0
180
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
1
310
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
140
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
350
ニックトレイン登壇資料
ryotakurokawa
0
140
goにおける コネクションプールの仕組み を軽く掘って見た
aronokuyama
0
120
Return of the Full-Stack Developer
simas
PRO
1
310
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
3
980
令和トラベルにおけるコンテンツ生成AIアプリケーション開発の実践
ippo012
1
250
エンジニア未経験が最短で戦力になるためのTips
gokana
0
190
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Side Projects
sachag
452
42k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Building Your Own Lightsaber
phodgson
104
6.3k
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
A better future with KSS
kneath
238
17k
Bash Introduction
62gerente
611
210k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Cult of Friendly URLs
andyhume
78
6.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
Typedesign – Prime Four
hannesfritz
41
2.6k
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