ria-utveckling kalmar

14
Avancerad JavaScript RIA-utveckling med

Upload: david-waller

Post on 12-Jan-2015

1.394 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: RIA-utveckling Kalmar

AvanceradJavaScript

RIA-utveckling med

Page 2: RIA-utveckling Kalmar

Bakgrund

•Del i Webbprogrammeringsutbildningen i Kalmar

•Basic JavaScript, HTML, OOP förutsätts•Vacuum i högskolevärlden

Page 3: RIA-utveckling Kalmar

Mål

•Kontextuell bild av JavaScript

•Översikt av RIA-utveckling•Resursinventering

Page 4: RIA-utveckling Kalmar

Upplägg

•Utvecklar en applikation steg för steg

•Versionshantering via GitHub•Projektstyrning via Manymoon

•Iterativ rapportering

Page 5: RIA-utveckling Kalmar

Kurssteg

•Inledning

•Utvecklingsmiljö•Arkitektur

•Programmering

•Klientsidedata

•Interface

•Optimisering

•Utvärdering

Page 6: RIA-utveckling Kalmar

Steg 0 - Inledning

•Applikationsidé: Programmet som skall byggas•Resurser: Litteratur, internet, övrigt•JavaScript: Nuvarande relation

Page 7: RIA-utveckling Kalmar

Steg 1 - Utvecklingsmiljö

•Skrivmiljö: Aptana, Crimson Editor, VS ..

•Testmiljö: FF+firebug, IE, venkman ..

•Kodmiljö: Github

•JSLint: Teknisk lösning & inställningar•Projektmiljö: Manymoon

Page 8: RIA-utveckling Kalmar

Steg 2 - Arkitektur

•HTML-skal: Ingående sidor, beståndsdelar

•Singleton: Namespace, design patterns

•Objekt: UML

•Event handling: Delegation•Serverkommunikation: Ajax, JSONP ..•Dokumentation: JSDoc

Page 9: RIA-utveckling Kalmar

Steg 3 – Unit testing

•Koncept: Behaviour driven development

•Implementation: JSpec

Page 10: RIA-utveckling Kalmar

Steg 4 - Programmering

•Funktionalitet: Uppfylla testen

•Hjälpbibliotek: Vilket, var & varför

Page 11: RIA-utveckling Kalmar

Steg 5 - Klientsidedata

•Användning: Vilken data, när

•Tekniker: Cookies, UserData, HTML5, Gears, Flash, Air

•Hjälpbibliotek: Persist

Page 12: RIA-utveckling Kalmar

Steg 6 - Interface

•Widgets: jQuery UI, Ext, ..

•Dynamisk grafik & animation: Canvas, SVG, DOM

•Accessibility: Ajax back forward, keys, mousewheel, ARIA

Page 13: RIA-utveckling Kalmar

Steg 7 - Optimisering

•Profilering: Firebug Net, Hammerhead, ..

•Exekvering: FireUnit, ..

•Chunking: Single thread, timers, web workers•Caching: Preload content, memoize JS

•Memory management: Leaks, GC

•Code serving: Script tag placement, LabJS, Payload split

•Förpackning: Gzip, minification, packing

Page 14: RIA-utveckling Kalmar

Steg 8 - Utvärdering

•Applikationen: Jämför kravspec / Jspec, problem

•Arbetsgången: dvs kursutvärdering

•JavaScript: samma inställning?