107
Enterprise JavaScript Architekturen Tuesday 29 October 13

Java scriptarchitektur

Embed Size (px)

Citation preview

Page 1: Java scriptarchitektur

Enterprise JavaScript Architekturen

Tuesday 29 October 13

Page 2: Java scriptarchitektur

WER BIN ICH?

• Sebastian Springer

• https://github.com/sspringer82

• @basti_springer

Tuesday 29 October 13

Page 3: Java scriptarchitektur

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: Java scriptarchitektur

Wie strukturiere ich meine JavaScript-Applikation?

Tuesday 29 October 13

Page 5: Java scriptarchitektur

Wartbarkeit und Erweiterbarkeit

Tuesday 29 October 13

Page 6: Java scriptarchitektur

Tuesday 29 October 13

Page 7: Java scriptarchitektur

Server

Tuesday 29 October 13

Page 8: Java scriptarchitektur

Server

Client

Tuesday 29 October 13

Page 9: Java scriptarchitektur

Server

Client

Tuesday 29 October 13

Page 10: Java scriptarchitektur

Server

Client

Request

Tuesday 29 October 13

Page 11: Java scriptarchitektur

Server

Client

Request

Tuesday 29 October 13

Page 12: Java scriptarchitektur

Server

Client

RequestResponse

Tuesday 29 October 13

Page 13: Java scriptarchitektur

Server

Client

RequestResponseHTTP

Tuesday 29 October 13

Page 14: Java scriptarchitektur

Response?

Header

Body

Tuesday 29 October 13

Page 15: Java scriptarchitektur

Response?

Header

Body

Statuscode

Tuesday 29 October 13

Page 16: Java scriptarchitektur

Response?

Header

Body

Content-Type

Statuscode

Tuesday 29 October 13

Page 17: Java scriptarchitektur

Response?

Header

Body

Content-Type

Statuscode

HTML

Tuesday 29 October 13

Page 18: Java scriptarchitektur

Response?

Header

Body

Content-Type

Statuscode

HTML CSS

Tuesday 29 October 13

Page 19: Java scriptarchitektur

Response?

Header

Body

Content-Type

Statuscode

HTML CSS

JavaScript

Tuesday 29 October 13

Page 20: Java scriptarchitektur

Pro Datei, maximal zwei Sprachen

Tuesday 29 October 13

Page 21: Java scriptarchitektur

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

Tuesday 29 October 13

Page 22: Java scriptarchitektur

Multi Page vs. Single Page

Tuesday 29 October 13

Page 23: Java scriptarchitektur

Einstiegsseite

Multi Page App

Tuesday 29 October 13

Page 24: Java scriptarchitektur

Einstiegsseite Modul 1

Multi Page App

Tuesday 29 October 13

Page 25: Java scriptarchitektur

Einstiegsseite Modul 1

Multi Page App

Tuesday 29 October 13

Page 26: Java scriptarchitektur

Einstiegsseite Modul 1 Modul 2

Multi Page App

Tuesday 29 October 13

Page 27: Java scriptarchitektur

Einstiegsseite Modul 1 Modul 2

Multi Page App

Tuesday 29 October 13

Page 28: Java scriptarchitektur

Einstiegsseite

Tuesday 29 October 13

Page 29: Java scriptarchitektur

Einstiegsseite

JSON

Tuesday 29 October 13

Page 30: Java scriptarchitektur

Einstiegsseite

JSON

Tuesday 29 October 13

Page 31: Java scriptarchitektur

Einstiegsseite

JSON

Modul 1

Tuesday 29 October 13

Page 32: Java scriptarchitektur

Einstiegsseite JSON

JSON

Modul 1

Tuesday 29 October 13

Page 33: Java scriptarchitektur

Einstiegsseite JSON

JSON

Modul 1

Tuesday 29 October 13

Page 34: Java scriptarchitektur

Einstiegsseite JSON

JSON

Modul 1

Modul 2

Tuesday 29 October 13

Page 35: Java scriptarchitektur

Einstiegsseite JSON

