Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

THEORY CODE* *discuss only conceptual details

Slide 4

Slide 4 text

“Design is not just what it looks & feels like. Design is how it WORKS”

Slide 5

Slide 5 text

Design vs Develop Aesthetics vs Performance UI vs UX Styling vs Coding Looks vs Tasks

Slide 6

Slide 6 text

1 Better Performance 2 Better User Interface

Slide 7

Slide 7 text

60 fps 50ms UI in Code Peace of Mind Smooth UI guarantee Responsive UI. Always. Cause storyboards… Reusability, Testing, etc…

Slide 8

Slide 8 text

Concurrency Abstraction Intelligent Preloading

Slide 9

Slide 9 text

Concurrency & Abstraction

Slide 10

Slide 10 text

UIKit

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Intelligent Preloading Preload Display Visible Load the objects Adjust the layout Render the final View

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Code

Slide 16

Slide 16 text

Architecture 1 Nodes 2 Node Containers 3 Layout Specs

Slide 17

Slide 17 text

1 Nodes • Nodes are abstractions over UIView & CALayer • All nodes perform layout and display off of the main thread • You can access UIView & CALayer anytime with node.view & node.layer

Slide 18

Slide 18 text

2 Node Containers • A node container automatically manages the intelligent preloading of its nodes. • This means that all of the node’s layout measurement, data fetching, decoding and rendering will be done asynchronously.

Slide 19

Slide 19 text

3 Layout Specs • Layout specs act as containers for other layout elements by understanding how these children layout elements relate to each other • ASWrapperLayoutSpec • ASStackLayoutSpec • ASInsetLayoutSpec • ASOverlayLayoutSpec • ASBackgroundLayoutSpec • ASCenterLayoutSpec • ASRatioLayoutSpec • ASRelativeLayoutSpec • ASAbsoluteLayoutSpec • ASCornerLayoutSpec

Slide 20

Slide 20 text

Points to Remember 1. Texture is written in Objective C++. 2. It’s actively in development. 3. Properties maybe available with a different name in swift. 4. Require solid understanding of Concurrency and OOPs.

Slide 21

Slide 21 text

Before you start! Ask yourself… 1. Is my UI really complex? 2. Does my UI have infinite scrolling? 3. Do I want to write that much of code? 4. Do I want to explain Texture to everyone?

Slide 22

Slide 22 text

- Rushit Rakhasiya “Don’t use Texture, if UIKit is not killing your performance”

Slide 23

Slide 23 text

Rushit Rakhasiya iOS Developer Github - @avidrush94 Email - [email protected] LinkedIn - Rushit Rakhasiya