Top Banner
@dskgry #WISSENTEILEN Zeitgemäße Webanwendungen in JavaEE MVC 1.0 @_openknowledge Sven Kölpin open knowledge GmbH
17

MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

Jan 22, 2018

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

@dskgry #WISSENTEILEN

Zeitgemäße Webanwendungen in JavaEE

MVC 1.0

@_openknowledge

Sven Kölpin – open knowledge GmbH

Page 2: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

JSF

Page 3: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

MVC 1.0

MVC 1.0

Page 4: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

Action-based MVC

• Klassische Web-Programmierung

• Weniger Abstraktion

• Request / Response basiert

• Viel leichtgewichtiger

Page 5: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
Page 6: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

JSF hat Komponenten

Page 7: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

Und MVC 1.0…

Keine Komponenten?

Page 8: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

Und MVC 1.0…

Keine Komponenten?

• Clientseitige Komponenten!

Page 9: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

MVC 1.0

• Serverseitiges Rendering

• „Rich internet applications“

• Rolle von JavaScript: DOM-Manipulation

Page 10: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

jQuery

• Die JavaScript DOM-Library

• Komponenten-Library

Page 11: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

jQuery UI

• HTML

• JavaScript

<input type="text"

data-datepicker="true"

name="dueDate"/>

$("input[data-datepicker='true']").datepicker();

Page 12: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

Web Components

• W3C Draft

• Custom elements

• Eigene HTML-Tags (mit Logik)

• Templates

• HTML-imports

• Shadow DOM

Page 13: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

Web Components: Custom elements

• HTML

• JavaScript

• Polymer

<javaland-datePicker name="dueDate"/>

var datePicker = Object.create(HTMLElement.prototype);

document.registerElement("javaland-datePicker", {prototype: datePicker});

Page 14: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

MVC 1.0

• Clientseitiges Rendering

• „Single-page web applications“

• Rolle von JavaScript: Rendering + Business Logik

Page 15: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

Bsp.: ReactJS

• HTML

<!DOCTYPE html>

<html>

<body>

<div id="app"></div>

<script src="${mvc.contextPath}/resources/dist/javaland.bundle.js"></script>

</body>

</html>

Page 16: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

Bsp.: ReactJS

• JavaScript

import React, {Component} from "react";

import ReactDOM from "react-dom";

class MyView extends Component {

action(){…}

render() {

return (

<button onClick={this.action.bind(this)} />

);

}

}

Page 17: MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

• MVC 1.0 === Maximale Flexibilität

• Mehr Verantwortung im Client

• Clientside Components

• Rolle von Webtechnologien (JavaScript)MVC 1.0