FLOW3 - der aktuelle Stand. TYPO3 Usergroup Dresden

Post on 04-Jul-2015

4.653 views 3 download

description

Überblick über FLOW3, Fluid und die Relation TYPO3 v4 und TYPO3 v5. Es werden wichtige Konzepte wie Dependecy Injection, AOP, TDD vorgestellt. Desweiteren wird Fluid präsentiert.

Transcript of FLOW3 - der aktuelle Stand. TYPO3 Usergroup Dresden

Inspiring people toshare

TYPO3 User Group Dresden - 21. Januar 2009

FLOW3 - der aktuelle Stand

Inspiring people toshare

TYPO3 User Group Dresden - 21. Januar 2009

FLOW3 - der aktuelle Stand

FLOW3 - Der aktuelle Stand

Sebastian Kurfürst <sebastian@typo3.org>

21.01.2009

Vielen Dank an Robert Lemke für seine Slides

Inspiring people toshareFLOW3 - der aktuelle Stand

Inspiring people toshareFLOW3 - der aktuelle Stand

Inspiring people toshareFLOW3 - der aktuelle Stand

Inspiring people toshareFLOW3 - der aktuelle Stand

Inspiring people toshareFLOW3 - der aktuelle Stand

Inspiring people toshareFLOW3 - der aktuelle Stand

Inspiring people toshareFLOW3 - der aktuelle Stand

- ACHTUNG -TYPO3-Evangelist

Inspiring people toshareFLOW3 - der aktuelle Stand

Inhalt

TYPO3 - Einführung

FLOW3

Fluid - The Zen of Templating

Synergien TYPO3 v4 und v5

Test Driven Development

Dependency Injection

Aspektorientierte Programmierung

Domain Driven Design & MVC

Inspiring people toshareFLOW3 - der aktuelle Stand

Inhalt

TYPO3 - Einführung

FLOW3

Fluid - The Zen of Templating

Synergien TYPO3 v4 und v5

Test Driven Development

Dependency Injection

Aspektorientierte Programmierung

Domain Driven Design & MVC

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3

Open Source Content Management System

Aktuelle stabile Version: TYPO3 4.2.3

60.000 bis 80.000 Downloads pro Monat

mehr als 30.000 Nutzer auf typo3.org registriert

Höchste Verbreitung im Mittelstand, jedoch auch Nutzung in großen Firmen: Dassault Systems, 3M, Sixt, Unesco, Unicef, WWF

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Geschichte von TYPO3

seit 1998

33 Kernentwickler

bisher 500.000 Zeilen Code committed

aktuelle Codebase: 300.000 Zeilen

Inspiring people toshareFLOW3 - der aktuelle Stand

Warum benötigen wir TYPO3 v5?

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3 Heute

TYPO3 v4 ist nahezu vollständig ausgereift

Letzte Releases: Fokus auf Usability-Verbesserungen für Benutzer

Gewachsene Architektur

© K. Tuck at http://www.sxc.hu/photo/1135191

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3 Heute

TYPO3 v4 ist nahezu vollständig ausgereift

Letzte Releases: Fokus auf Usability-Verbesserungen für Benutzer

Gewachsene Architektur, keine Unit Tests

Große Änderungen sind daher risikoreich / unmöglich

TYPO3 wird oft als Anwendungsframework verwendet - es ist jedoch ein CMS

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3 in der Zukunft?

Inspiring people toshareFLOW3 - der aktuelle Stand

Warum sollte man von Null anfangen?

Source: The Secret Archives of TYPO3

„We need a new framework!“

Inspiring people toshareFLOW3 - der aktuelle Stand

Zwei auf einen Streich

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3 in der Zukunft!

FLOW3

TYPO3 v5

Enterprise Application Framework

Enterprise CMS

Inspiring people toshareFLOW3 - der aktuelle Stand

Inspiring people toshareFLOW3 - der aktuelle Stand

Inhalt

TYPO3 - Einführung

FLOW3

Fluid - The Zen of Templating

Synergien TYPO3 v4 und v5

Test Driven Development

Dependency Injection

Aspektorientierte Programmierung

