# Was brauche ich für eine Web- und was für eine Fat-Client-Anwendung?



## Newbie1212 (27. Jan 2012)

Hallo Leute, 

ich bin neu hier und habe bisher zwar rudimentäre Erfahrungen mit Java leider aber noch keine Entwicklungserfahrung. Die Grundbegriffe und so sind schon soweit geläufig. Leider habe ich aber bisher noch nirgendwo eine vernünftige Beschreibung aus Zielsicht (was will ich entwickeln) gefunden und war man dazu braucht. Für mich wäre erst einmal ein How to für die beiden Fragestellungen wichtig. 

1. Die Entwicklung eines Fat-Client oder
2. die Entwicklung einer Webanwendung

Ja ich weiß, jeder hat so seine Vorlieben, bei dem einen ist es Eclipse und bei dem anderen ein Gui-Builder. Für mich wäre erst einmal wichtig was ich brauche, um erst einmal ein Zusammenspiel hinzubekommen. Bei mir ist es derzeit so, das ich zwei Rechner mit unterschiedlichen Möglichkeiten habe und dazu die entsprechende Beschreibung benötige. Bei Rechner sind sehr sehr unterschiedlich

1. Rechner, Eclipse, Java 6, XXAMP (Apache, MySQL)
2. Rechner, LinuxMINT, Eclipse, Java 6, XXAMP (Apache, MySQL)

So bis dahin bin ich schon. Nun wäre es einfach toll, wenn es eine Liste (so zu sagen gäbe) in der stünde, dann brauchst Du noch Netbeans und dazu .... oder und nun brauchst Du noch einen Tomcat und dazu ... und damit Du Deine Anwendungen starten kannst brauchst Du noch ... Easy Going so zu sagen. Alles andere kommt dann wahrscheinlich mit dem Doing. Da ich aber Anfänger bin wäre es schön, wenn es eine solche Erklärung / Anleitung gäbe. Wenn ich einen entsprechenden Beitrag nur nicht gelesen habe, weil ich Freitagsblind bin, dann bitte ich bereits jetzt um Entschuldigung. In diesem Fall bitte einfach Link senden oder rein hier damit. 

Danke, danke, danke. :rtfm:


----------



## Wildcard (27. Jan 2012)

Für eine Client Applikation brauchst du nur eine IDE (Eclipse, Netbeans,...), für eine Webandwendung dann noch irgend einen Servlet Container (Jetty, Tomcat, ...). Davon abgesehen ist mir nicht klar welche Art Checkliste du dir vorstellst


----------



## Newbie1212 (27. Jan 2012)

Hallo ,
vielen Dank erst einmal für Deine Antwort. Ich finde zunächst einmal Eure FAQs sehr gut. Mir fehlt hier leider nur etwas (eine Art Checkliste), wie ich zu einer vernünftigen Entwicklungs- und Testumgebung komme, wenn ich z.B. eine der beiden Aufgaben bewältigen wollte. So wie Ihr es halt in der FAQs auch teilweise gemacht habt. Am Anfang steht für mich aber die Frage, wie mache ich es und was brauche ich ?

Ein Beispiel wäre, um einen Web-Client zu installieren, braucht Ihr.

1. Apache, Download hier
2. Jetty, Download hier
3. Tomcat, Download hier
4. Eclipse
5. JDK

Exemplarisch für Windows 7 oder (what else) hier eine Installationsanleitung

1. Apache installierst Du so .... 
2. Jetty installierst Du so ....
3. Tomcat installierst Du so ....
4. Eclipse installierst Du so ....
5. JDK installierst Du so ....

Nun konfigurierst Du Deinen Apache so, damit er mit dem Tomcat spricht ......

1. ... 
2. ...
3. ...
4. ...
5. ...

Und nun konfigurierst Du Deinen Jetty so damit er mit dem Tomcat spricht (wie auch immer) 

1. ... 
2. ...
3. ...
4. ...
5. ...

Und nun installierst Du noch Deinen Treiber für die MySQL-DB (Download hier) so:

1. ... 
2. ...
3. ...
4. ...
5. ...

usw. 

Deine Umgebungsvariablen konfigurierst Du so.

Zu guter Letzt oder wie auch immer: Und nun konfigurierst Du Deinen Eclipse so damit Du Deine Klassen usw. entwickeln kannst und wann Du damit fertig bist, dann legst Du Dein erstes Hallo Welt-Progamm auf dem Tomcat hier ab und rufst Deine erstes Hallo Welt-Progamm hier über den Browser auf. 

