ria-utveckling kalmar
DESCRIPTION
TRANSCRIPT
AvanceradJavaScript
RIA-utveckling med
Bakgrund
•Del i Webbprogrammeringsutbildningen i Kalmar
•Basic JavaScript, HTML, OOP förutsätts•Vacuum i högskolevärlden
Mål
•Kontextuell bild av JavaScript
•Översikt av RIA-utveckling•Resursinventering
Upplägg
•Utvecklar en applikation steg för steg
•Versionshantering via GitHub•Projektstyrning via Manymoon
•Iterativ rapportering
Kurssteg
•Inledning
•Utvecklingsmiljö•Arkitektur
•Programmering
•Klientsidedata
•Interface
•Optimisering
•Utvärdering
Steg 0 - Inledning
•Applikationsidé: Programmet som skall byggas•Resurser: Litteratur, internet, övrigt•JavaScript: Nuvarande relation
Steg 1 - Utvecklingsmiljö
•Skrivmiljö: Aptana, Crimson Editor, VS ..
•Testmiljö: FF+firebug, IE, venkman ..
•Kodmiljö: Github
•JSLint: Teknisk lösning & inställningar•Projektmiljö: Manymoon
Steg 2 - Arkitektur
•HTML-skal: Ingående sidor, beståndsdelar
•Singleton: Namespace, design patterns
•Objekt: UML
•Event handling: Delegation•Serverkommunikation: Ajax, JSONP ..•Dokumentation: JSDoc
Steg 3 – Unit testing
•Koncept: Behaviour driven development
•Implementation: JSpec
Steg 4 - Programmering
•Funktionalitet: Uppfylla testen
•Hjälpbibliotek: Vilket, var & varför
Steg 5 - Klientsidedata
•Användning: Vilken data, när
•Tekniker: Cookies, UserData, HTML5, Gears, Flash, Air
•Hjälpbibliotek: Persist
Steg 6 - Interface
•Widgets: jQuery UI, Ext, ..
•Dynamisk grafik & animation: Canvas, SVG, DOM
•Accessibility: Ajax back forward, keys, mousewheel, ARIA
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
Steg 8 - Utvärdering
•Applikationen: Jämför kravspec / Jspec, problem
•Arbetsgången: dvs kursutvärdering
•JavaScript: samma inställning?