Domain Driven Design & MVC

Inspiring people toshareFLOW3 - der aktuelle Stand

Flow [flō] (engl. fließen, rinnen, strömen) bedeutet das Gefühl des völligen Aufgehens in einer Tätigkeit. In diesem Zustand besteht völlige Harmonie zwischen dem limbischen System, das die Emotionen steuert, und dem kortikalen System, dem der Sitz für Bewusstsein und Verstand zugeordnet wird.

FLOW3 [flō'three] Das Web-Anwendungsframework, welches alle Schwierigkeiten löst, sodass man sich auf das Wesentliche konzentrieren kann.

http://www.sxc.hu/photo/768249

Inspiring people toshareFLOW3 - der aktuelle Stand

FLOW3 = Anwendungsframework

Nicht nur eine Zusammenstellung von Komponenten oder eine „Snippet-Library“

geliefert mit einsatzfähiger Standardkonfiguration

Paketbasiert

benötigt mindestens PHP 5.3

mit einem mächtigen JSR-283-basierten Content Repository geliefert

Alpha3

Inspiring people toshareFLOW3 - der aktuelle Stand

Genieße das FLOW3-Erlebnis

Intuitive APIs

Lesbarer Quellcode (wie ein Buch)

Konsistente Benennung für Klassen, Methoden und Eigenschaften

Fokus auf das Wesentliche

das Frameworkkümmert sichum den Rest

http://www.sxc.hu/photo/59950

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

Test Driven Development

Dependency Injection

Aspect Oriented Programming

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

«SCRUM and XP from the trenches

Henrik Kniberg

Test Driven Development

... means that you write an automated test, then you write just enough code to make that one test pass, then you refactor the code primarily to improve readability and remove duplication.

»

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

«SCRUM and XP from the trenches

Henrik Kniberg

Test Driven Development

... means that you write an automated test, then you write just enough code to make that one test pass, then you refactor the code primarily to improve readability and remove duplication.

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

Test Driven Development

Test Case ImplementationFAIL OK Refactoring OK

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

Test Driven Development - Demonstration

Eine Klasse schreiben, welche eine „square“-Methode besitzt. Diese multipliziert eine Zahl mit sich selbst und gibt das Ergebnis zurück.

Akademisches Beispiel!

1. Test Case schreiben!

Achtung - veraltete

Namespace-Syntax!

Neue Syntax:

\F3\Math\Helpers::square()

Der Test Case schlägt fehl.

2. Implementieren!

Der Test Case ...

Design-Problemewerden zeitiger

gefunden!

Unit Tests sind einAuffangnetz für die

Zukunft

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

Test Driven Development

zuerst Unit Tests schreiben, dann den zu testenden Code

Software-Designer

Programmierer

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

Dependency Injection

Hollywood Principle: „Don‘t call us, we call you“

Anwendung des „Inversion of Control“-Patterns für die Erzeugung und Initialisierung von Objekten

Inspiring people toshareFLOW3 - der aktuelle Stand

BookingWebService

Logger Objekt 3

<<create>>

public function __construct() {// Prototype$this->logger = new Logger();// oder als Singleton:$this->logger = Logger->getInstance()

}

Ohne Dependency Injection

Die Grundpfeiler von FLOW3

Inspiring people toshareFLOW3 - der aktuelle Stand

public function __construct() {// Prototype$this->logger = new Logger();// oder als Singleton:$this->logger = Logger->getInstance()

}

Ohne Dependency Injection

Wie schreibt man Unit Tests für solch einen Code?

Wie entscheidet man zur Laufzeit,welcher Logger instanziert wird?

Die Grundpfeiler von FLOW3

Inspiring people toshareFLOW3 - der aktuelle Stand

BookingWebService

Logger Objekt 3

<<needs>>

Mit Dependency Injection

IoC Container

Jedes Objekt deklariert, welche anderen Objekte es benötigt

Der IoC Container ...

... gibt dem Objekt fertig initialisierte Objekte

... entscheidet zur Laufzeit, welche Klassen instanziert werden

Die Grundpfeiler von FLOW3

Inspiring people toshareFLOW3 - der aktuelle Stand

Constructor Injection

Die Grundpfeiler von FLOW3

Mit Dependency Injection

public function __construct(\F3\FLOW3\Log\Logger $logger) {$this->logger = $logger;

} Das Framework injiziert den

Logger

Inspiring people toshareFLOW3 - der aktuelle Stand

Setter Injection

Die Grundpfeiler von FLOW3

Mit Dependency Injection

public function injectLogger(\F3\FLOW3\Log\Logger $logger) {$this->logger = $logger;

} Das Framework injiziert den

Logger

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

Mit Dependency Injection

Jede Klasse ist einzeln testbar, indem man die benötigten Abhängigkeiten mit Mocks / Stubs simuliert

Man kann konfigurieren, ob Klassen sich wie Singletons oder Prototypes verhalten

@scope singleton (Standard)

@scope prototype

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

Mit Dependency Injection

Man kann zur Laufzeit entscheiden, welche Klasse verwendet werden soll

BookingWebService

LoggerInterface

FileLogger DatabaseLogger

Inspiring people toshareFLOW3 - der aktuelle Stand

Die Grundpfeiler von FLOW3

Aspektorientierte Programmierung

AOP ist ein Programmierparadigma

ergänzt OOP

OOP modularisiert „concerns“ (Aufgabenbereiche): durch Pakete, Klassen, Methoden

AOP: cross-cutting concerns

Inspiring people toshareFLOW3 - der aktuelle Stand

Aspektorientierte Programmierung

Cross-cutting concerns

Presentation

Domain

Data source

Inspiring people toshareFLOW3 - der aktuelle Stand

Aspektorientierte Programmierung

Cross-cutting concerns

Presentation

Domain

Data source

The concerns

live here

Inspiring people toshareFLOW3 - der aktuelle Stand

Aspektorientierte Programmierung

Cross-cutting concerns

Domain Model Domain Model Domain Model

Security

LoggingCONCERNS

X-ING

Inspiring people toshareFLOW3 - der aktuelle Stand

Aspektorientierte Programmierung

PHP‘s fehlende Funktionalität

Mit AOP kann man:

alle „cross-cutting concerns“ zentralisieren und sauber separieren

beliebige Methodenaufrufe abfangen

neue Funktionalität zu Code hinzufügen, ohne diesen zu verändern

... viele weitere Tricks anwenden

Inspiring people toshareFLOW3 - der aktuelle Stand

Aspektorientierte Programmierung

Exkurs: Das Security-Framework

Presentation

Domain

Data source

changeCustomerAction

Customer

Security Framework

Touchless Security!

$customer->setName(...)

Inspiring people toshareFLOW3 - der aktuelle Stand

FLOW3-Module

AOP

Object

Configuration

Cache

Error

Event

Locale

Log

MVC

Package

Persistence

Property

Reflection

Resource

Session

Utility

Validation

... und mehr

DomainDrivenDesign

http://www.sxc.hu/photo/585791

Inspiring people toshareFLOW3 - der aktuelle Stand

Domain Driven Design

Domäne = Aktivität oder Geschäft des Benutzers

Es geht um...

den Fokus auf die Domäne, und die Logik der Domäne

die genaue Abbildung der Domänenregeln in Software

das Schaffen einer universellen Sprache („Ubiquitous language“) zwischen den Projektmitgliedern

Der Turm zu Babel

Inspiring people toshareFLOW3 - der aktuelle Stand

Domain Driven Design

Ubiquitous language

Gemeinsames Vokabular ist eine wichtige Grundvoraussetzung, um miteinander zu arbeiten

Benutze die selben Wörter für Diskussion, Modellierung, Entwicklung und Dokumentation

Inspiring people toshareFLOW3 - der aktuelle Stand

Domain Driven Design

Beispiel: Phone Book

Inspiring people toshareFLOW3 - der aktuelle Stand

Domain Driven Design

Beispiel: Phone Book

showEntries()checkIfUserCanDeleteEntry()exportPhoneBook()logChanges()

Inspiring people toshareFLOW3 - der aktuelle Stand

Domain Driven Design

Beispiel: Phone Book

showEntries()checkIfUserCanDeleteEntry()exportPhoneBook()logChanges()

Nicht in derPhoneBook-

Domäne!

Inspiring people toshareFLOW3 - der aktuelle Stand

Domain Driven Design

Schichtenarchitektur

Presentation

Domain

Data source

Inspiring people toshareFLOW3 - der aktuelle Stand

Domain Driven Design

Schichtenarchitektur

Application Logic (Service Layer)

Domain Model (Domain Layer)

View

Controller

Data Mapper (part of Content Repository)

Data Source Abstraction

Presentation

Domain

Data source

Inspiring people toshareFLOW3 - der aktuelle Stand

Domain Driven Design

Schichtenarchitektur

Presentation

Domain

Data source

Application Logic (Service Layer)

Domain Model (Domain Layer)

View

Controller

Data Mapper (part of Content Repository)

Data Source Abstraction

Inspiring people toshareFLOW3 - der aktuelle Stand

Model View Controller

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC

Model

Objekt, welches Daten und Geschäftslogik einer bestimmten Domäne enthält

enthält keine Informationen über die Darstellung der Daten, sondern definiert das Verhalten

in FLOW3 nutzen wir Domain Models

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC

View

Darstellung des Models im Web oder in anderen Ausgabemedien

Stellen nur Daten dar, verändern diese nicht.

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC

Controller

Reagiert auf Benutzereingaben

Wählt das Model und verändert dieses wie benötigt

Wählt den View aus und gibt diesem die Daten, die er rendern soll

Der Standard-Controller für FLOW3 ist der ActionController

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Inspiring people toshareFLOW3 - der aktuelle Stand

DEMO

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Dateistruktur

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Domain Model

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Domain Model

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Domain Model

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Domain Model

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Domain Model

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Aber - Persistenz?

durch einen Persistence Manager werden Objekte gespeichert

Transparent für den Programmierer

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Aber - Persistenz?

MySQL

PDO

Postgres SQLite

...

JSR-283 Content Repository

Persistence Manager

Anwendung Anwendung

Inspiring people toshareFLOW3 - der aktuelle Stand

DEMO

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Controller

Normal: Erben von \F3\FLOW3\MVC\Controller\ActionController

public function indexAction() {// ...

}public function listAction() {

// ...}

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Controller-Argumente

Jedes Argument muss explizit deklariert werden

Zugriff auf $_GET, $_POST ist nicht erlaubt und wird abgefangen!

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Controller-Argumente

Argument-Mapping von einfachen Argumenten

public function initializeArguments() {$this->arguments->addNewArgument(“tag”, “Text“);

}public function listByTagAction() {

$tag = $this->arguments[‘tag’]->getValue();// $tag ist ein String!

}

Argumentregistrierungwird noch schöner!

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Controller-Argumente

Argument-Mapping von einfachen Argumenten

public function initializeArguments() {$this->arguments->addNewArgument(“tag”, “UUID“);

}public function listByTagAction() {

$tag = $this->arguments[‘tag’]->getValue();// $tag ist eine UUID!

}

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

Controller-Argumente

Argument-Mapping von komplexen Argumenten

public function initializeArguments() {$this->arguments->addNewArgument(“comment”, “F3\Blog\Domain\Comment“);

}public function addNewCommentAction() {

$comment = $this->arguments[‘comment’]->getValue();// $comment ist ein Comment-Objekt!

}

Inspiring people toshareFLOW3 - der aktuelle Stand

MVC und DDD mit FLOW3

View

... ist eine PHP-Klasse, welche von \F3\FLOW3\MVC\View\AbstractView erbt

es gibt Standardklassen für marker-basierte Views, Smarty-basierte Views, und...

Fluid!

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid - The Zen of Templating

Inspiring people toshareFLOW3 - der aktuelle Stand

Inhalt

TYPO3 - Einführung

FLOW3

Fluid - The Zen of Templating

Synergien TYPO3 v4 und v5

Test Driven Development

Dependency Injection

Aspektorientierte Programmierung

Domain Driven Design & MVC

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Was ist eine Template-Engine?

übernimmt die Darstellung von Daten

lebt in der View-Komponente

Bekannte Engines

Smarty

*TAL

Velocity

Designer schreiben kein PHP, sondern HTML

Inspiring people toshareFLOW3 - der aktuelle Stand

Source: http://en.wikipedia.org/wiki/Template_engine_(web)

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Nachteile existierender Template Engines

nicht komplett OOP / brechen OOP-Paradigmen an einigen Stellen

schwierig für nicht-HTML-basierte Templates nutzbar

keine Autovervollständigung in Editoren

nicht einfach erweiterbar

The Zen of Templating

http://www.sxc.hu/photo/821903

simpel mächtig

The Zen of Templating

http://www.sxc.hu/photo/821903

intuitiv einfach erlernbar

Inspiring people toshareFLOW3 - der aktuelle Stand

«Leonardo Da Vinci

Einfachheit ist die ultimative Vollkommenheit.

»

Inspiring people toshareFLOW3 - der aktuelle Stand

«Leonardo Da Vinci

Einfachheit ist die ultimative Vollkommenheit.

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Ziel

Einfache, elegante Template Engine

vielfältige Unterstützung für den Template-Schreiber

einfache und saubere Erweiterbarkeit

vielerlei Ausgabemedien möglich

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Grundkonzepte

Ausgabelogik ist in View Helpers (Tags) gekapselt

{namespace f3=F3\Fluid\ViewHelpers}<f3:link action=“someAction“>Administrationsoberfläche</f3:link>

Fluid Core enthält keine Ausgabelogik!

Namespace-Deklaration

Aufruf eines Tags

<f3:...>

Jeder Tag ist eine Klasse!

{namespace f3=F3\Fluid\ViewHelpers}

<f3:link>...</f3:link>

F3\Fluid\ViewHelpers\LinkViewHelper

{namespace f3=F3\Fluid\ViewHelpers}

<f3:form.textbox />

F3\Fluid\ViewHelpers\Form\TextboxViewHelper

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Grundkonzepte

Variablen

$this->view->assign(‘blogTitle’, $blog->getTitle());

<h1>Der Name des Blogs ist: {blogTitle}</h1>

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Grundkonzepte

Object Accessors

$this->view->assign(‘blog’, $blog);

<h1>Der Name des Blogs ist: {blog.title}</h1> Autor: {blog.author}

Getter / Setter werden automatisch aufgerufenGeht auch weiter

verschachtelt

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Grundkonzepte

Arrays

<f3:link action=“show“ arguments=“{id: blog.id, name: ‘Hallo’}“>Posting anzeigen</f3:link>

JSON-Objektsyntax

Inspiring people toshareFLOW3 - der aktuelle Stand

Ein Beispiel

Fluid

Layouts

Fluid

Schleifen

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Autovervollständigung

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Autovervollständigung

Generierung von XML Schema aus Quellcode-Kommentaren

funktioniert damit in allen XML-fähigen Editoren (z.B. Eclipse)

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Aufbau

Fluid Core

TemplateView View Helpers (Tags)

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Backport

Fluid wird in TYPO3 4.4 integriert

warscheinlich: Standalone-Lösung

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Nächste Schritte

Caching

Tag-Library dokumentieren und ausbauen

Portierung auf TYPO3 v4

Work in Progress

http://www.sxc.hu/photo/956013

We need help!http://www.sxc.hu/photo/1132907

Inspiring people toshareFLOW3 - der aktuelle Stand

Fluid

Weitere Informationen

http://forge.typo3.org/projects/package-fluid

https://svn.typo3.org/FLOW3/Packages/Fluid

Inspiring people toshareFLOW3 - der aktuelle Stand

FLOW3 - der aktuelle Stand

Inspiring people toshareFLOW3 - der aktuelle Stand

Progress

Developing TYPO3 5.0 ...

Progress

Inspiring people toshareFLOW3 - der aktuelle Stand

Der aktuelle Stand

AOP

Object

Configuration

Cache

Error

Event

0 25 50 75 100

Inspiring people toshareFLOW3 - der aktuelle Stand

Der aktuelle Stand

Locale

Log

MVC

Package

Persistence

Property

0 25 50 75 100

Inspiring people toshareFLOW3 - der aktuelle Stand

Der aktuelle Stand

Reflection

Resource

Session

Utility

Validation

0 25 50 75 100

Inspiring people toshareFLOW3 - der aktuelle Stand

Nächste Schritte

erste FLOW3-Beta: In den nächsten 1-2 Monaten

erste Pilotprojekte: jetzt

Weiterentwicklung des CMS

Geplanter Beta-Release von TYPO3 5.0: Ende 2009

Inspiring people toshareFLOW3 - der aktuelle Stand

Wir suchen...

Fluid-Mitentwickler, Tester, ...

FLOW3-Entwickler

(bald) TYPO3 5.0 Mitentwickler

Inspiring people toshareFLOW3 - der aktuelle Stand

Weitere Informationen

http://flow3.typo3.org

http://flow3.typo3.org/documentation/reference

https://svn.typo3.org/FLOW3/Distribution/trunk

https://svn.typo3.org/FLOW3/Distribution/branches/BlogExample

Inspiring people toshareFLOW3 - der aktuelle Stand

Inhalt

TYPO3 - Einführung

FLOW3

Fluid - The Zen of Templating

Synergien TYPO3 v4 und v5

Test Driven Development

Dependency Injection

Aspektorientierte Programmierung

Domain Driven Design & MVC

Inspiring people toshareFLOW3 - der aktuelle Stand

Synergien TYPO3 v4 und TYPO3 v5

Sollte ich überhaupt noch auf TYPO3 v4

setzen?

- Ja. -

Ich bin verunsichert.Was ist mit dem Aufwand,

den ich in TYPO3 v4 gesteckt habe?

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3 Transition Days

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3 Transition Days

The Berlin Manifesto

We, the participants of the T3TD08 state that ...

TYPO3 v4 continues to be actively developed

v4 development will continue after the the release of v5

Future releases of v4 will see its features converge with those in TYPO3 v5

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3 Transition Days

The Berlin Manifesto

We, the participants of the T3TD08 state that ...

TYPO3 v5 will be the successor to TYPO3 v4

Migration of content from TYPO3 v4 to TYPO3 v5 will be easily possible

Inspiring people toshareFLOW3 - der aktuelle Stand

TYPO3 Transition Days

The Berlin Manifesto

We, the participants of the T3TD08 state that ...

TYPO3 v5 will introduce many new concepts and ideas. Learning never stops and we'll help with adequate resources to ensure a smooth transition.

Patrick Broens, Karsten Dambekalns, Dmitry Dulepov, Andreas Förthner, Oliver Hader, Martin Herr, Christian Jul Jensen, Thorsten Kahler, Steffen Kamper, Christian Kuhn, Sebastian Kurfürst, Martin

Kutschker, Robert Lemke, Tobias Liebig, Benjamin Mack, Peter Niederlag, Jochen Rau, Ingo Renner, Ingmar Schlecht, Jeff Segars,

Michael Stucki, Bastian Waidelich

TYPO3 v4 Entwickler TYPO3 v5 Entwickler

TYPO3-Entwickler

[ Video-Ausschnitt aus dem T3CAST ]

Inspiring people toshareFLOW3 - der aktuelle Stand

Synergien

Gemeinsame Roadmap

Inspiring people toshareFLOW3 - der aktuelle Stand

Synergien

MVC-Framework in 4.3

Das FLOW3-MVC-Framework wird auf Version 4.3 portiert

Ziele:

Neue Konzepte erlernbar machen

Schon jetzt mit „FLOW3-Paradigmen“ programmieren

Inspiring people toshareFLOW3 - der aktuelle Stand

Synergien

Fluid in 4.4

Fluid wird für Templates und Extension-Entwickler zur Verfügung stehen

Automatische Konvertierung vom Fluid-Kern

An TYPO3 v4 angepasste Tags

Inspiring people toshareFLOW3 - der aktuelle Stand

Folien auf http://tug-dresden.de

Inspiring people toshareFLOW3 - der aktuelle Stand

?????????????

inspiring people to share.