Skip to content
This repository has been archived by the owner. It is now read-only.

thi-ng/ws-ldn-5

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

WS-LDN-5

Hi-performace Clojurescript w/ thi.ng, WebGL, Web Workers, WebSockets & asm.js

Repository

git clone git@bitbucket.org:postspectacular/ws-ldn-5.git

Will be moved to GitHub later…

Day 1

Overview

  • CLJS requires different optimization strategies than Clojure
  • Focus on CPU-bound issues
  • Hard time limits due to human perception & UI usability
  • Graphics, especially if animated, often high computational demands

ex01 - Game of Life

  • basic demo of idiomatic CLJS code performance
  • various ways of optimizing
  • benefit from constrained mutability
  • intro to typed arrays, benefits

Also:

  • use thi.ng/domus for easy (non-React) DOM creation/manipulation
  • use thi.ng/strf for string formatting / parsing

Source

ex02 - SVG visualizations & animation

  • SVG is powerful, easy to generate, but highly inefficient for realtime
  • Most geometry data only passed via strings (DOM attributes)
  • Requires 2x work, 3x memory (lots of string concat, then parsing + rendering + compositing)
  • Usually 2D only, but can use thi.ng/geom to render as 3D (w/ customizable shading)

Source

ex03 - WebGL basics

Source

WebGL & GLSL specs

Day 2

Day 3

About

Hi-performace Clojurescript w/ thi.ng, WebGL, Web Workers, WebSockets & asm.js

Topics

Resources

Stars

Watchers

Forks