Gemeinsam Java Spring lernen

Simple Man

Lt. Commander
Registriert
Sep. 2003
Beiträge
1.415
Hallo,

Ich programmiere schon seit ein paar Jahren mit Java, C# und in letzter Zeit etwas jsp/servlets.
Jetzt würde ich mich gerne langfristig in Java Spring MVC reinarbeiten. https://spring.io/

Spring ist ein mächtiges, populäres, weit verbreitetes Java Framework, welches es eben ermöglicht mit Java web applikationen/sites zu entwickeln. Deswegen dachte ich mir: Geteiltes Leid ist halbes Leid :D. Außerdem macht es in einer Gruppe nicht nur wesentlich mehr Spaß, sondern man lernt auch wesentlich mehr.

Ich suche hiermit weitere Programmierer, die sich langfristig Spring MVC aneignen/nutzen wollen UND die gemeinsam in einer Gruppe lernen/entwickeln wollen.

  • Es sollten 2+ Jahre Programmiererfahrung in irgendeiner Sprache vorhanden sein. Wir wollen keine if-Schleifen erklären müssen.
  • Wir arbeiten/lernen alle gemeinsam die gleichen Themen in recht ähnlicher Reihenfolge. Macht auch keinen Sinn wenn jeder irgendetwas lernt und es dann keine Basis für gemeinsame Probleme bzw. Gespräche gibt.
  • Ich würde auch einen TeamSpeak Server zur Kommunikation zur Verfügung stellen.
  • Fixe Treffen pro Woche um am Abend im TeamSpeak zu Programmieren, Diskutieren und Spaß haben
  • Wir können auch ein Forum aufsetzen um konkret bestimmte Dinge zu bereden
  • Jeder kann seinen Code auf github stellen. Wie hast du etwas programmiert? Wie habe ich etwas programmiert?
  • Damit wir am Anfang einfach ein gemeinsames Ziel haben und in eine ähnliche Richtung lernen, können wir für den Start gemeinsam paar kleinere Web Applications entwickeln. REST WebServices, online Videothek, WebSockets, kleines Browsergame, ...

Wäre natürlich super, wenn sich jeder mit der Zeit in einem Bereich (File IO, Formulare, Hibernate, MongoDB, Erstellen/Lesen XML/JSON, etc etc) überdurchschnittliches Wissen aneignen könnte. Bei den kniffligen, komplexeren Problemen kann man sich als Gruppe dann enorm viel Zeit sparen, weil sie eben nicht jeder für sich alleine lösen muss.

Die Idee ist es eben, dass wir "gemeinsam" lernen, Spaß haben, bei Problemen aushelfen, Erfahrungen und Tricks austauschen. Da wir natürlich nicht alle Themen abdecken werden, sollten auch die "schnellen" Lerner natürlich nicht aufgehalten werden und können andere Themen selber für sich alleine bearbeiten.

Wenn somit jemand Interesse hätte langfristig Java Spring zu lernen, Web Applikationen mit Java zu entwickeln, dann bitte hier im Thread oder über PM einfach melden.

Edit:Wir sind nun min. 6 die Spring lernen wollen und einer der uns dabei unterstützen würde. Suchen noch weitere die lernen möchten, aber auch schon erfahrene Spring Entwickler, die uns ab und zu mit ihrer Erfahrung zur Seite stehen könnten!
 
Zuletzt bearbeitet:
Mmm ich frag mal vorsichtig: Ist das Zukunftsorientiert? Momentan haben Java-Applets einen ziemlich schlechten Ruf, weil es so viele Sicherheitslücken gibt und deshalb setzen viele nun auf JavaScript, da dies jeder Browser kann. Eigene Applets im Browser zu testen ist auch ziemlich umständlich, da der Browser/System keine "fremden" Applets einfach so ausführt (eben wegen der Sicherheit).
Falls JavaScript zu wenig Funktionen bietet, setzt man eh auf "richtige" Java-Programme ohne Browser.
Oder seh ich das falsch?
 
Hallo,

Simple Man schrieb:
Ich programmiere schon seit einigen Jahren mit Java, C# und in letzter Zeit etwas jsp/servlets, html.
Jetzt würde ich mich gerne langfristig in Java Spring reinarbeiten. https://spring.io/
Kommt natürlich drauf an wofür. Gerade wegen des Umfanges lohnt es sich nur für Projekte, die in sinnvoller Art auch ausgiebig Gebrauch von Spring machen. Wenn Du nur Einzelaspekte brauchst, bist Du woanders evtl. besser aufgehoben.

