javascript tar hevn

30
Javascript tar hevn Pål Fossmo @fossmo [email protected]

Upload: fossmo

Post on 06-Jul-2015

635 views

Category:

Education


3 download

DESCRIPTION

Presentasjon holdt på MVP Live 2012. Kode finnes her: https://github.com/fossmo/todolist

TRANSCRIPT

Page 1: Javascript tar hevn

Javascript tar hevn

Pål Fossmo

@fossmo

[email protected]

Page 2: Javascript tar hevn

De som har begravet Javascript må tenke om igjen.

Page 3: Javascript tar hevn

AGENDA

Hvorfor lære Javascript?

Rammeverk

Nodejs og Windows Azure

Page 4: Javascript tar hevn

Hvorfor lære Javascript?

JavaScript is a prototype-based scripting

language that is dynamic,

weakly typed and has first-class functions. It is a

multi-paradigm language,

supporting object-oriented, imperative, and

functional programming styles.

Wikipedia.com

Page 5: Javascript tar hevn
Page 6: Javascript tar hevn

Hvorfor lære Javascript?

Page 7: Javascript tar hevn
Page 8: Javascript tar hevn

Nytt

webprogrammerings

rammeverk

Page 9: Javascript tar hevn
Page 10: Javascript tar hevn

JA

VA

SC

RIP

TK

LIE

NT

SE

RV

ER

DA

TA

BA

SE

Page 11: Javascript tar hevn
Page 12: Javascript tar hevn
Page 13: Javascript tar hevn

OVERBEVIST?

Page 14: Javascript tar hevn

RAMMEVERK

Page 15: Javascript tar hevn

“One page”

Prosessering

Spine.js

MVC/MVVM

JSONJSON

Page 16: Javascript tar hevn

MVVM:

Model datastruktur

ViewModel presentasjon

View viser data

Alle

nettlesere

Declarative binding

Bruker “data-bind”

for å binde til

modellen

Bindinger:

visible, text, html, css

, style, attr, template

click, event, submit,

enable, disable, valu

e, checked, options,

selectionOptions, uni

queName

Holder orden på endringer

i viewmodellen oppdater

GUI.

Endringer “trackes” med:

ko.observable(<type>)

Ko.observableArray(<array>)

Utvidbar

Observable

(Silverlight)Knockoutjs.com

Gjør deg effektiv!

Page 17: Javascript tar hevn

TODO

Page 18: Javascript tar hevn
Page 19: Javascript tar hevn

function Task(description, minutes) {

var self = this;

self.description = ko.observable(description);

self.minutes = ko.observable(minutes);

};

TODO

Opprett modellen

Page 20: Javascript tar hevn

function TasksViewModel() {

var self = this;

self.tasks = ko.observableArray([

new Task("Forstå hvordan knockoutjs fungerer.", "25"),

new Task("Spise lunsj", "60")

]);

self.totalMinutes = ko.computed(function(){

var total = 0;

$.each(self.tasks(), function(){ total +=

parseInt(this.minutes()) })

return total;

});

self.removeTask = function(task) { self.tasks.remove(task) };

};

TODOTODO

Opprett modellen

Page 21: Javascript tar hevn

<div data-bind="foreach: tasks" class="tasks">

<div data-bind="text: description" class="text"></div>

<div data-bind="text: minutes" class="number"></div>

<div class="tools">

<a href="#" data-bind="click: $parent.removeTask"></a>

</div>

TODOTODO

Opprett HTML

Page 22: Javascript tar hevn

<script type=“text/javascript”>

ko.applyBindings(tasksViewModel);

</script>

TODOTODO

Legg til binding

Page 23: Javascript tar hevn

DEMO

Page 24: Javascript tar hevn

En “gammel” og gjennomprøvd teknologi er ofte det beste!

NODE.JS har tatt den “gamle” teknologine til et nytt miljø

Page 25: Javascript tar hevn

Nodejs og Azure node.js

Why bother with node at all? (…) It uses a

very fast JavaScript engine called V8, but

more importantly its I/O is asynchronous

and event-driven which contrasts with

typical synchronous code.

Scott Hanselman,

Microsoft Principal Program Manager

Page 26: Javascript tar hevn

I/O asyncronous

Community

Microsoft(Node.js Developer

Center)

IISNode

Windows Azure

Express.js

NPM(search.npmjs.org)

Nodejs.org

Page 27: Javascript tar hevn

IISNODE

Process

managment

Side-om-side med

andre

applikasjoner

Skalering over

flere kjerner

Oppdatere

automatisk når

skript filer endres

process.env.PORT

Integrert med IIS

sitt konfigurasjons

system

Tomasz Janczuk

Microsoft

Page 28: Javascript tar hevn

DEMO

Page 29: Javascript tar hevn

Oppsummering

Javascript

gjennom alle lag!

Windows 8

TV

Knockout.js

Azure

Effektiv

Cloud9IISNode

Page 30: Javascript tar hevn

Pål Fossmo, BEKK

@fossmo

[email protected]

TAKK FOR MEG!