Välkommen till Umeå Java User Group, en grupp för alla som är intresserade av java och angränsande ämnen. Vi träffas andra tisdagen 18.00 varje månad.

  1. JUG-mötena handlar om nätverkande framför sälj och rekrytering

  2. JUG präglas av individer framför företag

  3. JUG handlar om kunskapsutbyte framför envägsinlärning


Låter det här intresant anmäl dig till vår meetup eller maila oss.

måndag 26 november 2012

Clojure med Tim Berglund

Sent omsider kommer här en rapport från Umejugs senaste sammankomst. Tim Berglund var med oss på länk från Littleton Colorado och jag måste säga att det är lika fascinerande varje gång att se hur bra Google Hangout fungerar. Tim Berglund jobbar på Github, har skrivit en bok om Gradle och är en uppskattad talare på konferenser. 12 st nyfikna hade slutit upp till Tripple Helix i Samverkanshuset på universitetet och det blev en mycket lyckad träff.

Ämnet för kvällen var Clojure och ClojureScript. Clojure är ett dynamiskt och funktionellt programmeringsspråk som kompileras till Java bytekod och som kan köras i JVM:en. Det är en dialekt av Lisp och har tillgång till Javas klasser och programbibliotek. Clojure har fått en hel del uppmärksamhet som ett av de mest innovativa språk som går att köra på JVM. 

Tim började med att gå igenom Clojure och dess REPL med oss. En REPL, på inget vis unikt för Clojure, är en exekveringsmiljö direkt i shellet vilket gör det mycket lätt att prova sig fram och utforska ett språk. Tim visade oss syntaxen för Clojure bla variabler, collections och hur man definierar funktioner.

Efter en kort rast var det dags för ClojureScript som är en dialekt av Clojure som kompilleras till JavaScript-kod och körs i webbläsaren. ClojureScript har tillgång till webbläsarens objektmodell och drar nytta av Google Closure Compiler för att optimera prestandan. Lite förvirrande då Clojure och Closure uttalas på samma sätt. Med ClojureScript erbjuds dessutom en naturlig integration med Clojure som körs på serversidan.

Tim använde exempelprojektet hello (clojurescript/samples/hello) som grund till sin demo och visade hur en clojurefunktion kan summera alla värden i en array och visa svaret i en javascript alert. I demo nummer 2 modifierade han DOM:en på sidan genom att lägga in text i en tom rubrik.

Tim var noga med att påpeka att ClojureScript än så länge är lite kantigt, det finns inte så mycket dokumentation och det är lite besvärligt att installera. Vi har dock fått instruktioner för att installera ClojureScript på MacOS, tyvärr så klarar inte Blogger av att rendera Markdown i en inkluderad gist. Jag hoppas att ni kan stå ut med raw markdown :)

Avslutningsvis nämnde han lite om hur man kör Clojure i en webapp på serversidan med hjälp av ramverket Ring: https://github.com/ring-clojure/ring.

Länkar:


Några bilder.



Inga kommentarer:

Skicka en kommentar