@dskgry #WISSENTEILEN
Zeitgemäße Webanwendungen in JavaEE
MVC 1.0
@_openknowledge
Sven Kölpin – open knowledge GmbH
JSF
MVC 1.0
MVC 1.0
Action-based MVC
• Klassische Web-Programmierung
• Weniger Abstraktion
• Request / Response basiert
• Viel leichtgewichtig...
JSF hat Komponenten
Und MVC 1.0…
Keine Komponenten?
Und MVC 1.0…
Keine Komponenten?
• Clientseitige Komponenten!
MVC 1.0
• Serverseitiges Rendering
• „Rich internet applications“
• Rolle von JavaScript: DOM-Manipulation
jQuery
• Die JavaScript DOM-Library
• Komponenten-Library
jQuery UI
• HTML
• JavaScript
<input type="text"
data-datepicker="true"
name="dueDate"/>
$("input[data-datepicker='true']"...
Web Components
• W3C Draft
• Custom elements
• Eigene HTML-Tags (mit Logik)
• Templates
• HTML-imports
• Shadow DOM
Web Components: Custom elements
• HTML
• JavaScript
• Polymer
<javaland-datePicker name="dueDate"/>
var datePicker = Objec...
MVC 1.0
• Clientseitiges Rendering
• „Single-page web applications“
• Rolle von JavaScript: Rendering + Business Logik
Bsp.: ReactJS
• HTML
<!DOCTYPE html>
<html>
<body>
<div id="app"></div>
<script src="${mvc.contextPath}/resources/dist/jav...
Bsp.: ReactJS
• JavaScript
import React, {Component} from "react";
import ReactDOM from "react-dom";
class MyView extends ...
• MVC 1.0 === Maximale Flexibilität
• Mehr Verantwortung im Client
• Clientside Components
• Rolle von Webtechnologien (Ja...
MVC 1.0: Zeitgemäße Webanwendungen in JavaEE
Nächste SlideShare
Wird geladen in …5
×

MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

299 Aufrufe

Veröffentlicht am

JavaScript wurde im JavaEE-Umfeld bisher immer eher stiefmütterlich behandelt. So ist das bis dato einzig im Standard verfügbare Webframework, JSF, so weit von den eigentlichen Webtechnologien abstrahiert, dass ein JSF-Entwickler nur selten in Berührung mit der umstrittenen Scriptsprache kommt. Zusätzlich bieten Komponentenbibliotheken wie Primefaces Funktionalitäten, die für die meisten Anwendungsfälle ausreichen. Das Baukastenprinzip von JSF hat allerdings zwei große Nachteile. Erstens führt die Integration von eigenem JavaScript-Code in die vorgefertigten Komponenten häufig zu einem Chaos. Zweitens ist das gesamte JSF-Konstrukt extrem schwergewichtig, sodass neue Technologietrends nur mit einer großen zeitlichen Verzögerung in das Framework aufgenommen werden können (wie z.B. einst Ajax oder HTML5).
Mit MVC 1.0 wird JavaEE um ein Action-orientiertes MVC-Framework erweitert, welches, ganz im Gegensatz zu JSF, nicht mehr auf die Abstrahierung von Webtechnologien setzt. MVC 1.0 wird dadurch viel größere Freiheiten für die Integration von JavaScript-Frameworks mit sich bringen und so die Entwicklung zeitgemäßer Webapplikationen im Java-EE-Stack ermöglichen.
Im Vortrag werden die verschiedenen Möglichkeiten, moderne Webanwendungen mit dem neuen MVC 1.0 Framework zu entwickeln, aufgezeigt. Der Schwerpunkt liegt dabei vor allem auf den unterschiedlichen Ansätzen, JavaScript in MVC 1.0 zu integrieren.

Veröffentlicht in: Software
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
299
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
44
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

MVC 1.0: Zeitgemäße Webanwendungen in JavaEE

  1. 1. @dskgry #WISSENTEILEN Zeitgemäße Webanwendungen in JavaEE MVC 1.0 @_openknowledge Sven Kölpin – open knowledge GmbH
  2. 2. JSF
  3. 3. MVC 1.0 MVC 1.0
  4. 4. Action-based MVC • Klassische Web-Programmierung • Weniger Abstraktion • Request / Response basiert • Viel leichtgewichtiger
  5. 5. JSF hat Komponenten
  6. 6. Und MVC 1.0… Keine Komponenten?
  7. 7. Und MVC 1.0… Keine Komponenten? • Clientseitige Komponenten!
  8. 8. MVC 1.0 • Serverseitiges Rendering • „Rich internet applications“ • Rolle von JavaScript: DOM-Manipulation
  9. 9. jQuery • Die JavaScript DOM-Library • Komponenten-Library
  10. 10. jQuery UI • HTML • JavaScript <input type="text" data-datepicker="true" name="dueDate"/> $("input[data-datepicker='true']").datepicker();
  11. 11. Web Components • W3C Draft • Custom elements • Eigene HTML-Tags (mit Logik) • Templates • HTML-imports • Shadow DOM
  12. 12. Web Components: Custom elements • HTML • JavaScript • Polymer <javaland-datePicker name="dueDate"/> var datePicker = Object.create(HTMLElement.prototype); document.registerElement("javaland-datePicker", {prototype: datePicker});
  13. 13. MVC 1.0 • Clientseitiges Rendering • „Single-page web applications“ • Rolle von JavaScript: Rendering + Business Logik
  14. 14. Bsp.: ReactJS • HTML <!DOCTYPE html> <html> <body> <div id="app"></div> <script src="${mvc.contextPath}/resources/dist/javaland.bundle.js"></script> </body> </html>
  15. 15. 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)} /> ); } }
  16. 16. • MVC 1.0 === Maximale Flexibilität • Mehr Verantwortung im Client • Clientside Components • Rolle von Webtechnologien (JavaScript) MVC 1.0

×