deploying stateful web components on multiple devices with liquid.js for polymer

149
Architecture, Design and Web Informations Systems Engineering Group DEPLOYING STATEFUL WEB COMPONENTS ON MULTIPLE DEVICES WITH LIQUID.JS FOR POLYMER Andrea Gallidabino Cesare Pautasso 1

Upload: andrea-gallidabino

Post on 13-Apr-2017

164 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Architecture, Design and Web Informations Systems Engineering Group

DEPLOYING STATEFUL WEB COMPONENTS ON MULTIPLE DEVICES

WITH LIQUID.JS FOR POLYMER

Andrea GallidabinoCesare Pautasso

1

Page 2: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

2

# Devices

# Users

Page 3: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

2

# Devices

# Users

Page 4: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

2

# Devices

# Users

Page 5: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

2

# Devices

# Users

Page 6: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

2

# Devices

# Users

Page 7: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

3

SEQUENTIAL SCREENING

Page 8: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

3

SEQUENTIAL SCREENING

Page 9: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

3

SEQUENTIAL SCREENING

Page 10: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

3

SEQUENTIAL SCREENING

Page 11: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

3

SEQUENTIAL SCREENING

Page 12: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

3

SEQUENTIAL SCREENING

Page 13: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

APPLE HAND-OFF

4

Page 14: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

5

SIMULTANEOUS SCREENING

Page 15: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

5

SIMULTANEOUS SCREENING

Page 16: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

5

SIMULTANEOUS SCREENING

Page 17: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

5

SIMULTANEOUS SCREENING

Page 18: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

5

SIMULTANEOUS SCREENING

Page 19: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

5

SIMULTANEOUS SCREENING

Page 20: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

6

COLLABORATIVE SCENARIO

Page 21: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

6

COLLABORATIVE SCENARIO

Page 22: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

6

COLLABORATIVE SCENARIO

Page 23: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

6

COLLABORATIVE SCENARIO

Page 24: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

6

COLLABORATIVE SCENARIO

Page 25: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

6

COLLABORATIVE SCENARIO

SYNC

Page 26: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

7

Page 27: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

8

MULTI-DEVICE SOFTWARE

Adapts to a set of heterogeneous devices

Dynamic Migration (sequential scenarios)

State Synchronisation (collaborative scenarios)

Page 28: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

9

METAPHOR

Page 29: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

9

METAPHOR

Page 30: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

9

METAPHOR

Page 31: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

9

METAPHOR

Page 32: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

9

METAPHOR

Page 33: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

9

METAPHOR

Page 34: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

9

METAPHOR

Page 35: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

10

LIQUID APPLICATIONS

Page 36: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

10

LIQUID APPLICATIONS

Roaming from a device to another one

Page 37: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

10

LIQUID APPLICATIONS

Roaming from a device to another one

following user attention

Page 38: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

11

LIQUID.JS FOR POLYMER

Page 39: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

12

COMPONENT-BASED

Page 40: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

12

COMPONENT-BASED

Page 41: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

12

COMPONENT-BASED

DATA

UI

LOGIC

DATA

UI

LOGIC

Page 42: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

12

COMPONENT-BASED

WebComponents Standard

DATA

UI

LOGIC

DATA

UI

LOGIC

Page 43: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

12

COMPONENT-BASED

WebComponents Standard

Polymer Framework

DATA

UI

LOGIC

DATA

UI

LOGIC

Page 44: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

12

COMPONENT-BASED

WebComponents Standard

Polymer Framework

Fine-grained decomposition

DATA

UI

LOGIC

DATA

UI

LOGIC

Page 45: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

13

COMPONENT APIDevice 1

Device 2

Page 46: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

13

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Page 47: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

13

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Page 48: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

13

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Page 49: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

13

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Page 50: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

13

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Page 51: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

13

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Page 52: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

13

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Page 53: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

14

SEQUENTIAL SCREENING

Page 54: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

15

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Page 55: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

15

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Fork(component, device)

Page 56: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

15

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Fork(component, device)

Page 57: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

15

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Fork(component, device)

Pair(component_1, component_2)

Page 58: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

SYNC

15

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Fork(component, device)

Pair(component_1, component_2)

Page 59: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

SYNC

15

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Fork(component, device)

Pair(component_1, component_2)

Clone(component, device)

Page 60: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

SYNC

15

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Fork(component, device)

Pair(component_1, component_2)

Clone(component, device)

Unpair(component_1, component_2)

Page 61: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

15

COMPONENT APIDevice 1

Device 2

Create(component_Type, device)

Delete(component)

Move(component, device)

Fork(component, device)

Pair(component_1, component_2)

Clone(component, device)

Unpair(component_1, component_2)

Page 62: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

16

SIMULTANEOUS SCREENING

Page 63: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

17

COLLABORATIVE SCENARIO

SYNC

Page 64: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

18

STATEFUL COMPONENTS

Page 65: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

18

STATEFUL COMPONENTS

Page 66: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

18

STATEFUL COMPONENTS

Page 67: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

18

STATEFUL COMPONENTS

Var 1 Var 2

Var 3 Var 4

Var 5