Ich finds halt unheimlich schwierig von der Theorie in die Praxis zu kommen. Bücher kann man lesen so viele man will, aber eine halbwegs vernünftige Anleistung "Wie komme ich zu einer Entwickungsumgebung ? So geht's habe ich noch nicht gefunden. Ich will nicht sagen, dagegen ist die Java-Theorie einfach (das wäre sehr vermessen). Mir geht es einfach um einen strukturierten und einfachen Zugang zu einer Entwicklungsumgebung und das wäre eine ganz tolle Sache finde ich. 3 Java Bücher habe ich angelesen oder durch, aber es sagt mir keines, wie ich jetzt entwickeln und möglicherweise die Ergebnisse anschaue. Das finde ich fehlt in fast jedem Buch. Daher komme ich mir meiner Frage hier zu Euch und ich würde mich sehr freuen, wenn es ein guten Einstieg geben würde. 

Wenn es das dann noch für beide Zielstellungen geben würde, wäre das fantastisch. Ja, ich weiß nun müßte ich erst einma die Bestandteile kennen, die ich brauche, gut. Dann wieder 100 Webseiten ansurfen und stundenlang FAQs zu lesen, um dann herauszufinden, das ich das nicht brauche und so vergehen Stunden und Tage. Es wäre einfach superhilfreich, wenn es eine Supercheckliste gäbe. Es ist vollkommen egal welches Betriebssystem (das kann man organisieren / installieren). Aber das anschauen, wie macht es Jemand der Ahnung davon hat, das wäre eine prima, prima Sache.

Danke, Danke, Danke :rtfm:


----------



## Landei (27. Jan 2012)

Ich glaube, du stellst dir das viel zu kompliziert vor. In modernen IDEs ist normalerweise alles da, was du brauchst, oder sie suchen nach installierten Zeugs (wie mysql oder Application-Servern) und binden es dreiviertelautomatisch ein. Mit Default-Einstellungen auf die Platte knallen, und fertig. Eine ausgefeilte Setup-Strategie ist zum Entwickeln selten notwendig, das wird erst im "echten Leben" interessant.


----------



## Newbie1212 (27. Jan 2012)

Hallo,

vielen Dank erst einmal für Deine Antwort. Ja das kann sein, aber einerseits soll man die Umgebungsvariablen anpassen und muss beim Eclipse die JDK in das richtige Verzeichnis packen und dann soll man den Rest einfach so installieren ? Wer soll denn das wissen. Das hat mich bisher immer abgeschreckt. Ist das für einen Linux-Rechner auch so einfach ? Und wo muss die die Sourcen hinlegen, wenn ich mir die Entwicklung anschauen will ? Ja, ich weiß das sind ganz einfache Fragen, aber die Antworten sind für Euch vielleicht echt Banane. Für mich aber halt nicht. Das Programmieren an sich finde ich dann nicht mehr so schwierig (na, ja ich weiß - aber wer einmal was programmiert hat für den ist das dann mich mehr so gewöhnungsbedürftig - komplilieren und debuggen uns so), aber so die blöden einfachen Grundfragen sind halt (finde ich) nicht selbstverständlich. Ich habs gerade noch mal im dicken Java schinken nachgeschlagen. Jo da steht dann, komplilieren und fertig. Schauen Sie sich das Ergebnis im Webbrowser an. Ja schöne Formulierung, aber wie denn ? Und so geht mir halt auch mit den Komponenten. Gut und dann noch eine ganz einfache Frage: Wenn ich einen Tomcat installiere, laufen dann die PHP-Anwendungen auf dem Apache (XXAMP) noch so wie vorher oder zerlege ich mir dann etwas ? Irgendwo (auf den 100 Seiten zuvor) habe ich gelesen, dass die dynamischen Anfragen vom Apache dann an den Tomcat weitergeleitet werden. Aha, gut, aber heißt das wenn ich PHP über den Browser aufrufe, dann funktionieren die Anwendungen noch oder nehme ich noch lieber den Linux-Rechner ? Da ist erst mal nur XXAMP drauf ? Einfach so drauf rum installieren geht auch nicht, weil ich die Entwicklungsumgebung für PHP noch brauche und wenns ebend nicht so einfach ist, dann kann ich die Umgebung neu aufsetzen und das waär auch nicht so toll und daher würde ich was drum geben einfach mal hinter einem Menschen, eine solche Umgebung täglich installiert einfach einmal einen Tag lang hinterherzudackeln und ich glaub dann hätte ich noch ein Paar Fragen und alles wäre gut. Alternative wäre auch eine einfache Checkliste ganz toll und wenn es einfach ist, dann ist auch die Checkliste einfach. Es ist halt immer das internatisierte Wissen, was so einfach ist das es keine aufschreibt. Für mich ist es halt nicht einfach. Newbie halt. Ich glaube es hätten auch viel mehr (noch mehr) Menschen Bock auf Java, wenn's halt auch mal ganz einfach erklärt wäre. 

