Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
wwdc19
Search
Shigure Shimotori
June 25, 2019
Programming
2
410
wwdc19
https://line.connpass.com/event/134346/
#LINE_DM
Shigure Shimotori
June 25, 2019
Tweet
Share
More Decks by Shigure Shimotori
See All by Shigure Shimotori
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
320
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
280
おっと、お飲みごろの時間です!
s_shimotori
1
140
Synchronizationを支える技術
s_shimotori
1
270
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
1.1k
英語
s_shimotori
1
950
Parallel Socket Communication in Swift
s_shimotori
1
880
UIColor Anatomy
s_shimotori
1
2.7k
UIColor Cluster
s_shimotori
1
800
Other Decks in Programming
See All in Programming
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
220
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
150
スタートアップを支える技術戦略と組織づくり
pospome
8
16k
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
200
AWS CDKの推しポイントN選
akihisaikeda
1
240
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
開発に寄りそう自動テストの実現
goyoki
1
750
sbt 2
xuwei_k
0
250
SwiftUIで本格音ゲー実装してみた
hypebeans
0
110
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
110
AIコーディングエージェント(NotebookLM)
kondai24
0
170
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
6
980
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Being A Developer After 40
akosma
91
590k
Side Projects
sachag
455
43k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.8k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Transcript
͡ΊͯͷWWDC WWDC19 Recap at LINE
͡ΊͯͷWWDC @S_Shimotori_pub ▸ LINE.appͷUI·ΘΓ ▸ iOSDCωοτϫʔΫελοϑ ▸ DroidKaigiӡӦελοϑ ▸ WWDCॳࢀՃ
͡ΊͯͷWWDC ࠓ͢͜ͱ ▸ ࢀՃऀઍਓͱ ▸ ϥϘͰฉ͍͖ͯͨ͜ͱ ▸ ΞΫηγϏϦςΟͲ͏ͨ͠Β͍͍ͷ ▸ λΠจࣈ;ͨͨͼ
▸ μʔΫϞʔυରԠɺ։ນ
ࢀՃऀઍਓͱ
ࢀՃऀઍਓͱ WWDCʹॳࢀՃͯ͠Θ͔ͬͨ͜ͱ ▸ ᷚ௨Γͷςϯγϣϯͷߴ͞ ▸ ظઓʹ༏͍͠ՌͱOdwalla ▸ /16ͰIPΞυϨεେ൫ৼΔ͍ ▸ ަ௨खஈ͕ͱͯͭΒ͍
▸ ಥવͷ৽ཁૉൃදͰ্खʹϥϘΛ׆༻Ͱ͖ͳ͍ ▸ ϚΠϊϦςΟͷਓΛݟ͔͚Δ͜ͱ͕Ͱ͖Δ
ࢀՃऀઍਓͱ WWDCʹॳࢀՃͯ͠Θ͔ͬͨ͜ͱ ▸ ᷚ௨Γͷςϯγϣϯͷߴ͞ ▸ ظઓʹ༏͍͠ՌͱOdwalla ▸ /16ͰIPΞυϨεେ൫ৼΔ͍ ▸ ަ௨खஈ͕ͱͯͭΒ͍
▸ ಥવͷ৽ཁૉൃදͰ্खʹϥϘΛ׆༻Ͱ͖ͳ͍ ▸ ϚΠϊϦςΟͷਓΛݟ͔͚Δ͜ͱ͕Ͱ͖Δ
ࢀՃऀઍਓͱ ϚΠϊϦςΟͷਓΛݟ͔͚Δ͜ͱ͕Ͱ͖Δ ▸ ൺͰߟ͑Δͱଟ͍ͱݴ͑ͳ͍ ▸ ࢀՃऀ͕ઍਓ͍ΔͷͰਓࣗମଟ͘ײ͡ΒΕΔ ▸ Ҋ൘࠵͠Ͱଘࡏʹؾ͔ͮ͞ΕΔ
None
None
ϥϘͰ ฉ͍͖ͯͨ͜ͱ
ϥϘͰฉ͍͖ͯͨ͜ͱ Ͳ͜ͷϥϘʁ ▸ ΞΫηγϏϦςΟͲ͏ͨ͠Β͍͍ͷ ˠAccessibility Design Lab ▸ λΠจࣈ;ͨͨͼ ˠText
Lab ▸ μʔΫϞʔυରԠɺ։ນ ˠUIKit Lab
ΞΫηγϏϦςΟ Ͳ͏ͨ͠Β͍͍ͷ
None
ΞΫηγϏϦςΟͲ͏ͨ͠Β͍͍ͷ ରԠ࣮ʹࠔΔྫ ▸ ʮ14:30ʯͷຊޠಡΈ্͕͓͔͍͛͠ ▸ ಠࣗʹʮ͡Ύ͏Α͡͞Μͬ͡Μʯͱಡ·͍͍ͤͯʁ ▸ ߴޱ࠲൪߸ͳͲͷݸਓใ ▸ ಡΈ্͍͍͛ͤͯ͞ͷʁ
ΞΫηγϏϦςΟͲ͏ͨ͠Β͍͍ͷ ΞΫηγϏϦςΟରԠͰࠔͬͨΒ ▸ Appleͷ࡞ͬͨΞϓϦͷ࣮ʹ฿͏ ▸ উखʹ͞ͳ͍Ͱόάใࠂ͚ͩ͢Δͱ͔ ▸ Apple PayͷΫϨΧಡΈ্͛Λਅࣅ͢Δͱ͔
λΠจࣈ ;ͨͨͼ
▸ λΠจࣈॎʹ͍ͷͰ༉அ͢ΔͱΈग़ͪΌ͏ʂ λΠจࣈ;ͨͨͼ λΠจࣈͱ ຊ Japan ประเทศญี่ปุ่น
λΠจࣈ;ͨͨͼ λΠจࣈͷߴ͞ΛΓ͍ͨʂ ▸ UIKitͷྗͰจࣈͷ࣮αΠζΛऔಘ͢Δ͜ͱ͕Ͱ͖ͳ͍
λΠจࣈ;ͨͨͼ จࣈͷେ͖͞ʢਅʣΛௐΔ ▸ Core TextΛ͑ਖ਼֬ͳେ͖͕͞Θ͔Δ let word = "ประเทศญี่ปุ่น" let
attributedString = NSAttributedString(string: word) let line = CTLineCreateWithAttributedString(attributedString) let rect = CTLineGetBoundsWithOptions(line, .useGlyphPathBounds)
λΠจࣈ;ͨͨͼ λΠจࣈ;ͨͨͼ - vs Swift UI Text ▸ clip͞Εͨɺͩͱ……ʁʁ
μʔΫϞʔυରԠɺ։ນ
μʔΫϞʔυରԠɺ։ນ ҰൠతͳʁμʔΫϞʔυରԠ ▸ Assetʹొ͢ΕࣗಈͰ͍͚ͯ͘ΕΔΑ ▸ System colorSemantic colorͰҰൃରԠͩΑ
None
μʔΫϞʔυରԠɺ։ນ LINE.appͷμʔΫϞʔυରԠ ▸ Assetʹొ͢ΕࣗಈͰ͍͚ͯ͘ΕΔΑ →ొ͠·ͤΜͰ͖·ͤΜ ▸ System colorSemantic colorͰҰൃରԠͩΑ →͍·ͤΜͰ͖·ͤΜ
μʔΫϞʔυରԠɺ։ນ AssetΛΘͣʹdynamicͳͷΛͭ͘Δ ▸ Dynamic color ▸ UIColor.init(dynamicProvider:) ▸ Dynamic image
▸ ͋Εʁઆ໌͞Ε͚ͯͨͬʁ
μʔΫϞʔυରԠɺ։ນ dynamic imageͷͭ͘Γ͔ͨ ▸ UIImageAssetΛ࡞Ε͍͚Δʂ let imageAsset = UIImageAsset() imageAsset.register(lightImage,
with: lightTraitCollection) imageAsset.register(darkImage, with: darkTraitCollection) let image = imageAsset.image(with: UITraitCollection.current)
·ͱΊʁ
·ͱΊʂ WWDC͜Μͳͱ͜Ζ ▸ ੈքதͷ։ൃऀͱձ͑Δ ▸ ࣗͷ࣮ྗ͕ϥϘͷ׆༻۩߹ʹग़ͪΌ͏ ▸ ظ͕͍ؒͷͰؤுΓ·͠ΐ͏