JSON

JSON

Modul 1

Modul 2

Tuesday 29 October 13

Page 36: Java scriptarchitektur

Einstiegsseite JSON

JSON

JSON

Modul 1

Modul 2

Tuesday 29 October 13

Page 37: Java scriptarchitektur

Einstiegsseite JSON

JSON

JSON

Modul 1

Modul 2

Modul 3

Tuesday 29 October 13

Page 38: Java scriptarchitektur

MV*?!

Tuesday 29 October 13

Page 39: Java scriptarchitektur

MVC

Tuesday 29 October 13

Page 40: Java scriptarchitektur

Model

Tuesday 29 October 13

Page 41: Java scriptarchitektur

Model View

Tuesday 29 October 13

Page 42: Java scriptarchitektur

Model View

Controller

Tuesday 29 October 13

Page 43: Java scriptarchitektur

Tuesday 29 October 13

Page 44: Java scriptarchitektur

MVVM

Tuesday 29 October 13

Page 45: Java scriptarchitektur

Model

Tuesday 29 October 13

Page 46: Java scriptarchitektur

Model Businesslogik

Tuesday 29 October 13

Page 47: Java scriptarchitektur

Model

ViewModel

Businesslogik

Tuesday 29 October 13

Page 48: Java scriptarchitektur

Model

ViewModel UI-Logik

Businesslogik

Tuesday 29 October 13

Page 49: Java scriptarchitektur

Model

ViewModel UI-Logik

Businesslogik

Tuesday 29 October 13

Page 50: Java scriptarchitektur

Model

ViewModel UI-Logik

Businesslogik

Tuesday 29 October 13

Page 51: Java scriptarchitektur

Model

ViewModel

View

UI-Logik

Businesslogik

Tuesday 29 October 13

Page 52: Java scriptarchitektur

Model

ViewModel

DarstellungView

UI-Logik

Businesslogik

Tuesday 29 October 13

Page 53: Java scriptarchitektur

Model

ViewModel

DarstellungView

UI-Logik

Businesslogik

Tuesday 29 October 13

Page 54: Java scriptarchitektur

Model

ViewModel

DarstellungView

UI-Logik

Businesslogik

Tuesday 29 October 13

Page 55: Java scriptarchitektur

Model

ViewModel

DarstellungView

UI-Logik

DataBinding

Businesslogik

Tuesday 29 October 13

Page 56: Java scriptarchitektur

Tuesday 29 October 13

Page 57: Java scriptarchitektur

Modulloader

Tuesday 29 October 13

Page 58: Java scriptarchitektur

require.js

Tuesday 29 October 13

Page 59: Java scriptarchitektur

index.html

Tuesday 29 October 13

Page 60: Java scriptarchitektur

index.html

config

Tuesday 29 October 13

Page 61: Java scriptarchitektur

index.html

require.jsconfig

Tuesday 29 October 13

Page 62: Java scriptarchitektur

index.html

require.jsconfig

main

Tuesday 29 October 13

Page 63: Java scriptarchitektur

index.html

require.jsconfig

main

App

Tuesday 29 October 13

Page 64: Java scriptarchitektur

Requirejs Optimizer

Tuesday 29 October 13

Page 65: Java scriptarchitektur

Ember

Tuesday 29 October 13

Page 66: Java scriptarchitektur

Router

Tuesday 29 October 13

Page 67: Java scriptarchitektur

Router

Controller

Tuesday 29 October 13

Page 68: Java scriptarchitektur

Router

Controller

Templates

Tuesday 29 October 13

Page 69: Java scriptarchitektur

Router

Controller

Templates Model

Tuesday 29 October 13

Page 70: Java scriptarchitektur

Router

Controller

Templates Model

Components

Tuesday 29 October 13

Page 71: Java scriptarchitektur

Router

Controller

Templates Model

Components

Tuesday 29 October 13

Page 72: Java scriptarchitektur

Router

Controller

Templates Model

Components

Tuesday 29 October 13

Page 73: Java scriptarchitektur

