Elsket eller hatet, JavaScript er språket som dominerer nettet. I årevis var det sett på som et klipp-og-lim søplespråk for å lage irriterende popups. Så gjorde Douglas Crockford det han kaller “årtusenets første viktige oppdagelse” helt i begynnelsen av år 2000 - nemlig det at inni JavaScript et sted skjulte det seg et jæskla bra språk. Så kom Gmail for fullt, JavaScript ble rebrandet som Ajax, og som ved et trylleslag var det hett å være frontendutvikler.

Våre anbefalinger

React: Rethinking best-practices
Anbefalt av Christian og Magnar

Pete Hunt, en av hodene bak JavaScript UI-rammeverket til Facebook og Instagram, React, forteller om tankene bak. Foredraget fra JSConf.eu 2013 utfordrer en del etablerte sannheter og presenterer en måte å tenke på web-frontend-programmering på som sammenfaller med klassisk UI-programmering og som virkelig fokuserer på separation of concerns.

How to Use npm as a Build Tool
Anbefalt av Christian

Grunt, Gulp og andre JavaScript-baserte task runnere skaper flere problemer enn de løser. Denne artikkelen viser på forbilledlig vis hvordan npm i de aller fleste tilfeller er mer enn tilstrekkelig, og tilbyr konkrete alternativer til de mest vanlige bruksområdene for Grunt og dens like. Omfavn en smidigere frontend-stack du også!

Test-driven JavaScript Development
Anbefalt av Magnus

Dette foredraget av Christian Johansen var en grunnene til at jeg i stor grad kastet jQuery-scripting på båten. En inspirerende og lærerik testdrevet sesjon hvor man lager en autocomplete-komponent.

Building User Interfaces With Facebook's React
Anbefalt av Magnar

Steven Luscher har en herlig stil når han i dette foredraget viser fram hvorfor React er bra greier. Underholdende og informativt!

Våre foredrag

I juni 2015 ble siste versjon av EcmaScript - spec-en til JavaScript - ferdigstilt. EcmaScript 2015 (eller EcmaScript 6 som det en gang het) er tidenes største oppgradering av språket, og i dette foredraget gjennomgås en hel haug med eksempler på nye features og hvordan de kan brukes. Alt kodes live med hjelp av Emacs.

Hva er immutability? Hva er hensikten? Kan man benytte seg av det i JavaScript? Hvordan? Hvilke konsekvenser har immutability for UI-programmering? Dette foredraget gir deg svar på disse spørsmålene, med mer til.

When it comes to functional programming techniques seeing widespread adoption in the JavaScript community, immutability is a strong contender for “next in line”. In this talk I’ll show you what immutability is all about, why it’s useful, and how to work with it. We’ll even put immutability to work in a React app and observe how we can reduce complexity while increasing performance.

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

Emacs Rocks WebDev Special

A high speed tour through some pretty darn snazzy features of Emacs when developing for the web. Even if you’re not looking to change editors any time soon, this talk should have you hacking at your own editor in the following break.

Zombie TDD: Live parprogrammering

Christian og Magnar setter oss ned med emacsen og parprogrammerer foran publikum. Se hvordan to typer som digger JavaScript angriper problemer og gjør koden testbar.

Pure JavaScript

Kast de objekt-orienterte krykkene og se denne introduksjonen til funksjonell programmering med JavaScript

Lyntale: Wrap Ajax'en din

Magnar tegner og forteller hvordan du får ryddig kode og trivelig testing ved å wrappe ajaxen din.

Mythbusters: JavaScript Edition

Få programmeringsspråk er omgitt av så mye unøyaktig, irrelevant og direkte feil informasjon og misforstått ‘hjelpematriell’. I dette foredraget tar Christian for meg noen av de vanligste misforståelsene, og prøver gjennom eksempler å oppgradere publikums JavaScript-kunnskap.

JavaScript design and architecture

En liten inspirasjonsprat om å finne gode abstraksjoner for frontend-programmering

Test-driven JavaScript Development

En praktisk gjennomgang av TDD i JavaScript. Foredraget er en times live-kode-sesjon der Christian lager et autocomplete/type-ahead søk, test-first.

Våre screencasts

Zombie TDD - Testdrevet JavaScript

Bli med når Magnar skal skrive et spill fra scratch med JavaScript og Node.JS - testdrevet etter beste evne. I løpet av serien parprogrammerer Magnar med gjestestjernene Christian Johansen og Johannes Brodwall - noen av episodene er endatil tatt opp foran et live publikum

InstaBuster: JavaScript testing with LightTable & Buster.JS

Screencast med en kort introduksjon til LightTable InstaBuster

Creating and Using Snippets in Light Table

Screencast som viser hvordan lage og bruke snippets i LightTable med lt-snippets

InstaBuster Part 2: Powerful JavaScript testing using Light Table and Buster.JS

Screencast med demo av dashboard og autotest features for LightTable InstaBuster

Våre sideprosjekter

Test-Driven JavaScript Development

Etter noen år med fordypning i og blogging om TDD med JavaScript kom Christian litt tilfeldigvis i kontakt med Addison-Wesley. Resultatet ble en bok som kom ut i 2010.

Learning Functional JavaScript

Et grundig videokurs i funksjonell programmering med JavaScript. Laget for Packt forlag i 2015.

mytomatoes

Et lite produktivitetsverktøy Magnar smalt sammen på en uke, som nå har flere tusen besøkende daglig - med 3,5 millioner 25 minutters arbeidsøkter registrert. Den første versjonen var kodet med PHP, men nylig lagde Magnar en Clojure backend som er litt morsommere å vedlikeholde.

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

Våre blogginnlegg

Som påskekvelden på kjerringa

For mange norske datasystemer virker det som helligdager og høytidsdager kommer som en overraskelse. Hvor vanskelig kan det egentlig være å lage et system som ikke setter betalingsfrist på en dag hvor bankene er stengt? Eller venter med å sende purring på tilbakelevering av ting til en dag man faktisk har åpent? Vi dykker ned i matte fra 1800-tallet og lurer på hvorfor dette ikke er implementert i alle norske datasystem…

Hva er frontendens domene?

En forutsetning for å treffe med softwaredesign er at vi har god kontroll på domenet vi opererer i. Men hva er egentlig domenet til frontendkoden din?

Håndtering av spaces i HTML

Mesteparten av whitespace i HTML er irrelevant og fjernes av browseren. Så lenge vi lager HTML-koden selv fungerer dette flott. Men hva skjer om man for eksempel lager en editor som skal støtte HTML både inn og ut - og noen limer inn HTML-kode med forskjellig typer spaces?

Spør oss om JavaScript