ClojureScript

ClojureScript er en kompilator for Clojure med JavaScript som target-plattform. Med andre ord tilbyr ClojureScript alle fordelene som Clojure gjør, nå også for frontendkoden din. Kompilatoren benytter seg av Googles Closure compiler, og produserer kode som er kompatibel med dennes aggressive optimeringsmodus.

David Nolens Om kombinerer ClojureScripts persistente datastrukturer med Facebooks React, og leverer en svært interessant pakke for grensesnittsutvikling som flere av oss i Kodemaker følger med haukeøyne.

Våre anbefalinger

Literate interactive coding: Devcards

Tester du UI-komponentene dine ved å klikke omkring i applikasjonen og gjenskape situasjoner manuelt? Unødvendig. Tidssløseri. Frustrerende. Bruce Hauman viser vei med Devcards. Se foredraget

The Future of JavaScript MVC Frameworks

David Nolen, Clojurescript-superstjerne, forteller om sitt ‘Om’, Clojurescript-API over Facebook’s React. Om går enda noen skritt fra hva React tilbyr ved å servere hele pakka med immutable datastrukturer og et funksjonelt API. Artikkelen viser samtidig hvordan dagens mest populære MVC-rammeverk for JavaScript er langt fra å tilby en tilfredstillende løsning på problemene vi som frontendutviklere møter. Les artikkelen

The Pain we forgot

Dette er en påminner om smertene ved systemutvikling som vi har blitt så vant til at vi ikke stiller spørsmål ved de lenger. Det finnes et enormt rom for forbedring! Det vi glemte

Våre bloggposter

Elm Light 0.4.0 - AST driven Elm features in Light Table using PEG.js

For å kunne tilby enda mer avansert Elm støtte i Light Table har jeg implementert en hjemmesnekret AST vha peg.js. Dette har gitt vesentlig forbedret autocomplete og endel hendige refactor relaterte funksjoner. Les posten

Elm and ClojureScript joining forces in the elm-light plugin

Jeg tenkte det måtte være kult å se om man kunne få Elm og ClojureScript til å spille sammen i Light Table. I denne blogposten forklarer jeg hvordan jeg implementerte en Modul utforsker vha både Elm og ClojureScript Les posten

ClojureScript - Performance tuning rewrite-cljs

Rewrite-cljs er mitt bibliotek for å traversere og omskrive clojure/clojurescript kode. I denne blogposten forteller jeg litt om hvordan jeg tunet ytelsen bl.a ved å komme nærmere jernet (JavaScript) Les posten

Showcasing rewrite-cljs - Parembrace for Light Table

En liten fortelling om stegene jeg gikk igjennom for å lage en skikkelig paredit plugin for Clojure/ClojureScript i Light Table. Et nytt ClojureScript bibliotek ble unnfanget i processen. Les posten

Implementing a Clojure ns-browser in Light Table with React

Buzzword compliant post om hvordan man elegant kan bruke React.JS for implementering av view-logikk i Light Table. Posten går også i dybden på den grunnleggende arkiteturen i Light Table Les posten

Taming those pesky datetimes in a clojure stack

En liten erfaringsrapport med tips og triks for hvordan håndtere datoer i Clojure/ClojureScript i en tjeneste/lagdelt arkitektur Les posten

Implementing a Clojure threading refactoring in ClojureScript using Light Table

En kort gjennomgang av hvordan man kan implementere en refaktoreringsfunksjon i Light Table vha clojure.zip Les posten

A Groovy Light Table client - Step 5: Gradle dependencies in Light Table with dagre-D3

Del 5 i en blog serie hvor jeg beskriver stegene jeg tar for å forsøke å lage en dugandes Groovy plugin for Light Table. Del 5 kombinerer det rike api’et i Gradle og fleksibiliteten i Light Table til å vise dependency grafer vha D3. Kule greier ! Les posten

A Groovy Light Table client - Step 4: Exploring new avenues with Gradle

Del 4 i en blog serie hvor jeg beskriver stegene jeg tar for å forsøke å lage en dugandes Groovy plugin for Light Table. Del 4 handler om implementasjon av Gradle støtte for uthenting og bruk av classpath, samt opplisting og eksevkvering av tasks Les posten

A Groovy Light Table client - Step 3: Running out of quick wins

Del 3 i en blog serie hvor jeg beskriver stegene jeg tar for å forsøke å lage en dugandes Groovy plugin for Light Table. Del 3 handler om noen små forbedringer for å gi en REPL lignende opplevelse med Groovy. Les posten

A Groovy Light Table client - Step 2: Evaluating Code

Del 2 i en blog serie hvor jeg beskriver stegene jeg tar for å forsøke å lage en dugandes Groovy plugin for Light Table. Del 2 handler om hvordan jeg får evaluert Groovy kode og vist resultater inline i Light Table. Les posten

A Groovy Light Table client - Step 1: Connecting the client

Del 1 i en blog serie hvor jeg beskriver stegene jeg tar for å forsøke å lage en dugandes Groovy plugin for Light Table. I denne posten beskriver jeg hvordan jeg kobler opp Light Table til en Groovy klient-prosess. Les posten