JavaScript auf dem Server?

Tuesday 29 October 13

Page 74: Java scriptarchitektur

Node.js & Express

Tuesday 29 October 13

Page 75: Java scriptarchitektur

Node.js

C-Libs

Tuesday 29 October 13

Page 76: Java scriptarchitektur

Node.js

C-Libs

Tuesday 29 October 13

Page 77: Java scriptarchitektur

Node.js

C-Libs

Standard LibraryInterne Module

Tuesday 29 October 13

Page 78: Java scriptarchitektur

Node.js

C-Libs

Standard LibraryInterne Module

Tuesday 29 October 13

Page 79: Java scriptarchitektur

Node.js

C-Libs

Standard LibraryInterne Module

Tuesday 29 October 13

Page 80: Java scriptarchitektur

Node.js

C-Libs

Standard LibraryInterne Module NPM

Tuesday 29 October 13

Page 81: Java scriptarchitektur

Node.js

C-Libs

Standard LibraryInterne Module NPM

Tuesday 29 October 13

Page 82: Java scriptarchitektur

HTTP-Modul Webserver, Request, Response

Connect Middleware

Express Routing

Express

Tuesday 29 October 13

Page 83: Java scriptarchitektur

Routing

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

Tuesday 29 October 13

Page 84: Java scriptarchitektur

Routing

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

getpostputdelete...

Tuesday 29 October 13

Page 85: Java scriptarchitektur

Routing

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

getpostputdelete...

Tuesday 29 October 13

Page 86: Java scriptarchitektur

Routing

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

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

getpostputdelete...

Tuesday 29 October 13

Page 87: Java scriptarchitektur

Routing

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

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

getpostputdelete...

Tuesday 29 October 13

Page 88: Java scriptarchitektur

Routing

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

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

getpostputdelete...

Tuesday 29 October 13

Page 89: Java scriptarchitektur

Middleware

app.use([path], function)

Tuesday 29 October 13

Page 90: Java scriptarchitektur

Middleware

app.use([path], function)

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

Tuesday 29 October 13

Page 91: Java scriptarchitektur

Middleware

app.use([path], function)

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

Tuesday 29 October 13

Page 92: Java scriptarchitektur

Meteor

Tuesday 29 October 13

Page 93: Java scriptarchitektur

Meteor

Pakete

Live Updates

Synchronisierung

Tuesday 29 October 13

Page 94: Java scriptarchitektur

Realtime

Tuesday 29 October 13

Page 95: Java scriptarchitektur

HTTPServer Client

Request

Response

RealtimeServer Client

Message

Tuesday 29 October 13

Page 96: Java scriptarchitektur

ClientServer

Tuesday 29 October 13

Page 97: Java scriptarchitektur

ClientServer

Tuesday 29 October 13

Page 98: Java scriptarchitektur

ClientServer

Request (http)

Tuesday 29 October 13

Page 99: Java scriptarchitektur

ClientServer

Request (http)

Tuesday 29 October 13

Page 100: Java scriptarchitektur

ClientServer

Request (http)Response (http)

Tuesday 29 October 13

Page 101: Java scriptarchitektur

ClientServer

Request (http)Response (http)

Tuesday 29 October 13

Page 102: Java scriptarchitektur

ClientServer

Request (http)Response (http)Switch Protocol

Tuesday 29 October 13

Page 103: Java scriptarchitektur

ClientServer

Request (http)Response (http)Switch Protocol

Tuesday 29 October 13

Page 104: Java scriptarchitektur

ClientServer

Request (http)Response (http)Switch Protocol

Messages

Tuesday 29 October 13

Page 105: Java scriptarchitektur

Ext JS, dojo, etc?

Tuesday 29 October 13

Page 106: Java scriptarchitektur

Fragen?

Tuesday 29 October 13

Page 107: Java scriptarchitektur

Sebastian [email protected]

Mayflower GmbHMannhardtstr. 680538 MünchenDeutschland

@basti_springer

https://github.com/sspringer82

Kontakt

Tuesday 29 October 13