“If you have ever built a
ClojureScript application,
this is the way you start.”
Slide 21
Slide 21 text
No content
Slide 22
Slide 22 text
What Pedestal Is
Pedestal
Services
Pedestal
Applications
Clojure ClojureScript
Web Services
Tooling
Browser Applications
Tooling
Slide 23
Slide 23 text
What Pedestal Is
Pedestal
Applications
ClojureScript
Browser Applications
Tooling
Slide 24
Slide 24 text
Three Models
Google
http://domain.com
Web Page Title
DERP ERP
Human Resources 90%
Process Compliance 300Hz
Big Data Synergy 20 clouds
Data Model Application Model DOM
Slide 25
Slide 25 text
Data Model
{:todos ["one" "two" "three"]}
Slide 26
Slide 26 text
Application Model
{:main {:todos ["one" "two" "three"]
:todo-count 3}}
Verbs over Nouns
Data Model
Messages
User actions
HTTP responses
SSEs
WebSocket input
Timer events
Transforms
Transforms
Slide 30
Slide 30 text
Verbs over Nouns
Application Model
Data Model
Transforms
Data Flow
Slide 31
Slide 31 text
Verbs over Nouns
DOM
Application Model Render
Google
http://domain.com
Web Page Title
DERP ERP
Human Resources 90%
Process Compliance 300Hz
Big Data Synergy 20 clouds
Models from Processes
Data Model
Messages
User actions
HTTP responses
SSEs
WebSocket input
Timer events
Transforms
Transforms
Pure functions
Slide 34
Slide 34 text
Models from Processes
Application Model
Data Model
Transforms
Data Flow
Pure functions
Slide 35
Slide 35 text
Messages from Events
Data Model
Messages
User actions
HTTP responses
SSEs
WebSocket input
Timer events
Transforms
Transforms
Simulated
Simulated
Simulated
Simulated
Simulated
Slide 36
Slide 36 text
App Model From DOM
Data UI
Application Model Render
Google
http://domain.com
Web Page Title
:metrics
:human-resources
:compliance
:big-data-synergy
Automated
{:amt 90 :unit “%”}
{:amt 300 :unit “Hz”}
{:amt 20 :unit “Clouds”}
Slide 37
Slide 37 text
Dispatch from Execution
Messages Transforms
Data Flow
Data Model
Application Model
Rendering
DOM
Input
Queue
App
Model
Queue
Slide 38
Slide 38 text
Dispatch from Execution
Messages Transforms
Data Flow
Data Model
Application Model
Rendering
DOM
Input
Queue
App
Model
Queue
Foreground Background Web Worker