Simple Man schrieb:
Ist ein mächtiges, weit verbreitetes, aber leider auch recht aufgeblähtes (für einen Spring Anfänger) Framework
So ein Framework ist halt immer ein Kompromiss. Umso flexibler es ist, umso mehr hast Du diesen "Aufblähfaktor". Wenns konkreter ist, bist Du nicht mehr so flexibel hast aber als Entwickler einen einfachen Zugang dazu.
Es gibt quasi zwei Extrempunkte (ultraflexibel aber unbrauchbar <-> sehr konkret und nur für eine Sache zu gebrauchen; das aber sehr simpel). Und dazwischen gibt es dann halt die diversen Frameworks. Je nach Schwerpunkt entweder mehr in die eine oder andere Richtung.
Wobei Spring schon eine echte Verbesserung gegenüber reinem JavaEE ist, wobei sich JavaEE selbst inzwischen auch verbessert hat.

Wenn es mehr in Richtung Ruby on Rails gehen sollte, ist vielleicht auch noch das Play! Framework ein Blick wert.


Simple Man schrieb:
, welches es ermöglicht mit Java web applikationen/sites zu entwickeln. Deswegen dachte ich mir: Geteiltes Leid ist halbes Leid :D. Außerdem macht es in einer Gruppe nicht nur wesentlich mehr Spaß, sondern man lernt auch wesentlich mehr.
Jupp.

Simple Man schrieb:
Ich suche hiermit weitere Programmierer, die sich langfristig Spring aneignen/nutzen wollen UND die gemeinsam in einer Gruppe lernen/entwickeln wollen.
Mein Bereich liegt (wieder) mehr in Forschung. Das heißt neue Sachen ausprobieren und entwickeln. Spring und Co ist da zu Mainstream. :-)

Ich denke auch, dass bei vielen Problematiken viel weiter unten angesetzt werden muss. Nehmen wir nur mal das Feature (bzw. besser gesagt Pattern) Dependency Injection. Gilt als Hip und "must-to-have". Wird aber eigentlich nur deshalb benötigt, um Unzulänglichkeiten des (insbesondere in Java und Co gebräuchlichen) Objektmodells zu überwinden.

Also wenns schon was in Richtung Web sein soll, ein gutes umfangreiches Continuation-based Webframework zu basteln bzw. ein vorhandenes weiter zu entwickeln wäre evtl. ne spannende Sache. Das heißt dann aber sinnvollerweise(!) auch auf eine Ausdrucksstärkere Sprache zu setzen und sich von Java, C# und wie sie alle heißen zu verabschieden.


Simple Man schrieb:
+ Es sollten 2+ Jahre Programmiererfahrung in irgendeiner Sprache vorhanden sein. Wir wollen keine if-Schleifen erklären müssen.
Das mit diesen if-Schleifen hört man so oft. Was soll das sein? Also entweder hat man ne if-Verzweigung oder eben Schleifen. Solche Wortkonstruktionen wie For-Schleifen macht ja noch Sinn. Man weiß, was für ein Schleifen-Typ gemeint ist.


Simple Man schrieb:
[...]
Die Idee ist es eben, dass wir "gemeinsam" lernen, Spaß haben, bei Problemen aushelfen, Erfahrungen und Tricks austauschen. Da wir natürlich nicht alle Themen abdecken werden, sollten auch die "schnellen" Lerner natürlich nicht aufgehalten werden und können andere Themen selber für sich alleine bearbeiten.

Wenn somit jemand Interesse hätte langfristig Java Spring zu lernen, Web Applikationen mit Java zu entwickeln, dann bitte hier im Thread oder über PM einfach melden.
Deine Idee einer Lerngruppe ist jedenfalls nett. Ich hoffe, dass Du den ein oder anderen Mitstreiter findest. Und bei dem Praxis-bezogenen Kram ist es auf jeden Fall wider dem vielzitierten Fachkräftemangel.

Gruß
Andy
Ergänzung ()

Teiby schrieb:
Mmm ich frag mal vorsichtig: Ist das Zukunftsorientiert? Momentan haben Java-Applets einen ziemlich schlechten Ruf, weil es so viele Sicherheitslücken gibt
Man kann sagen, Java-Applets sind tot. Ich hab jedenfalls schon lang keines mehr gesehen im Web. Wobei das Konzept ansich eigentlich gar nicht so schlecht ist. Ich glaub das Problem war, es kam zu früh (und zu unausgereift) auf den Markt.

