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

The Future of JavaScript MVC Frameworks
Anbefalt av Christian

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.

Literate interactive coding: Devcards
Anbefalt av Magnar

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.

The Pain we forgot
Anbefalt av Odin

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!

Våre foredrag

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 Odin flere grunner til at ClojureScript er verdt å vurdere til ditt neste prosjekt.

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

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å.

Magnar og Christian parprogrammerer nettspill med Clojure og ClojureScript på JavaZone. Det blir funksjonell programmering, testdrevet utvikling og to tomsinger fra Østfold.

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).

Våre screencasts

Zombie CLJ - Clojure og ClojureScript

I denne oppfølgeren til ZombieTDD lager Christian og Magnar 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.

Parens of the dead

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

Elm package docs preview in Light Table

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

Managing and diagramming elm packages with d3 in Light Table

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

The Groovy Light Table Plugin

Screencast om bruk av Groovy og Gradle i Light Table

A pinch of Clojure love to Light Table

Screencast som demonstrerer kule features i min Light Table refactoring plugin

Clojure refactoring in Light Table

Screencast som demonstrerer litt av min Light Table refactoring plugin

Elm plugin for Light Table

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

Våre sideprosjekter

TempCalc

Temperatur er viktig i gjærbakst. Ideellt sett angir en oppskrift hvilken temperatur deigen skal ha etter endt elting. Denne kalkulatoren hjelper deg med å finne riktig temperatur på vannet for å nå en gitt deigtemperatur. Og andre temperatur-kombinasjonsproblemer.

Light Table

Etter å ha vært en ivrig bruker av Light Table i 1,5 år, bestemte Magnus 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 !

Vår fri programvare

  • AsciiLight - Light Table plugin for live-edit visning av Asiidoctor dokumenter
  • Canvas-fn - Canvas-baserte visualiseringer laget med ClojureScript
  • Clj-Light-Refactor - Plugin som gir Clojure refactoring support til Light Table
  • Elm Light Table Plugin - Light Table plugin for Elm. Syntax-highlighting, repl/inline eval, elm reactor integrasjon mm
  • LightTable InstaBuster - Light Table plugin for BusterJS
  • 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!
  • data-frisk - Støtteverktøy for å visualisere data i trestrukturer
  • dumdom - Et lettvektsalternativ til React for ClojureScript: Komponenter for snabbdom som er API-kompatible med Quiescent.
  • flare - Et verktøy som forbedrer rapportering av feilende tester for Clojure.
  • gadget-inspector - Utviklingsverktøy for ClojureScript og Clojure - visualiserer data i en Chrome-extension slik at man har full innsikt i kjøretids-tilstanden til applikasjonene under utvikling.
  • lt-snippets - Snippet/templates plugin for Light Table
  • pharmacist - Et bibliotek for deklarativ utførelse av en serie operasjoner som kanskje kan feile. Typisk use-case er orkestrering av nettverkskall, men Pharmacist er ikke begrenset til dette.
  • rewrite-cljs - ClojureScript port av rewrite-clj. Bibliotek for traversering og omskriving av Clojure/ClojureScript/EDN- kode

Våre blogginnlegg

Sy sammen s-expressions med thread-first og -last

Når man er ny til Clojure er macro-ene -> og ->> temmelig forvirrende. Ikke bare er de vanskelige å søke etter på nett, men koden ser også helt mystisk ut. Heldigvis er det ikke lenge til du blir nyforelska og bruker dem overalt. Kanskje etter denne bloggposten?

Nostalgibølge
Av Odin

Jeg husker det som om det var i går. Dagen da Commodore ble byttet ut med en Amiga 500. Det var første gang jeg så en sinusbølge flyte over skjermen. Hvordan lager man egentlig det?

CSS animasjoner i ClojureScript - Del 1: CLJSS

I 2018 fikk jeg sjansen til å jobbe i et spillprosjekt. Da ble det etterhvert mange og sammensatte animasjoner som bød på flere spennende utfordringer. I dette innlegget skriver jeg litt om hvordan vi løste CSS in JS for ClojureScript og hvordan vi brukte det til animasjoner.