107
Enterprise JavaScript Architekturen Tuesday 29 October 13

JavaScript Architektur

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: JavaScript Architektur

Enterprise JavaScript Architekturen

Tuesday 29 October 13

Page 2: JavaScript Architektur

WER BIN ICH?

• Sebastian Springer

• https://github.com/sspringer82

• @basti_springer

Tuesday 29 October 13

Page 3: JavaScript Architektur

Eine Softwarearchitektur ist einer der Architekturtypen in der Informatik und beschreibt die grundlegenden Komponenten und deren Zusammenspiel

innerhalb eines Softwaresystems.

Tuesday 29 October 13

Page 4: JavaScript Architektur

Wie strukturiere ich meine JavaScript-Applikation?

Tuesday 29 October 13

Page 5: JavaScript Architektur

Wartbarkeit und Erweiterbarkeit

Tuesday 29 October 13

Page 6: JavaScript Architektur

Tuesday 29 October 13

Page 7: JavaScript Architektur

Server

Tuesday 29 October 13

Page 8: JavaScript Architektur

Server

Client

Tuesday 29 October 13

Page 9: JavaScript Architektur

Server

Client

Tuesday 29 October 13

Page 10: JavaScript Architektur

Server

Client

Request

Tuesday 29 October 13

Page 11: JavaScript Architektur

Server

Client

Request

Tuesday 29 October 13

Page 12: JavaScript Architektur

Server

Client

RequestResponse

Tuesday 29 October 13

Page 13: JavaScript Architektur

Server

Client

RequestResponseHTTP

Tuesday 29 October 13

Page 14: JavaScript Architektur

Response?

Header

Body

Tuesday 29 October 13

Page 15: JavaScript Architektur

Response?

Header

Body

Statuscode

Tuesday 29 October 13

Page 16: JavaScript Architektur

Response?

Header

Body

Content-Type

Statuscode

Tuesday 29 October 13

Page 17: JavaScript Architektur

Response?

Header

Body

Content-Type

Statuscode

HTML

Tuesday 29 October 13

Page 18: JavaScript Architektur

Response?

Header

Body

Content-Type

Statuscode

HTML CSS

Tuesday 29 October 13

Page 19: JavaScript Architektur

Response?

Header

Body

Content-Type

Statuscode

HTML CSS

JavaScript

Tuesday 29 October 13

Page 20: JavaScript Architektur

Pro Datei, maximal zwei Sprachen

Tuesday 29 October 13

Page 21: JavaScript Architektur

.└── public ├── css ├── js │   ├── news │   │   ├── models │   │   └── views │   └── user │   ├── models │   └── views └── test ├── news │   ├── models │   └── views └── user ├── models └── views

Tuesday 29 October 13

Page 22: JavaScript Architektur

Multi Page vs. Single Page

Tuesday 29 October 13

Page 23: JavaScript Architektur

Einstiegsseite

Multi Page App

Tuesday 29 October 13

Page 24: JavaScript Architektur

Einstiegsseite Modul 1

Multi Page App

Tuesday 29 October 13

Page 25: JavaScript Architektur

Einstiegsseite Modul 1

Multi Page App

Tuesday 29 October 13

Page 26: JavaScript Architektur

Einstiegsseite Modul 1 Modul 2

Multi Page App

Tuesday 29 October 13

Page 27: JavaScript Architektur

Einstiegsseite Modul 1 Modul 2

Multi Page App

Tuesday 29 October 13

Page 28: JavaScript Architektur

Einstiegsseite

Tuesday 29 October 13

Page 29: JavaScript Architektur

Einstiegsseite

JSON

Tuesday 29 October 13

Page 30: JavaScript Architektur

Einstiegsseite

JSON

Tuesday 29 October 13

Page 31: JavaScript Architektur

Einstiegsseite

JSON

Modul 1

Tuesday 29 October 13

Page 32: JavaScript Architektur

Einstiegsseite JSON

JSON

Modul 1

Tuesday 29 October 13

Page 33: JavaScript Architektur

Einstiegsseite JSON

JSON

Modul 1

Tuesday 29 October 13

Page 34: JavaScript Architektur

Einstiegsseite JSON

JSON