So jetzt hole ich mir noch mal die anderen beiden Schinken und dann schaue ich mal, ob Tomcat auf einem Linux-Rechner so einfach zu installieren ist.


Vielen Dank :rtfm:


----------



## Marcinek (27. Jan 2012)

Also iwie denke ich, dass hier ganz andere Probleme vorherschen.

Wie soll man den in so einem Post ohne ieine Strukturierung durchschauen? 100 Fragen in einem Absatz dann wieder ich bin zu blöd tralalala..

Lies dir ein paar Bücher oder Tutorials durch. Lerne, wie man in einem Forum postet und dann kannst du Fragen stellen, wie etwas geht.


----------



## Newbie1212 (27. Jan 2012)

Hallo, 

prima, es gab einmal Jemanden der sagte: Es gibt keine blöden Fragen nur blöde Antworten. Sorry, aber anstatt festzustellen, das es einen Handlungsbedarf gibt, stellst Du mir in Abrede, das es hier keine Struktur gäbe. Es wäre schön, wenn es ein FAQ in der o.a. Struktur gäbe. Das hast Du sicher gelesen. Schaden das Du hier keine Struktur erkennst. Alle anderen Fragen werde ich mir schon selbst beantworten. Und genau solche Antworten wie Du Sie hier gibt verbreiten bei Java den Esprit. Vielleicht ist das auch nur einfach der falsche Platz für meine Fragen. Daher sind die Java-Bücher auch so toll. Schade, sehr schade. 

Vielen Dank und ich werde Dir nicht weiter belästigen.


----------



## Newbie1212 (27. Jan 2012)

Vielen Dank und ich werde Dich nicht weiter belästigen.


----------



## Paddelpirat (27. Jan 2012)

Vielleicht solltest du dir erst mal klar machen, was du genau machen möchtest und dann eine geeignete Suchmaschine nutzen um herauszufinden, was genau du dafür benötigst.

Netbeans bringt z.B. sowohl einen Tomcat als auch PHP Unterstützung mit sich. Aber jeder hat andere Anforderungen und da bringt so eine Checkliste nichts. Du wärst stundenlang mit installieren irgendwelcher Software beschäftigt, die du dann doch gar nicht brauchst.

Im Moment kommt es einem vor, dass wenn du dann mal eine Checkliste hast, dir jemand den Sourcecode  diktieren soll.


----------



## schlingel (27. Jan 2012)

Wenn du eine integrierte Lösung möchtest verwende das Play-Framework. Ich spiel mich in den letzten Tagen etwas damit herum und bin begeistert darüber, dass du alles fix fertig schon dabei hast.

Zum Prototypen und Lernen perfekt da weder ein extra DB-Server, Webserver oder sonst was gebraucht wird. Einfach in der Konsole mit "play test" deine Anwendung starten und du hast sogar einen Test-Runner dabei.


----------



## JanHH (28. Jan 2012)

All das was Du wissen willst ist im Internet gut dokumentiert.

Für eine Webanwendung brauchst Du eine Datenbank (H2, MySQL, Postgresql) -> Wie und wo man diese herunterlädt und installiert kannst Du selber rausfinden!

des weiteren je nach verwendeter Technologie einen Tomcat oder einen EJB-Application Server (JBoss, Glassfish), auch hier hilft google. Wie man vom Apache zum Tomcat weiterleitet erklärt uns auch google.

Als IDE kommen NetBeans und Eclipse (und noch diverse andere in Frage), auch hier hilft googlen.. wobei Netbeans für Anfänger besser geeignet scheint, es hat die besseren Wizards, die Webanwendungs-Vorlagen erzeugen, die "out of the box" laufen.

Für eine GUI-Anwendung mit Swing oder SWT brauchst Du nur eine IDE ;-).

Sinnvoll wärs auch, wenn Du mal aufschreibst, was Du überhaupt programieren willst..

Ich muss allerdings auch sagen, die Einstiegshürde bei Webanwendungen ist nicht so trivial wie manchmal dargestellt. Da muss ich dem Threadstarter durchaus recht geben, ich hab auch arg gekämpft bis ich meine ersten JSF- und JPA-Sachen zum laufen gekriegt hatte.

Vielleicht sinnvoll für webanwendungen: seam.. da gibts seam-gen und erzeugt ein Projektgrundgerüst wo alles drin ist (JSF, JPA usw) inklusive Datenbankanbindung. Fand das dann schliesslich am einfachsten. Aber seam an sich ist nicht gerade trivial.


