Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ClojureScript: what are you?

ClojureScript: what are you?

Roman Liutikov

March 12, 2016
Tweet

More Decks by Roman Liutikov

Other Decks in Programming

Transcript

  1. (ns app.core (:require [cljsjs.react-dom :refer [render]])) (def app-component ;; code

    ) (render app-component (js/document.getElementById "app"))
  2. Why ClojureScript? • Functional programming • Immutable data (mori in

    JS) • Great standard library + Google Closure Libraries • Interactive development • Robust libraries • Great optimizing compiler (dead code elimination, tree-shaking and more)
  3. Learn once, use anywhere • Server-side: JVM, Node.js • Client-side:

    ClojureScript + React.js • Desktop: ClojureScript + Electron • Mobile: ClojureScript + React Native
  4. Tools Build • Leiningen (dependencies + Grunt in JS) •

    Boot (dependencies + Gulp in JS) • Figwheel (Webpack’s HMR in JS) • Devcards (visual interactive development)
  5. Libraries • clojars.org (NPM in JS) • cljsjs.github.io (for JS

    deps) • clojurewerkz.org • www.clojure-toolbox.com
  6. How to try ClojureScript? • jsbin.com • cljsfiddle.com (Reagent) •

    clojurescript.net (Web REPL) • planck-repl.org (OSX REPL) • Replete (iOS REPL)
  7. Where to learn more? • clojurescriptkoans.com • kanaka.github.io/clojurescript/web/synonym.html • cljs.info/cheatsheet

    • clojuredocs.org • github.com/clojure/clojurescript/wiki • gitter.im/dev-ua/clojure • clojurians.net