Modul 1

Modul 2

Tuesday 29 October 13

Page 35: JavaScript Architektur

Einstiegsseite JSON

JSON

JSON

Modul 1

Modul 2

Tuesday 29 October 13

Page 36: JavaScript Architektur

Einstiegsseite JSON

JSON

JSON

Modul 1

Modul 2

Tuesday 29 October 13

Page 37: JavaScript Architektur

Einstiegsseite JSON

JSON

JSON

Modul 1

Modul 2

Modul 3

Tuesday 29 October 13

Page 38: JavaScript Architektur

MV*?!

Tuesday 29 October 13

Page 39: JavaScript Architektur

MVC

Tuesday 29 October 13

Page 40: JavaScript Architektur

Model

Tuesday 29 October 13

Page 41: JavaScript Architektur

Model View

Tuesday 29 October 13

Page 42: JavaScript Architektur

Model View

Controller

Tuesday 29 October 13

Page 43: JavaScript Architektur

Tuesday 29 October 13

Page 44: JavaScript Architektur

MVVM

Tuesday 29 October 13

Page 45: JavaScript Architektur

Model

Tuesday 29 October 13

Page 46: JavaScript Architektur

Model Businesslogik

Tuesday 29 October 13

Page 47: JavaScript Architektur

Model

ViewModel

Businesslogik

Tuesday 29 October 13

Page 48: JavaScript Architektur

Model

ViewModel UI-Logik

Businesslogik

Tuesday 29 October 13

Page 49: JavaScript Architektur

Model

ViewModel UI-Logik

Businesslogik

Tuesday 29 October 13

Page 50: JavaScript Architektur

Model

ViewModel UI-Logik

Businesslogik

Tuesday 29 October 13

Page 51: JavaScript Architektur

Model

ViewModel

View

UI-Logik

Businesslogik

Tuesday 29 October 13

Page 52: JavaScript Architektur

Model

ViewModel

DarstellungView

UI-Logik

Businesslogik

Tuesday 29 October 13

Page 53: JavaScript Architektur

Model

ViewModel

DarstellungView

UI-Logik

Businesslogik

Tuesday 29 October 13

Page 54: JavaScript Architektur

Model

ViewModel

DarstellungView

UI-Logik

Businesslogik

Tuesday 29 October 13

Page 55: JavaScript Architektur

Model

ViewModel

DarstellungView

UI-Logik

DataBinding

Businesslogik

Tuesday 29 October 13

Page 56: JavaScript Architektur

Tuesday 29 October 13

Page 57: JavaScript Architektur

Modulloader

Tuesday 29 October 13

Page 58: JavaScript Architektur

require.js

Tuesday 29 October 13

Page 59: JavaScript Architektur

index.html

Tuesday 29 October 13

Page 60: JavaScript Architektur

index.html

config

Tuesday 29 October 13

Page 61: JavaScript Architektur

index.html

require.jsconfig

Tuesday 29 October 13

Page 62: JavaScript Architektur

index.html

require.jsconfig

main

Tuesday 29 October 13

Page 63: JavaScript Architektur

index.html

require.jsconfig

main

App

Tuesday 29 October 13

Page 64: JavaScript Architektur

Requirejs Optimizer

Tuesday 29 October 13

Page 65: JavaScript Architektur

Ember

Tuesday 29 October 13

Page 66: JavaScript Architektur

Router

Tuesday 29 October 13

Page 67: JavaScript Architektur

Router

Controller

Tuesday 29 October 13

Page 68: JavaScript Architektur

Router

Controller

Templates

Tuesday 29 October 13

Page 69: JavaScript Architektur

Router

Controller

Templates Model

Tuesday 29 October 13

Page 70: JavaScript Architektur

Router

Controller

Templates Model

Components

Tuesday 29 October 13

Page 71: JavaScript Architektur

Router

Controller

Templates Model

Components

Tuesday 29 October 13

Page 72: JavaScript Architektur

Router

Controller

Templates Model

Components

Tuesday 29 October 13

Page 73: JavaScript Architektur

JavaScript auf dem Server?

Tuesday 29 October 13

Page 74: JavaScript Architektur

Node.js & Express

Tuesday 29 October 13