----------



## ...ButAlive (28. Jan 2012)

Newbie1212 hat gesagt.:


> Ich glaube es hätten auch viel mehr (noch mehr) Menschen Bock auf Java, wenn's halt auch mal ganz einfach erklärt wäre.



Und wenn einer mal endlich aufschreiben würde, wie das mit den ganzen Herzoperationen geht, würden viel mehr Leute Herzoperationen machen?

Kurze und knappe Antwort, das ganze Ökosystem um Java ist nicht einfach und nicht an Anfänger gerichtet. Das Javaumfeld bietet Leuten die wissen, was sie machen wollen, die Möglichkeit das mit wenig Aufwand hinzuschreiben, aber ist nicht dafür gedacht, dass jeder sich mit wenig Aufwand eine super tolle Webapplication erstellen kann. 

JPA hilft einem mit wenig Aufwand Daten aus einer Datenbank in eine Javaanwendung zu laden, bewahrt einem aber nicht davor, eine Datenbank zu installieren, dir ein paar SQL-Kenntnisse anzulernen und dich ein wenig mit Normalformen zu beschäftigen.

Servlet-Container (Jetty, Tomcat ...) helfen dir dabei, auf Webanfragen mit Java reagieren zu können und die Antwort wieder an den Client zurückzuschicken. Sie nehmen dir aber nicht ab, dich ein wenig mit HTTP zu beschäftigen.

Dependency Injection Container helfen dir dabei die Einzelteile deiner Application mit einander zu verknüpfen. Aber wie die Einzelteile aussehen musst du schon selbst wissen.

Eine IDE hilft dir dabei Code schnell und einfach zu schreiben, über das was er machen soll musst du dir schon Gedanken manchen.

Damit könnte ich noch stundenlang weitermachen...

Mal angenommen wir würden so eine Liste aufschreiben, und würden dabei auf alle von dir vorgeschlagenen Details eingehen, wären dass dann so um die 500 Seiten wenn man es drucken würde. Darin würde dann auch nicht mehr stehen als auf den Seiten der jeweiligen Produkte. Wenn du dass dann alles brav befolgen würdest, hättest du nach 2 Wochen ein System mit jeder Menge Tools drauf und dann?  

Ich will dich nicht entmutigen. Fang erst mal mit kleinen Schritten an und wenn du dann auf ein Problem stößt suche dir die passende Lösung. In dem Fall helfen wir dir dann auch gerne weiter.


----------



## Landei (28. Jan 2012)

Schön gesagt. Was ist effektiver: Sich jeden Tastendruck vorher erklären zu lassen, oder Hilfe zu suchen, wenn es wirklich einmal hakt? Die Tools sind, wie schon beschrieben, mittlerweile recht bedienerfreundlich. Programmierung hat aber immer viel mit Eigeninitiative und Erfahrungen machen zu tun, es geht einfach nicht anders.

Hast du dir das Radfahren mit Büchern und über br-alpha beigebracht? Oder in dem du den Erzählungen der Alten über ihre Radtouren gelauscht hast? Denkst du, dass dir Abhandlungen über die wirkenden Kräfte beim Radfahren irgendwie beim Lernen weitergeholfen hätten? Oder die StVO? Oder ein Rennrad-Tuning-Katalog? Denkst du, dass die Auswahl eines Alu- oder Carbonrahmens großen Einfluss auf deine ersten Fahrversuche gehabt hätte?


----------



## Newbie1212 (29. Jan 2012)

Vielen Dank für die konstrukitven Beiträge. Geholfen haben mir maßgeblich die Beiträge auf YouTube. Das war richtig hilfreich.

Bei denen die bereits schlau und fahradfahrend zur Welt gekommen sind. Die Kommunikationsfähigkeit. Jungs, die ist es. Warum redet Ihr überhaupt ? Ihr könnt doch sicher auch Gedankenübertragung. Das Forum ist daher ja auch nur Zeitverschendung. Wenn man mit Java im Kopf geboren wird, dann ist das doch so oder ? So ich schließe jetzt den Thread. Is mir echt zu klug hier.


----------



## Wildcard (29. Jan 2012)

Meiner Meinung habe ich dir Frage schon eingangs beantwortet:
Um eine Desktop Anwendung zu schreiben: 

Eclipse herunterladen
entpacken
starten
Klasse anlegen
Code schreiben
auf den grünen 'Run' Button klicken

Soweit ist das noch kein Hexenwerk und vorher brauchst du dich noch gar nicht mit Webanwendungen zu beschäftigen.


----------