Component

Component

Page 68: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Page 69: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Var 1 Var 2

Component

Var 3

Page 70: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Var 1 Var 2

Component

LiquidBehavior Var 3

Page 71: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Var 1 Var 2LiquidBehavior Var 3

Liquid Component

Page 72: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Register (variable)Var 1 Var 2Liquid

Behavior Var 3

Liquid Component

Page 73: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Register (variable)Var 1 Var 2Liquid

Behavior Var 3

Liquid Component

Var 1

Page 74: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Register (variable)

Pair (var_1, var_2)

Var 1 Var 2LiquidBehavior Var 3

Liquid Component

Var 1

Page 75: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Register (variable)

Pair (var_1, var_2)

Var 1 Var 2LiquidBehavior Var 3

Liquid Component

Var 1

Liquid Component

LiquidBehavior Var 4 Var 5

Page 76: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

19

VARIABLE API

Register (variable)

Pair (var_1, var_2)

Var 1 Var 2LiquidBehavior Var 3

Liquid Component

Var 1

Liquid Component

LiquidBehavior Var 4 Var 5

SYNC

Page 77: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

20

VARIABLE POLICIES

20

Page 78: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

20

VARIABLE POLICIES

Sharing

20

Page 79: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

20

VARIABLE POLICIES

Sharing

Component Scope

20

Page 80: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

20

VARIABLE POLICIES

Sharing

Component Scope

Device Deployment

20

Page 81: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

20

VARIABLE POLICIES

Sharing

Component Scope

Device Deployment

Persistence

20

Page 82: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Page 83: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICYLiquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

Page 84: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICYLiquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

Cloned

Page 85: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Shared

Liquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

1 2 3

Cloned

Page 86: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Shared

Liquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

1 2 3

Cloned

Page 87: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Shared

Local

Liquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

1 2 3

Cloned

Page 88: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Shared

Local

Liquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

1

2

3

Cloned

Page 89: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Shared

Local

Liquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

1

2

3

Cloned

Page 90: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Shared

Local

Global

Liquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

1

2

3

Cloned

Page 91: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Shared

Local

Global

Liquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

1

2

3

Cloned

Page 92: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

21

SHARING POLICY

Shared

Local

Global

Liquid Component

1 2

3

Liquid Component

1 2

3

Liquid Component

1 2

3

1

2

3

Cloned

Page 93: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

22

COMPONENT SCOPE

Page 94: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

22

COMPONENT SCOPELiquid Component 1

1 2

3

Liquid Component 1

1 2

3

Page 95: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

22

COMPONENT SCOPELiquid Component 1

1 2

3

Liquid Component 2

4 5

Liquid Component 1

1 2

3

Page 96: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

22

COMPONENT SCOPE

Intra-component

Liquid Component 1

1 2

3

Liquid Component 2

4 5

Liquid Component 1

1 2

3

Page 97: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

22

COMPONENT SCOPE

Intra-component

Liquid Component 1

1 2

3

Liquid Component 2

4 5

Liquid Component 1

1 2

3

Page 98: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

22

COMPONENT SCOPE

Intra-component

Liquid Component 1

1 2

3

Liquid Component 2

4 5

Liquid Component 1

1 2

3

Page 99: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

22

COMPONENT SCOPE

Intra-component

Inter-component

Liquid Component 1

1 2

3

Liquid Component 2

4 5

Liquid Component 1

1 2

3

Page 100: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

22

COMPONENT SCOPE

Intra-component

Inter-component

Liquid Component 1

1 2

3

Liquid Component 2

4 5

Liquid Component 1

1 2

3

Page 101: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

23

DEVICE DEPLOYMENT

Page 102: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

23

DEVICE DEPLOYMENTLC1

1 2

LC2

3 54

LC3

Page 103: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

23

DEVICE DEPLOYMENT

One device

LC1

1 2

LC2

3 54

LC3

Page 104: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

23

DEVICE DEPLOYMENT

One device

LC1

1 2

LC2

3 54

LC3

Page 105: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

23

DEVICE DEPLOYMENT

One device

LC1

1 2

LC2

3 54

LC3

Page 106: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

23

DEVICE DEPLOYMENT

One device

Many devices

LC1

1 2

LC2

3 54

LC3

Page 107: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

23

DEVICE DEPLOYMENT

One device

Many devices

LC1

1 2

LC2

3 54

LC3

Page 108: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Page 109: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

VariableValue ‘Default’

Liquid Component

Page 110: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

VariableValue ‘Default’

Liquid Component

Page 111: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

VariableValue ‘Changed’

Liquid Component

Page 112: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

Page 113: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

VariableValue ‘Default’

Liquid Component

Page 114: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

SessionVariableValue ‘Default’

Liquid Component

Page 115: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

SessionVariableValue ‘Changed’

Liquid Component

Page 116: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

Session

Page 117: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

SessionVariableValue ‘Changed’

Liquid Component

Page 118: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

Session

Page 119: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

SessionVariableValue ‘Default’

Liquid Component

Page 120: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

Session

Persistent

VariableValue ‘Default’

Liquid Component

