Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Om/React.js/Clojurescript: An introduction
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Peter Brachwitz
May 21, 2014
Programming
300
1
Share
Om/React.js/Clojurescript: An introduction
An introduction to Om/React.js/ClojureScript
Peter Brachwitz
May 21, 2014
More Decks by Peter Brachwitz
See All by Peter Brachwitz
Core.async
pebrc
0
74
Introduction to Clojure for Java Devs
pebrc
1
82
Other Decks in Programming
See All in Programming
tRPCの概要と少しだけパフォーマンス
misoton665
2
270
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
140
My daily life on Ruby
a_matsuda
3
190
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
10 Tips of AWS ~Gen AI on AWS~
licux
5
540
【26新卒研修】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
140
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
130
Explore CoroutineScope
tomoeng11
0
170
Making the RBS Parser Faster
soutaro
0
670
Agentic UI in the Frontend: Architectures with Open Standards @JAX 2026 in Mainz
manfredsteyer
PRO
0
110
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.6k
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
320
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
420
First, design no harm
axbom
PRO
2
1.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
4 Signs Your Business is Dying
shpigford
187
22k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
210
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
350
A better future with KSS
kneath
240
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
Odyssey Design
rkendrick25
PRO
2
610
Utilizing Notion as your number one productivity tool
mfonobong
4
300
Transcript
OM AN INTRODUCTION / Peter Brachwitz @p_brc
WHAT? ... WHY? A new way of building web UIs
using Facebook's new React.js library ... but in ClojureScript with added "functional" benefits.
PARTIES INVOLVED 1. ClojureScript 2. React.js 3. Om
CLOJURESCRIPT A Clojure compiler that emits JavaScript code
Its output can be optimized with Google's Closure compiler
ALL OF CLOJURE? Almost. Excluded are the bits that don't
make sense in a JavaScript environment.
THINGS THAT WON'T WORK: Concurrency : Refs, Agents Data types:
BigDecimal, BigInteger, Ratio Host (Java, CLR) IO related things: *out* Full list of differences on GitHub
REACT.JS? A JavaScript library for building user interfaces
MVC? No.
MVP? No.
MVVM? No.
SIMPLE Just the view. No models. No controllers.
REACTIVE Data flow into the UI
FAST Let v be a virtual DOM dif f (
, ) = Δ v 0 v 1
WHY? JavaScript is fast DOM mutation is slow Minimize DOM
mutation and gain performance
OM A ClojureScript interface to React.js written by David Nolen
IMMUTABLE, PERSISTENT DATA STRUCTURES Snapshots, Undo, efficient rendering
xs d b g a c f h ys d'
g' f' e Source http://en.wikipedia.org/wiki/File:Purely_functional_tree_after.svg
TYPICALLY: CENTRALIZED APPLICATION STATE Using Clojure's atom (CAS) and om's
transact!
NO (VIEW) MODELS Cursors into global application state
LET'S LOOK AT SOME CODE!
SOURCES Om on Github Basic Om Tutorial React on Github
Comparing JavaScript and ClojureScript A ClojureScript tutorial by David Nolen