Aber ist auch egal. Um Applets geht es in dem Fall hier nicht. Es gibt bei Spring um Java auf der Server-Seite. Und da ist Java auch ziemlich erfolgreich. Eben nicht zuletzt wegen solcher Frameworks wie Spring und das man einen "Standard" wie JavaEE hat. Und das die JVM für einem Server auch gut geeignet ist, da sie am besten funktioniert, wenn sie sich warmlaufen kann. Man sozusagen long-running-Tasks hat.



Teiby schrieb:
und deshalb setzen viele nun auf JavaScript, da dies jeder Browser kann. Eigene Applets im Browser zu testen ist auch ziemlich umständlich, da der Browser/System keine "fremden" Applets einfach so ausführt (eben wegen der Sicherheit).
Für die Clientseite (also Browser) hast Du natürlich recht. Wobei auch serverseitiges Javascript durch node.js (wieder) Aufschwung erfährt (um auch mal den Aspekt kurz zu streifen).


Teiby schrieb:
Falls JavaScript zu wenig Funktionen bietet, setzt man eh auf "richtige" Java-Programme ohne Browser.
Jain. Der Ist-Zustand bei Web-Apllicationen ist ja, dass die wesentliche Logik auf dem Server läuft. Der Browser mit HTML/CSS/Javascript wird sozusagen nur als Eingabe-/Ausgabe-Terminal benutzt. Das funktioniert soweit auch schon gut. Einige Dinge sind aber lokal immer noch am besten. Man denke nur an das Thema grafikintensive Spiele, die mehr oder weniger direkten Zugriff (via DirectX, OpenGL oder was auch immer) auf die Grafikkarte brauchen. Aber die Grenze zwischen "Web-based" und "nur lokal machbar" verschiebt sich mit der Zeit immer weiter Richtung "web-based".

Teiby schrieb:
Oder seh ich das falsch?
Etwas. :-)

Gruß
Andy
 
Zuletzt bearbeitet:
@Teiby Java-Applets haben mit Spring nichts zu tun.
Das Spring Framework wird hergenommen um big big enterprise web sites mit Java zu entwickeln. Natürlich kann man auch kleine web sites entwickeln :) Da ist einfach ein extrem großes Ecosystem vorhanden, welches sehr viele Features und Annehmlichkeiten bietet.
Spring - serverseitige Entwicklung
JavaScript - clientseitige Entwicklung (BlingBling)

@andy_m4
Beim Play Framework wird Java eher als 2nd class citizen betrachtet, da der Fokus und die meiste Doku für Scala ausgelegt ist. Ich kenne aber auch Leute, die das hin und wieder nutzen. Du hast mit vielen Aussagen Recht. Ich möchte jetzt jedoch nicht Spring weiter entwickeln, sondern einfach nutzen :)


Einfach melden und mitmachen!
 
Hey ich finde es insgesamt eine sehr coole Idee und würde mich ggf. anschließen, wenn weitere Leute Interesse bekunden.
Ich bin allerdings noch Student (Ende vom Master), daher kann man nicht wirklich von 2+ Jahren (professioneller) Programmiererfahrung sprechen. Ich habe mich aber privat, im Studium und in Werkstudententätigkeiten mit Java (und C#) und auch Spring (insb. Spring Security) auseinandergesetzt und weiß daher was eine if-Abfrage ist :D
 
@TheRepatriate
Ende vom Master + deine Erfahrung reichen da schon aus :). Wir werden ja nicht gerade hochkomplexe Algorithmen erstellen.
Du bist dabei!

Wir sind nun min. drei die Spring lernen wollen und einer der uns dabei unterstützen würde.
 
Hey,
Mich würde das ganze eventuell auch interessieren.
Ich hab aber auch noch nicht soo viel erfahrung. Ich hab nur eine Ausbildung zum Fachinformatiker für Systemintegration und schreibe jetzt gerade meine Bachelorarbeit im Studiengang Informatik.. Also habe ich auch noch nicht soo viel erfahrung..
 
Hallo!

Lese schon seit längerem mit und jetzt habe ich mich registriert weil ich gerne mitmachen würde.