Page 121: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

Session

Persistent

Liquid Component

VariableValue ‘Changed’

Page 122: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

Session

Persistent

Page 123: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

24

PERSISTENCE POLICY

Volatile

Session

Persistent

VariableValue ‘Changed’

Liquid Component

Page 124: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

25

DECISION

Page 125: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

25

DECISION

Persistence Sharing

ScopeDeployment

Page 126: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

25

DECISION

Persistence Sharing

Intra-Component Inter-Component1 Device 1 DeviceMany Many

Global

Global

Global

Shared

Shared

Shared

Local

Local

Local

Persistent

Session

Volatile

ScopeDeployment

Page 127: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

25

DECISION

Persistence Sharing

Intra-Component Inter-Component1 Device 1 DeviceMany Many

Global

Global

Global

Shared

Shared

Shared

Local

Local

Local

Persistent

Session

VolatileBrowser Memory

Browser Memory

Browser Memory Browser Memory Browser Memory Browser Memory

Browser Memory Browser Memory Browser Memory

ScopeDeployment

Page 128: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

25

DECISION

Persistence Sharing

Intra-Component Inter-Component1 Device 1 DeviceMany Many

Global

Global

Global

Shared

Shared

Shared

Local

Local

Local

Persistent

Session

VolatileBrowser Memory

Browser Memory

Browser Memory Browser Memory Browser Memory Browser Memory

Browser Memory Browser Memory Browser Memory

Session Storage

Session Storage

Session Storage

Session Storage

Session Storage

ServerServer

ServerServer

ScopeDeployment

Page 129: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

25

DECISION

Persistence Sharing

Intra-Component Inter-Component1 Device 1 DeviceMany Many

Global

Global

Global

Shared

Shared

Shared

Local

Local

Local

Persistent

Session

VolatileBrowser Memory

Browser Memory

Browser Memory Browser Memory Browser Memory Browser Memory

Browser Memory Browser Memory Browser Memory

Session Storage

Session Storage

Session Storage

Session Storage

Session Storage

Local Storage

Local Storage

Local Storage

Local Storage

Local Storage

ServerServer

ServerServer

ServerServer

ServerServer

ScopeDeployment

Page 130: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATE

Page 131: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1 2 3 1 2 3

Page 132: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2

WebRTC

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1 2 3 1 2 3

Page 133: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1 2 3 1 2 3

Page 134: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

WebSockets

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1 2 3 1 2 3

Page 135: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

WebSockets

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

11 2 3 1 2 3

Page 136: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

WebSockets

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

11 2 3 1 2 3

Database

Page 137: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

WebSockets

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1

22

1 2 3 1 2 3

Database

Page 138: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

WebSockets

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1

22

1 2 3 1 2 3

Database

BrowserMemory

BrowserMemory

Page 139: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

WebSockets

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1

3

2

43

2

4

1 2 3 1 2 3

Database

BrowserMemory

BrowserMemory

Page 140: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

WebSockets

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1

3

2

43

2

4

1 2 3 1 2 3

Database

BrowserMemory

BrowserMemory

LocalStorage

LocalStorage

Page 141: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

26

WHERE DO WE STORE THE STATEDevice 1 Device 2Server

WebRTC

WebSockets

Liquid Component

LiquidBehavior

Liquid Component

LiquidBehavior

1

3

2

43

2

4

1 2 3 1 2 3

Database

BrowserMemory

BrowserMemory

LocalStorage

LocalStorage

SessionStorage

SessionStorage

Page 142: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

27

CONCLUSION

Page 143: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

27

CONCLUSIONSolution for the three use case scenarios:

Page 144: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

27

CONCLUSIONSolution for the three use case scenarios:

sequential screening, simultaneous screening, collaborative

Page 145: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

27

CONCLUSIONSolution for the three use case scenarios:

sequential screening, simultaneous screening, collaborative

Transparently synchronise component state

Page 146: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

27

CONCLUSIONSolution for the three use case scenarios:

sequential screening, simultaneous screening, collaborative

Transparently synchronise component state

Decentralised environment

Page 147: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

28

FUTURE WORK

DATA

UI

LOGIC

Page 148: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

29

WWW’16 (Demo paper)A. Gallidabino, and C. Pautasso. The Liquid.js framework for

migrating and cloning stateful Web components across multiple devices

WICSA‘16A.Gallidabino, C. Pautasso, T.

Mikkonen, V. Ilvonen, K. Systä, J.-P. Voutilainen, and A. Taivalsaari.

On the architecture of liquid software: Technology alternatives and design space

ICWE’15T. Mikkonen, K. Systä, and C.

PautassoTowards liquid web applications

COMPSAC‘14A. Taivalsaari, T. Mikkonen, and K.

SystäLiquid Software Manifesto: The Era

of Multiple Device Ownership and Its Implications for Software Architecture

Page 149: Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer

Context Liquid Software Liquid.js Framework Components Variables Storage Conclusions

Deploying Stateful Web Components on Multiple Devices with Liquid.js for Polymer1st International Workshop on

Liquid Multi-Device Software for the Web

`http://icwe2016.inf.usi.ch/liquid