Practicalli
Introduction
Getting Started
Install Clojure
Browser DevTools
ClojureScript Project
Simple project
Reagent project
Reagent Overview
Hiccup style syntax
Bulma CSS
Deploy ClojureScript
GitHub Pages
GitLab Pages
Reagent: ClojureBridge website
Create project
Add Bulma CSS
Run the project
Live reloading
Hiccup for HTML
REPL workflow
Organising the code
Add welcome message
Add welcome section
Responsive design
App State section
GitHub pages deploy
Deploy build
Add Content namespace
Add more sections
Navigation bar
Interacting
Reagent: tic-tac-toe game
Create Project
Add Project to Git
Start the REPL with Figwheel
Test Figwheel
Chrome DevTools
Cljs DevTools addon
Review reagent Project
Figwheel Helper functions
Interact with the REPL
Via the Editor
Evaluate code in REPL
REPL in dev console
Reagent Design
Defining Components
Manage app-state
Reloading State
Component: tictactoe-game
Design Game board
Component: Game board
Hiccup style syntax
Scalable Vector Graphics
React unique index
Render Game Board
Update Game Board
Refactor into components
Empty Cell
Nought Cell
Cross Cell
Button: Start a new game
Computer moves
Basic move
REPL experiments
Random available cell
Detecting Victory
Experiments in the REPL
Experiments in the REPL - Pattern matching
Victory function
Reference
ClojureScript Overview
Single Page Apps
Compiling to JavaScript
ClojureScript platforms
Functional Programming
Reactive apps
Facebook React
Om and Om Next
Reagent
Re-frame
React Native
Why ClojureScript
Community
Lightweight
Google Closure
Tooling
Interactive workflow
Source Maps
Interoperability
Immutability
Why not JavaScript
Who uses ClojureScript
Self-hosted ClojureScript
JavaScript libraries
Web Design basics
Bootstrap
Jumbotron
Bootstrap website
Old Material - under review
Clojurescript Quickstart
Create basic project
Hello World
Create build file
Build Project
Create a web page
Google Closure
Reduce boilerplate
Auto-building
Browser REPL
Production Build
Dependencies
node.js
Java Nashorn
Lumo
Self Hosted Clojurescript
Figwheel
Features
Flappy Birds demo
Using Figwheel
Configure Build
Server-side Config
Client-side use
Client-side Config
File Reloads
REPL Control
Editor REPLs & nREPL
Scripting Figwheel
Scripting with Component
Re-loadable Code
Figwheel Project
Create Project
ClojureScript file
Project Build file
Run Figwheel
Web Page
Run Figwheel again
Add a counter
Auto Reloading
Serving assets
Using the REPL
Clojurescript Examples
JavaScript Alerts
Writing to the JavaScript console
Buttons
Forms
Functional Reactive Programming
react.js
Project: Calculator
Create Project
Reagent
Reagent Project: ClojureX
Create Project
Start the REPL
Project so far
Interact with the REPL
Create Conference Title
Designing Session Model
Display Session in root-component
Refactor to Multi-Session Model
Refactor root-component for sessions
Defining new session data
Adding session data to State
Include Bootstrap
Add a Container
Add Header Style
Add Session Style
Create Sessions Component
Add Session Form
Re-frame
Re-frame ToDo MVC
Om
Overview
Om Project: ClojureX
Create Project
Start the REPL
Interact with Project
Create Conference Title
Designing Session Model
Display Session in root-component
Refactor to Multi-Session Model
Refactor root-component for sessions
Defining new session data
Adding session data to State
Include Bootstrap
Add a Container
Add Header Style
Add Session Style
Create Sessions Component
Add Session Form
Om Cursors
Form Click Handler
Create local State for form
Use local state in session form
Connect form to local state
Add Cursor to Local State
Create Form Component
Testing
Reference
Namespaces
Clojars
Related Libraries
Projects with Leiningen
Create a project
Run the REPL
Profiles overview
Adding a dev profile
Templates
Plugins
Development Environments
Java
Leiningen
LightTable
Other tools
Testing
Clojure Syntax
Basic Syntax
Clojure data types
Strings
Maths
Naming & Binding
Functions
Persistent Data Structures
Lists
Maps
Vectors
Sets
Destructuring
Control flow
Local Assignment
Production
Externs
Author: Practicalli
Production
Production Clojurescript
Good practices when putting Clojurescript into production
Advanced Compilation
Externs
Deployment
Debugging in production
results matching "
"
No results matching "
"