Tiltrekkende 3D på web

Hvordan kan man bruke WebGL og ClojureScript sammen Les posten

Interaktiv programmering

Den tradisjonelle arbeidsflyten til utviklere er for treg. Interaktiv programmering er en lovende teknikk som gir deg en ekstremt kort feedback-loop. Les posten

Canvas og tiltrekningskraft

Jeg leste en fantastisk interessant bok som handler om hvordan man kan lage digitale verdener basert på matematiske prinsipper, Nature of code. Den inspirerte meg til å visualisere et enkelt system med ClojureScript og Canvas Les posten

Våre presentasjoner

Webutvikling med Clojure

Det finnes et utall plattformer for å lage webapplikasjoner; så hvorfor skal du vurdere Clojure? Fordi det gir deg enklere løsninger, raskere utvikling og færre feil. Ta sjansen til å bli kjent med et språk som vil forandre måten du tenker på. Se video

Interaktiv programmering med ClojureScript

Interaktiv programmering er en teknikk som gir deg en umiddelbar nærhet til koden din og åpner opp for en ekstremt kort feedbackloop. Se video

The Groovy Light Table Plugin

Screencast om bruk av Groovy og Gradle i Light Table Se video

Functional UI Programming

En introduksjon til React.js, med sammenligning av populære MC*-rammeverk, samt et eksempel på bruk i form av live-koding av minesveiper med ClojureScript og Om (en React-wrapper). Se video

3 grunner til at ClojureScript gir deg superkrefter

Trenden i webutvikling går mot mer og mer avanserte klienter skrevet i JavaScript. ClojureScript er et pragmatisk språk som hjelper deg til å lage enklere løsninger. Her belyser jeg flere grunner til at ClojureScript er verdt å vurdere til ditt neste prosjekt. Se video

ZombieCLJ: Live parprogrammering

Se Christian og Magnar parprogrammere på nettspill med Clojure og ClojureScript. Denne økten er for de som syns det er moro å se folk parprogrammere mens de prater om hva de driver med. Det blir Clojure med hanskene av, så man må tåle å ikke forstå alt. De som er helt nye til funksjonell programmering kan muligens få eksplodert hodet. Definitivt live koding. Se video

A pinch of Clojure love to Light Table

Screencast som demonstrerer kule features i min Light Table refactoring plugin Se video Se koden

Elm plugin for Light Table

Screencast som demonstrerer første versjon av min elm plugin for Light Table Se video Se koden

Managing and diagramming elm packages with d3 in Light Table

Screencast hvor jeg demonstrerer avhengighetshåndtering og viser avhengighetsgraf (laget med d3) for min Elm Light Table plugin. Se video Se koden

Elm package docs preview in Light Table

Screencast som demonstrerer forhåndsvisning av pakke dokumentasjon for Elm i Light Table. Se video Se koden

Clojure refactoring in Light Table

Screencast som demonstrerer litt av min Light Table refactoring plugin Se video Se koden

Sideprosjekter

Parens of the Dead

Mer zombier og Clojure, denne gangen på engelsk. Jeg tenkte det kunne være moro å lage noe for et større publikum. Litt mer finpussa og litt mindre jovialt enn originalen. Se videoene

Light Table

Etter å ha vært en ivrig bruker av Light Table i 1,5 år, bestemte jeg meg sommeren 2015 til å ta steget opp å joine opensource teamet til Light Table for å forsøke å gjenopplive prosjektet. Det er nok å ta tak i for å si det sånn ! Light Table på Github

ZombieCLJ

I denne oppfølgeren til ZombieTDD lager Magnar og jeg spill med Clojure og ClojureScript. Det går i parprogrammering hele veien. Og jaggu skriver vi ikke flere tester først. Skulle tro XP hadde noe for seg. Se videoene

Open source

  • Odin utviklet Canvas-fn. Canvas-baserte visualiseringer laget med ClojureScript
  • Magnus utviklet Clj-Light-Refactor. Plugin som gir Clojure refactoring support til Light Table
  • Odin utviklet data-frisk. Støtteverktøy for å visualisere data i trestrukturer
  • Magnus utviklet LightTable-Groovy. Groovy plugin for Light Table. Steg 1 er å lage et langt bedre Groovy Console. Steg 2 er helt åpent. Sky’s the limit!
  • Magnus utviklet AsciiLight. Light Table plugin for live-edit visning av Asiidoctor dokumenter
  • Magnus utviklet LightTable InstaBuster. Light Table plugin for BusterJS
  • Magnus utviklet rewrite-cljs. ClojureScript port av rewrite-clj. Bibliotek for traversering og omskriving av Clojure/ClojureScript/EDN- kode
  • Magnus utviklet Elm Light Table Plugin. Light Table plugin for Elm. Syntax-highlighting, repl/inline eval, elm reactor integrasjon mm
  • Magnus utviklet lt-snippets. Snippet/templates plugin for Light Table