Elm Architecture
and it’s JavaScript offspring
Architecture of what?
- Elm the language http://elm-lang.org/
- Inspired by Ocaml & Haskell
- Immutability, pure functions
- Statically typed - no runtime exceptions (NaN, undefined is not function)
- Client side only
- Compiles to JavaScript
Architecture basic ideas
- First used in games
- Pure functions
- Immutable model
- Unidirectional dataflow
The Offspring
- Redux
- Cerebral
- Cycle.js
Redux
- Created by Dan Abramov
- Default choice for React applications
- Huge ecosystem on npm
- Lot’s of resources
https://egghead.io/courses/getting-started-with-redux
Redux principles
- Single source of truth
- State is read-only
- Changes are made with pure functions
Reducers & Actions
Redux tools features
- Lets you inspect every state and action payload
- Lets you go back in time by “cancelling” actions
- If you change the reducer code, each “staged” action will be re-evaluated
- If the reducers throw, you will see during which action this happened, and what the error was
- With persistState() store enhancer, you can persist debug sessions across page reloads
https://github.com/gaearon/redux-devtools

More Related Content

PDF
Load test REST APIs using gatling
PDF
Gatling @ Scala.Io 2013
ODP
Gatling - Stress test tool
PPTX
Gatling Tool in Action at Devoxx 2012
PPTX
Java 8 parallel stream
PDF
Continuous performance management with Gatling
PPTX
JAVA 8 Parallel Stream
PPTX
Ob1k presentation at Java.IL
Load test REST APIs using gatling
Gatling @ Scala.Io 2013
Gatling - Stress test tool
Gatling Tool in Action at Devoxx 2012
Java 8 parallel stream
Continuous performance management with Gatling
JAVA 8 Parallel Stream
Ob1k presentation at Java.IL

What's hot (20)

PDF
Three Lessons about Gatling and Microservices
PDF
Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3
PDF
Reactive programming using rx java & akka actors - pdx-scala - june 2014
PDF
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...
PPTX
Intro to RxJS
PPTX
PPT
Asynchronous handlers in asp.net
PPTX
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PPTX
Continuous deployment of Rails apps on AWS OpsWorks
PDF
Understanding Reactive Programming
PPTX
Async Programming in C# 5
PDF
Asynchronous javascript
PPTX
Async in .NET
PDF
Reactive programming with Rxjava
PPTX
Async and Await on the Server
PDF
Streams, Streams Everywhere! An Introduction to Rx
PPTX
CTU June 2011 - C# 5.0 - ASYNC & Await
PPSX
Async-await best practices in 10 minutes
PPTX
Basics of Node.js
Three Lessons about Gatling and Microservices
Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3
Reactive programming using rx java & akka actors - pdx-scala - june 2014
Open World Forum 2014 : From ES6 to Javascript 2.0. What use today ? par Jon...
Intro to RxJS
Asynchronous handlers in asp.net
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
Continuous deployment of Rails apps on AWS OpsWorks
Understanding Reactive Programming
Async Programming in C# 5
Asynchronous javascript
Async in .NET
Reactive programming with Rxjava
Async and Await on the Server
Streams, Streams Everywhere! An Introduction to Rx
CTU June 2011 - C# 5.0 - ASYNC & Await
Async-await best practices in 10 minutes
Basics of Node.js
Ad

Similar to Elm architecture (20)

