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.3k
CI/CDと継続的ワークフロー改善
gaussbeam
2
2.3k
(UI)Switch は つくれる
gaussbeam
1
710
Human Interface Guidelinesから滲み出る限界感を考える
gaussbeam
5
4.1k
ローカライズの苦しみに立ち向かう
gaussbeam
1
670
IdentifiableUIKit
gaussbeam
1
490
Other Decks in Programming
See All in Programming
CSC509 Lecture 06
javiergs
PRO
0
270
Ktorで簡単AIアプリケーション
tsukakei
0
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
680
Amazon Verified Permissions実践入門 〜Cedar活用とAppSync導入事例/Practical Introduction to Amazon Verified Permissions
fossamagna
2
100
Catch Up: Go Style Guide Update
andpad
0
260
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
260
CSC305 Lecture 09
javiergs
PRO
0
320
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
950
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.6k
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
530
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
YesSQL, Process and Tooling at Scale
rocio
173
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Building an army of robots
kneath
305
46k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
For a Future-Friendly Web
brad_frost
180
10k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
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