Kurz zu mir:
Habe die HTL (Informatik) gemacht und arbeite als Software Entwickler.
Auf der Arbeit habe ich hauptsächlich mit C# Anwendungen zu tun, aber auch mit Java und JS.
Habe auch schon mit den ein oder anderen oben genannten Technologien zu tun gehabt.
 
andy_m4 schrieb:
Nehmen wir nur mal das Feature (bzw. besser gesagt Pattern) Dependency Injection. Gilt als Hip und "must-to-have". Wird aber eigentlich nur deshalb benötigt, um Unzulänglichkeiten des (insbesondere in Java und Co gebräuchlichen) Objektmodells zu überwinden.

Kannst du das mal kurz erläutern?
 
@ Venturina
Sofern die Grundlagen da sind, ist das alles vollkommen OK. Man kann ja am Anfang kleine Brötchen backen, bis man die anderen eingeholt hat. Bist dabei!

@NoSpace
Dann als erstes: Willkommen im Forum!
Als Software Entwickler, der schon mit mehreren Programmiersprachen zu tun hatte, sollte das für dich locker machbar sein.
Bist dabei!

Wir sind nun min. fünf die Spring lernen wollen und einer der uns dabei unterstützen würde. Suchen noch weitere die lernen möchten, aber auch schon erfahrene Spring Entwickler, die uns ab und zu mit ihrer Erfahrung zur Seite stehen könnten!
 
Hm, der Aufwand solch ein lern Team zu koordinieren kann schnell größer werden als es für diesen Zweck Sinn macht, noch aufwändiger als auf der Arbeit, da jeder immer zu anderen Zeiten kann. Zumal man in Gruppenarbeit auch nur den Teil lernt den man selbst macht.

Ach ja, If Schleifen gibt's nicht ;D
 
if-Schleifen

rob- schrieb:
Ach ja, If Schleifen gibt's nicht ;D
Naja. Mit etwas Mühe könnte man bestimmte Dinge so benennen. Also ich weiß noch aus meiner BASIC-Zeit Konstrukte der Art:
Code:
...
20 LET I=I+1
...
50 IF I<10 GOTO 20
(ok; ist nicht unbedingt das Optimalbeispiel, weil man hier zu FOR-NEXT greifen würde, aber es soll ja jeder folgen können :evillol: )
:-)

Gruß
Andy
 
http://www.if-schleife.de/ :evillol:

Es gibt immer Vor- und Nachteile wenn man in Gruppe lernt oder entwickelt. Man muss dann eben versuchen die Vorteile zu maximieren und die Nachteile zu minimieren. Wir werden auch paar Anforderungen + Verhaltensregeln aufstellen. Man bindet sich auch nicht für alle Ewigkeit. Wird schon cool werden.
 
dependency injection

crvn075 schrieb:
Kannst du das mal kurz erläutern?
Das Prinzip als solches ist natürlich nicht verkehrt. Allerdings ist es in anderen Sprachen wie zum Beispiel LISP (oder, wenn Du es mehr Mainstream haben willst: den sogenannten dynamischen Skriptsprachen) üblich das Code herumgereicht wird.
Machen kann man das auch in Java nur ist es ohne Unterstützung nicht besonders elegant, weshalb ja Frameworks wie Spring oder inzwischen sogar "offiziell" in Java EE eben Unterstützung dafür geben (müssen).

Der zweite Punkt ist, dass Java praktisch ausschließlich auf objektorientierte Programmierung setzt (und das Objektmodell von Java ist nicht mal besonders gut; aber das nur am Rande). Das bedeutet aber letztlich auch, jede Problemstellung wird in dieses Korsett gepresst, ob es dazu passt oder nicht. Wenn man die Lösung solcher Probleme grundsätzlich anders angehen kann, dann kommt man an vielen Stellen gar nicht in die Verlegenheit auf Mittel wie DI zurückgreifen zu müssen.

Gruß
Andy
 
Hm ich fand Java immer mitunter am einfachsten, da man es grade wegen Objektorientierung super aufteilen kann. Jeder bekommt sein Modul, ein UML Chart wie die Methoden zu heißen haben und schon kann man anfangen.

Java wirkt nur aus Sicht Einzelner Programmierer weniger schön, wobei es immer noch schöner ist als alle anderen gebräuchlichen Sprachen, außer C# vielleicht, nur das hat halt typische Microsoft Grenzen und ist raus bevor es überhaupt eine Chance bekommt.
 