PDF
Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm - Erik Wende...
PDF
Erik Wendel - Beyond JavaScript Frameworks: Writing Reliable Web Apps With El...
PDF
Elm: frontend code without runtime exceptions
PPTX
SEMjs - Planting Seeds with Elm
PDF
Forward JS 2017 | SF | Write applications as State Machines
PDF
Elm a possible future for web frontend
PPTX
Sprouting into the world of Elm
PPTX
Elm - Could this be the Future of Web Dev?
PPTX
Elm Detroit 9/7/17 - Planting Seeds with Elm
PDF
Play with elm - Choucri fahed, Finstack - Lambadays
PPTX
Elm - never get a runtime error anymore. Almost.
PDF
Play with Elm!
PDF
Rethink Frontend Development With Elm
PDF
The Road To Redux
PPTX
Your first Elm program
PDF
The JSON architecture
PDF
20 Most Helpful Node.JS Open Source Projects.pdf
PDF
Elm @ DublinJS
PPTX
JS digest. Mid-Summer 2017
PDF
Introduction to elm
Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm - Erik Wende...
Erik Wendel - Beyond JavaScript Frameworks: Writing Reliable Web Apps With El...
Elm: frontend code without runtime exceptions
SEMjs - Planting Seeds with Elm
Forward JS 2017 | SF | Write applications as State Machines
Elm a possible future for web frontend
Sprouting into the world of Elm
Elm - Could this be the Future of Web Dev?
Elm Detroit 9/7/17 - Planting Seeds with Elm
Play with elm - Choucri fahed, Finstack - Lambadays
Elm - never get a runtime error anymore. Almost.
Play with Elm!
Rethink Frontend Development With Elm
The Road To Redux
Your first Elm program
The JSON architecture
20 Most Helpful Node.JS Open Source Projects.pdf
Elm @ DublinJS
JS digest. Mid-Summer 2017
Introduction to elm
Ad

Recently uploaded (20)

PPTX
Lecture 5 Software Requirement Engineering
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PDF
CCleaner 6.39.11548 Crack 2025 License Key
PPTX
Full-Stack Developer Courses That Actually Land You Jobs
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
PDF
PDF-XChange Editor Plus 10.7.0.398.0 Crack Free Download Latest 2025
PDF
AI Guide for Business Growth - Arna Softech
PDF
Practical Indispensable Project Management Tips for Delivering Successful Exp...
PPTX
Cybersecurity-and-Fraud-Protecting-Your-Digital-Life.pptx
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PPTX
Computer Software - Technology and Livelihood Education
PDF
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
PDF
Microsoft Office 365 Crack Download Free
PPTX
HackYourBrain__UtrechtJUG__11092025.pptx
PPTX
Download Adobe Photoshop Crack 2025 Free
PPTX
Python is a high-level, interpreted programming language
PPTX
Tech Workshop Escape Room Tech Workshop
Lecture 5 Software Requirement Engineering
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
CCleaner 6.39.11548 Crack 2025 License Key
Full-Stack Developer Courses That Actually Land You Jobs
BoxLang Dynamic AWS Lambda - Japan Edition
PDF-XChange Editor Plus 10.7.0.398.0 Crack Free Download Latest 2025
AI Guide for Business Growth - Arna Softech
Practical Indispensable Project Management Tips for Delivering Successful Exp...
Cybersecurity-and-Fraud-Protecting-Your-Digital-Life.pptx
How to Use SharePoint as an ISO-Compliant Document Management System
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
DNT Brochure 2025 – ISV Solutions @ D365
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Computer Software - Technology and Livelihood Education
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
Microsoft Office 365 Crack Download Free
HackYourBrain__UtrechtJUG__11092025.pptx
Download Adobe Photoshop Crack 2025 Free
Python is a high-level, interpreted programming language
Tech Workshop Escape Room Tech Workshop

Elm architecture

  • 1. Elm Architecture and it’s JavaScript offspring
  • 2. Architecture of what? - Elm the language http://elm-lang.org/ - Inspired by Ocaml & Haskell - Immutability, pure functions - Statically typed - no runtime exceptions (NaN, undefined is not function) - Client side only - Compiles to JavaScript
  • 3. Architecture basic ideas - First used in games - Pure functions - Immutable model - Unidirectional dataflow
  • 4. The Offspring - Redux - Cerebral - Cycle.js
  • 5. Redux - Created by Dan Abramov - Default choice for React applications - Huge ecosystem on npm - Lot’s of resources https://egghead.io/courses/getting-started-with-redux
  • 6. Redux principles - Single source of truth - State is read-only - Changes are made with pure functions
  • 8. Redux tools features - Lets you inspect every state and action payload - Lets you go back in time by “cancelling” actions - If you change the reducer code, each “staged” action will be re-evaluated - If the reducers throw, you will see during which action this happened, and what the error was - With persistState() store enhancer, you can persist debug sessions across page reloads https://github.com/gaearon/redux-devtools