Angular.js (slides)
Mattias Sällström på Omegapoint berättade om Angular.js som används på ITS för att bygga nästa generation av Ladok.Mattias visade exempel som tog upp
- Scope
- Controller
- View
- Directive
- Resource
- Filter
- Routing
- Modules
- Dependency Injection
Knockout.js
Jonas Andersson på Metria berättade om Knockout.js utifrån sina erfarenheter vid bygget av garmins ehandel.Jonas visade exempel på vad en single page application inte är, och exempel på vad det är. Han diskuterade även runt MVVM, och att skillnaden mot MVC framförallt är att särskilja den som client-side only.
Som exempel på Knockouts Declarative Bindings, Automatic Refresh, etc gick vi igenom några av knockout.js tutorials:
- Introduktion där vi fick exempel på text-binding, value-binding, click-binding och observables.
- Working with lists and collections för att få lite mer känsla för Declarative Bindings.
- Loading and saving data som exempel på hur man läser och skriver till REST med Knockout.js och jQuery.
Avslutningsvis pratade Jonas om andra verktyg som använts i anslutning till Knockout.js:
Bootstrap | Look great easily; grid, components, etc. |
LESS | CSS dynamics |
Knockout | Knockout-Plugin: Publish/Subscribe between ViewModels. |
Webshim | Polyfiller, enable html5 support in browsers without |
Modernizr | Detect html5 support. |
Leaflet | Map functionality and with WMS and tablet/smartphone support. |
Wro4j | Minify/Compile JS and CSS. |
Diskussion
Den efterföljande diskussionen kom att handla mycket om erfarenheter av IntelliJ IDEA, Eclipse, och Sublime. Generellt verkar det som att de som kört både IDEA och Eclipse föredrar IDEA för javascript:- Bättre kodformatering och code completion
- Bättre stöd för refaktorering
- Plugins funkar bättre
Andra resurser
Andra resurser som togs upp under kvällen var- SASS - Makes CSS fun again
- RFT - Rational Function Tester
- Selenium - Browser automation
- yeoman.io - Modern workflows for modern webapps
- TodoMVC - Implementerar todolist i "alla" MVC-ramverk för jämförelse.
- Sublime
- Chrome devtools