Slide 1

Slide 1 text

WWDC Thoughts and Takeaways JJ Lin, LINE iOS Developer #iOS@Taipei #LINE #WWDC2019

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

WWDC 2019 ● June 3-7 ● San Jose, California ● Sessions ● Technology Labs ● App Store Labs ● Pro Studio

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

UIView-Encapsulated-Layout-Height Conflict constraints

Slide 7

Slide 7 text

estimatedItemSize Image Source: WWDC 2016

Slide 8

Slide 8 text

estimatedItemSize Image Source: WWDC 2016

Slide 9

Slide 9 text

estimatedItemSize Image Source: WWDC 2016

Slide 10

Slide 10 text

UICollectionViewFlowLayoutAutomaticSize Image Source: WWDC 2016

Slide 11

Slide 11 text

Solution ● Make one constraint breakable, with lower priority (999) ● Use UICollectionView CompositionalLayout (iOS13+)

Slide 12

Slide 12 text

UIKit deprecated after SwiftUI released? of course not

Slide 13

Slide 13 text

UITableView -> List UICollectionView -> HStack / VStack ? UICollectionView CompositionalLayout UICollectionView DiffableDataSource

Slide 14

Slide 14 text

CompositionalLayout ● Orthogonal Scrolling ● FlowLayout ● CollectionView in collectionView ● Difficult to reuse ● CompositionalLayout ● Reusable orthogonal section! ● section.orthogonalScrollingBehavior = .continuous Image Source: WWDC 2019

Slide 15

Slide 15 text

CompositionalLayout LayoutDimension ● absolute ● estimated ○ might still meet UIView-Encapsulated-Layout conflict, or AutoresizingMaskLayoutConstraint conflict on CollectionLayoutGroup ○ need to set cell constraint breakable, with lower priority (999) ● fractional ○ auto resize after rotation / bound change

Slide 16

Slide 16 text

DiffableDataSource performBatchUpdates() apply()

Slide 17

Slide 17 text

DiffableDataSource Snapshots Truth of UI state Unique identifiers for sections and items No more IndexPaths Source: WWDC 2019

Slide 18

Slide 18 text

Demo Source: WWDC 2019

Slide 19

Slide 19 text

References WWDC 2016: What's New in UICollectionView in iOS 10 WWDC 2018: A Tour of UICollectionView WWDC 2019: Advances in Collection View Layout WWDC 2019: Advances in UI Data Sources

Slide 20

Slide 20 text

Pro Studio

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Image Source: WWDC App

Slide 23

Slide 23 text

Mac Pro Interior System in AR

Slide 24

Slide 24 text

8K Video Editing

Slide 25

Slide 25 text

Hundreds tracks processing Image Source: WWDC App

Slide 26

Slide 26 text

Pro Display XDR

Slide 27

Slide 27 text

Reality Composer Create/Edit AR on Mac Play on iPad

Slide 28

Slide 28 text

Reality Composer Create/Edit AR on iPad

Slide 29

Slide 29 text

ARKit 3 People Occlusion

Slide 30

Slide 30 text

One more thing...

Slide 31

Slide 31 text

We are Hiring! iOS Developer Android Developer QA / Automation Engineer Front-end Engineer Back-end Engineer Data Engineers Security Engineer Developer Relations More Info: https://career.linecorp.com https://lin.ee/dL8kXg

Slide 32

Slide 32 text

Thank you