@andy_m4

Teile zwar deine Meinung nicht aber eins ist klar soetwas wie Spring/Java EE setzt man nicht für eine kleine Webseite ein, sondern für Anwendungen die sehr komplex sind und bei denen Anforderungen gestellt werden die andere Sprachen gar nicht abdecken. Stichwort: Transaktionssicherheit

Zusätzlich bedeutet Spring nicht Java only!
Mit Spring AOP (AspectJ) steht eine powervolle aspektorientiere Programmiersprache zu Verfügung die für die Lösung von Cross-Cutting Concerns geschaffen wurde.
 
Erst mal solltet ihr euch darüber im klaren sein, dass Spring kein Framework für Web-Sites ist, sondern primär ein Framework für Enterprise Applikationen, zumal es ja als Alternative zu JavaEE entstanden ist. Die Stärken von Spring liegen vornehmlich in seiner Flexibilität, Dependency Injection über XML oder Annotations, AOP Unterstützung, etc. Zudem ist die Lernkurve recht flach, gerade im Vergleich zu JavaEE. Eine REST-Schnittstelle hat man im Handumdrehen fertig.
Ob das Frontend nun eine Web-Anwendung oder eine native App ist, ist völlig unerheblich.
Der klassische MVC Controller, bei dem die View Teil der Server-Anwendung ist (z.B. JSP), ist ein Auslaufmodell.
 
Erst mal solltet ihr euch darüber im klaren sein, dass Spring kein Framework für Web-Sites ist
@SheepShaver: Danke, aber wie der TE bereits geschrieben hat, sollten grundlegende Kenntnisse über Spring und seine Anwendungsmöglichkeiten bei den Teilnehmern vorhanden sein. Ich weiß daher nicht warum hier manche Leute scheinbar davon ausgehen, das man absolut keine Vorerfahrung hat. Hättest du den Startpost vernünftig gelesen, wüstest du, dass es hier nicht nur um die Entwicklung einer Website geht.

@andy_m4: Du magst mit deinen Aussagen richtig liegen, aber in diesem Threat ging es darum Leute für eine "Lerngruppe" zu begeistern und nicht die tausendste Diskussion darüber loszubrechen ob nun Java gut oder schlecht ist, oder welche Sprachen ja so viel mächtiger sind... Posts wie deine sind meiner Meinung nach der Grund, warum so viele Threats in Off-Topic Diskussionen ausarten! Ferner liegt man arbeitsmarkt-technisch mit JavaEE und Spring sicher nicht falsch.
 
Zuletzt bearbeitet:
schön?

rob- schrieb:
Hm ich fand Java immer mitunter am einfachsten, da man es grade wegen Objektorientierung super aufteilen kann. Jeder bekommt sein Modul, ein UML Chart wie die Methoden zu heißen haben und schon kann man anfangen.
Es geht nicht darum, dass Objektorientierung generell schlecht ist. Es geht darum, dass es nicht für jedes Problem die beste Lösung ist. Abgesehen davon, dass die Objektorientierung von Java ziemlich bescheiden ist.

rob- schrieb:
Java wirkt nur aus Sicht Einzelner Programmierer weniger schön, wobei es immer noch schöner ist als alle anderen gebräuchlichen Sprachen
Keine Ahnung, was für Dich gebräuchlich ist aber schon bei einer einfachen Klassendefinition wirds ja umständlich:
Code:
class Punkt {
  int x;
  int y;
  public Punkt(int x, int y) {
     this.x = x;
     this.y = y;
  }
}
Wie oft ich da allein das x und y tippen muss. Und ich hab jetzt noch nicht mal Getter und Setter die kommen ja noch dazu (hierfür bietet C# ja wenigstens noch Properties an).

Das Ganze würde in Racket Scheme folgendermaßen aussehen:
Code:
(struct Punkt (x y))
Oder, um noch die Typdeklaration mit unter zu bringen:
Code:
(struct Punkt ([x : Integer] [y : Integer]))

rob- schrieb:
nur das hat halt typische Microsoft Grenzen und ist raus bevor es überhaupt eine Chance bekommt.
Was auch immer Du meinst, aber Mono gibts ja nun schon eine ganze Weile und inzwischen gibt Microsoft ja auch die .NET-Plattform nach und nach frei: https://github.com/Microsoft/dotnet

Gruß
Andy
 
Zuletzt bearbeitet:
Zurück
Oben