# Prozess für die Zusammenarbeit



## Dravere (13. Jul 2012)

Hallo zusammen,

Ich werde wohl bald mit jemandem an einem Projekt anfangen zu arbeiten, welches mit Java EE entwickelt wird. Ich habe Erfahrungen in Java EE und kenne mich eigentlich auch in Java sehr gut aus. Das Problem ist, die andere Person kennt sich gar nicht mit Java aus. Die andere Person soll allerdings auch eher im Bereich der Gestaltung Aufgaben übernehmen, während dem ich die Logik und Datenanbindung programmiere. Die zweite Person hat gute Erfahrungen in HTML und CSS.

Nun habe ich mich gefragt, wie ich am besten die Zusammenarbeit gestalte. Wir werden sehr wahrscheinlich JSF oder Facelets einsetzen. Was würdet ihr da empfehlen?

Soll ich einfache JSF Seiten erstellen, welche die andere Person dann verschönert?
Oder soll es umgekehrt gehen, dass die andere Person das HTML baut und ich dann dies in eine JSF konvertiere?
Oder soll die Schnittstelle (Variablen, Actions, usw.) zwischen JSF und den Beans zuerst anderswo definiert werden und die andere Person soll sich daher gründlich in JSF einarbeiten?

Wie handhabt ihr dies in euren Teams? Wie geht ihr mit den Graphikern und Designern um?

Danke im Voraus.

Grüssli


----------



## tagedieb (13. Jul 2012)

Ich würd zuerst CSS und die generelle Seitenaufteilung machen und daraus ein Template erstellen. Dann für die HTML  Componenten Snippets erstellen, welche du konvrtieren kannst. Wenn du facelets einsetzen willst würd ich eine Seite  erstellen wo der Designer das CSS bearbeiten kann


----------



## JohannisderKaeufer (14. Jul 2012)

Hallo,

was ich in diesem Zusammenhang recht nett finde ist scala mit dem Webframework lift.
Dort entwickelt man nach dem Prinzip View-First.

GeeCON 2011 - Lift: The Best Seven Reasons - David Pollak on Vimeo

Hier kann man sich das mal anschauen. Ab Minute 5. bis 10 finde ich ein schönes Beispiel.

In diesem Beispiel hat er eine stinknormale html-Seite die auch von einem Designer stammen könnte.

In der html-Seite wird zwei Elementen ein class Attribut hinzugefügt. Einmal 
	
	
	
	





```
lift:LazyLoad
```
 und einmal 
	
	
	
	





```
lift:LongTime
```
 und schon hat man ein Template daraus gemacht.

Es bleibt immer noch eine html-Seite mit der ein Designer auch ohne Anwendung was anfangen kann und kann gleichzeitig die Seite als Template verwenden.

Das einzige was passieren kann ist, dass der Designer in seiner css anfängt 
	
	
	
	





```
.lift:LongTime{...}
```
 zu definieren.

Quasi wie unobstusive JavaScript, eine Seite benutzbar läßt wenn JavaScript wegfällt, kann man hier die Templates verwenden, wenn die Applikation noch nicht zur Verfügung steht.

Auch wenn ihr das nicht einsetzen werdet, so sind die zumindest die ersten Minuten dieses Videos als Inspiration sehr zu empfehlen.


----------



## maki (14. Jul 2012)

Ich würde erst das Stylesheet haben wollen und danach "den Rest" machen 

Eine JSP Seite die alle Styles/Elemente vorführt hilft IME ungemein.


----------



## Dravere (16. Jul 2012)

Danke für die bisherigen Antworten.

Wenn ich euch also richtig verstehe, dann empfehlt ihr, dass der Designer zuerst die Seite per statischem HTML und CSS erstellt und ich dann daraus die Templates/Facelets Components erstelle. Das ist zwar für den ersten Schritt sicher praktikabel, aber wie geht ihr dann vor, wenn es Änderungen im späteren Projekt gibt?

Immer wieder die HTML/CSS Seiten vom Designer zu mir und ich erstelle dann die Templates/Components neu? Oder soll der Designer dann direkt die Templates/Components bearbeiten?

Grüssli


----------



## tagedieb (21. Jul 2012)

Das kommt darauf an in wie weit der Designer im Projekt involviert ist. Soll er 'nur' das Design erstellen.. dann ist seine Arbeit irgendwann mal zu Ende und du kannst daraus Templates und Facelets entwickeln. Das kann natürlich auch der Designer übernehmen falls er sich damit auskennt. Änderungen am Layout kann es immer geben, aber wenn du ein gutes Design hast kann fast alles über CSS gesteuert werden ohne Änderungen an den Templates/Faclets vornehmen zu müssen.


----------



## freez (23. Jul 2012)

tagedieb hat gesagt.:


> Soll er 'nur' das Design erstellen.. dann ist seine Arbeit irgendwann mal zu Ende und du kannst daraus Templates und Facelets entwickeln.



Das befürchte ich auch. Dein Kollege wird irgendwann Daumen drehen und Kaffee trinken, und du codest vor dir hin. Ich würde auf alle Fälle schauen, dass sich der Kollege während des Projektes auch in die Erstellung von Templates und den JSF Seiten einarbeitet. 

Außer natürlich der Kollege soll explizit nur das Design übernehmen und du arbeitest irgendwann dann allein an dem Projekt weiter, wenn das Design steht. Wäre auch noch eine Variante.


----------



## Dravere (25. Jul 2012)

tagedieb hat gesagt.:


> ..., aber wenn du ein gutes Design hast kann fast alles über CSS gesteuert werden ohne Änderungen an den Templates/Faclets vornehmen zu müssen.


Das ist doch reines theoretisches Wunschdenken. Man denke nur schon an Erweiterungen oder dem Entfernen von Features. Oder über die Zeit, wenn das Projekt sich weiterentwickelt, entsprechende Konsolidierungen oder Umstellungen. An sowas habe ich schon lange aufgehört zu glauben...



freez hat gesagt.:


> Außer natürlich der Kollege soll explizit nur das Design übernehmen und du arbeitest irgendwann dann allein an dem Projekt weiter, wenn das Design steht. Wäre auch noch eine Variante.


Er soll explizit nur das Design machen. Aber wenn es Erweiterungen gibt, neue Seiten und Bereiche, dann muss er diese trotzdem gestalten. Neue Menüs, neuer Inhalt, neue Übersichten, usw. Änderungen gibt es immer.


Da aber während 5 Tagen nichts mehr kam, bin ich zwischenzeitlich schon weitergegangen. Der Prozess ist inzwischen ziemlich definiert. Er wird das Design machen und ich die Facelets daraus erstellen. Sehr oft sollte es nicht vorkommen, dass die Facelets komplett neu gemacht werden müssen, bzw. gröbere Änderungen vorkommen. Und wenn doch, dann gibt es halt hier etwas mehr Arbeit. Dafür können wir flexibel und unabhängig voneinander arbeiten. Zudem würde dies auch automatisch zu einem Reviewprozess kommen, wenn es starke Änderungen gibt, was ebenfalls nicht schlecht ist.

Danke für die Hilfe.

Grüssli


----------