Page 75: JavaScript Architektur

Node.js

C-Libs

Tuesday 29 October 13

Page 76: JavaScript Architektur

Node.js

C-Libs

Tuesday 29 October 13

Page 77: JavaScript Architektur

Node.js

C-Libs

Standard LibraryInterne Module

Tuesday 29 October 13

Page 78: JavaScript Architektur

Node.js

C-Libs

Standard LibraryInterne Module

Tuesday 29 October 13

Page 79: JavaScript Architektur

Node.js

C-Libs

Standard LibraryInterne Module

Tuesday 29 October 13

Page 80: JavaScript Architektur

Node.js

C-Libs

Standard LibraryInterne Module NPM

Tuesday 29 October 13

Page 81: JavaScript Architektur

Node.js

C-Libs

Standard LibraryInterne Module NPM

Tuesday 29 October 13

Page 82: JavaScript Architektur

HTTP-Modul Webserver, Request, Response

Connect Middleware

Express Routing

Express

Tuesday 29 October 13

Page 83: JavaScript Architektur

Routing

app.<method>(url, [callback...], callback)

Tuesday 29 October 13

Page 84: JavaScript Architektur

Routing

app.<method>(url, [callback...], callback)

getpostputdelete...

Tuesday 29 October 13

Page 85: JavaScript Architektur

Routing

app.<method>(url, [callback...], callback)

getpostputdelete...

Tuesday 29 October 13

Page 86: JavaScript Architektur

Routing

app.<method>(url, [callback...], callback)

function (req, res, next) { ... next();}

getpostputdelete...

Tuesday 29 October 13

Page 87: JavaScript Architektur

Routing

app.<method>(url, [callback...], callback)

function (req, res, next) { ... next();}

getpostputdelete...

Tuesday 29 October 13

Page 88: JavaScript Architektur

Routing

app.<method>(url, [callback...], callback)

function (req, res, next) { ... next();}

getpostputdelete...

Tuesday 29 October 13

Page 89: JavaScript Architektur

Middleware

app.use([path], function)

Tuesday 29 October 13

Page 90: JavaScript Architektur

Middleware

app.use([path], function)

function (req, res, next) { ... next();}

Tuesday 29 October 13

Page 91: JavaScript Architektur

Middleware

app.use([path], function)

function (req, res, next) { ... next();}

Tuesday 29 October 13

Page 92: JavaScript Architektur

Meteor

Tuesday 29 October 13

Page 93: JavaScript Architektur

Meteor

Pakete

Live Updates

Synchronisierung

Tuesday 29 October 13

Page 94: JavaScript Architektur

Realtime

Tuesday 29 October 13

Page 95: JavaScript Architektur

HTTPServer Client

Request

Response

RealtimeServer Client

Message

Tuesday 29 October 13

Page 96: JavaScript Architektur

ClientServer

Tuesday 29 October 13

Page 97: JavaScript Architektur

ClientServer

Tuesday 29 October 13

Page 98: JavaScript Architektur

ClientServer

Request (http)

Tuesday 29 October 13

Page 99: JavaScript Architektur

ClientServer

Request (http)

Tuesday 29 October 13

Page 100: JavaScript Architektur

ClientServer

Request (http)Response (http)

Tuesday 29 October 13

Page 101: JavaScript Architektur

ClientServer

Request (http)Response (http)

Tuesday 29 October 13

Page 102: JavaScript Architektur

ClientServer

Request (http)Response (http)Switch Protocol

Tuesday 29 October 13

Page 103: JavaScript Architektur

ClientServer

Request (http)Response (http)Switch Protocol

Tuesday 29 October 13

Page 104: JavaScript Architektur

ClientServer

Request (http)Response (http)Switch Protocol

Messages

Tuesday 29 October 13

Page 105: JavaScript Architektur

Ext JS, dojo, etc?

Tuesday 29 October 13

Page 106: JavaScript Architektur

Fragen?

Tuesday 29 October 13

Page 107: JavaScript Architektur

Sebastian [email protected]

Mayflower GmbHMannhardtstr. 680538 MünchenDeutschland

@basti_springer

https://github.com/sspringer82

Kontakt

Tuesday 29 October 13