Trends in Java Projekten

Arbeitet man in der Entwicklung von Softwareprojekten ist es immer interessant zu wissen welche Trends aktuell zu sehen sind und welche Richtung eingeschlagen wird. Genau damit hat sich die Firma expeso beschäftigt und ein Java Trendbarometer vorgestellt.

In dem 30 Seiten langen Text kann man die unterschiedlichsten Trends und Analysen begutachten wovon ich ein paar interessante Punkte herausgezogen und kommentiert habe.

Verwendung der Java-Technologien

Als Java 5 auf den Markt kam haben sich viele Firmen sehr schwer getan ihre Entwicklung auf die neue Version hochzuheben. Oft hat das mit der schwierigen Migration der bestehenden Software zu tun. So ist Java 1.4 immer noch ordentlich in Projekten vertreten:

Java Trends - Java Versionen

Java Enterprise Standards: J2EE oder JEE 5?

Durch JEE 5 ist Bewegung in die Java Enterprise Welt gekommen und immer mehr Projekte werden damit umgesetzt. Interessant ist aber auch, dass bei den Befragten immer noch viele Projekte mit J2EE entwickelt werden. Wie die aktuelle Verwendung der Java Enterprise Standards aussieht kann man im folgenden Chart sehen:

Java Trends - Java Enterprise Standards

In dem PDF Dokument wird noch auf die Fragen nach der Verwendung von Scriptsprachen und Verwendung von Nicht-Java-Technologien. Beide Fragen wurden fast immer mit mindestens 60 Prozent mit “Nie” beantwortet. Bei den Scriptsprachen hat Groovy die Nase vorn. Bei den Nicht-Java-Technologien ist PHP und “andere” vorn.

Entwicklungsumgebungen

Selber habe ich lange Zeit im VI entwickelt und bin dann irgendwann auf Eclipse umgestiegen. Eclipse ist dann doch an ein paar Stellen komfortabler ;). Ich habe erwartet, dass Eclipse vorne liegen würde allerdings hatte ich nicht erwartet, dass es so deutlich ausfällt. Vor allem bei Netbeans hätte ich gedacht, dass es viel häufiger eingesetzt wird.

Java Trends - Entwicklungsumgebung

Noch ein kleines Wort zur Versioniereung. Vor einigen Jahren war CVS noch das Versionierungstool der Wahl. Mittlerweile hat SVN den Platz an der Spitze übernommen.

Technologien für Desktop Anwendungen

Die erste Frage war mit welchen Technologien Desktop Anwendungen entwickelt werden. Hier hat Swing immer noch die Nase deutlich vorn (70%). Gefolgt wird es von Eclipse SWT und Eclipse RCP, die beide zwischen 30 und 40% liegen.

Web-basierte Anwendungen / Web Technologien

Das für mich interessanteste Chart ist die Frage nach den eingesetzten Web Technologien. In diesem Chart sind viele gängige Namen vertreten, wobei ich der Meinung bin, dass man sie nicht ganz so mit dieser Überschrift vergleichen kann. Z.b. schließt sich oft Spring und JSF bzw. früher oft Spring und Struts nicht aus. Oder ist mit Spring wirklich nur Spring Web Flow gemeint, was ich mir nicht vorstellen kann. Ansonsten ist die Verteilung der einzelnen Technologien doch einigermaßen erklärbar. Struts und Eigenentwicklungen werden vermehrt teilweise eingesetzt weil vor allem bei älteren aber noch aktiven Anwendungen diese Technologien verwendet werden. Eine Migration würde sich nicht lohnen.
Spring hat seinen Boom in den letzten Jahren erlebt, nachdem J2EE mehr oder weniger gescheitert ist und ist somit aktuell noch sehr vertreten. JSF befindet sich immer mehr im Kommen, meiner Meinung nach. Vor allem mit JBoss Seam und EJB 3 oder Spring als Middleware ist das eine sehr gelungene Kombination.
Das Ajax zu 80% in Webprojekten verwendet wird ist auch ein Zeichen dafür, dass Ajax mittlerweile zur normalen Entwicklung dazugehört.

Java Trends - Web-Technologien

Rich Internet Applications

Das Rich Internet Applications immer mehr bisher gekannte Webanwendungen ablösen werden zeigt uns Google deutlich. Aber welche Technologien setzen Firmen dafür ein? Nach wie vor ist Html und JavaScript doch noch das Mittel der Wahl.

Java Trends - RIA Entwicklung

Die letzte Frage war die Frage in welchem Container, ob Servlet Container oder Application Server, die Anwendung deployt wird. Der Servlet Container erreicht eine Verwendung von 100%, 70% davon häufig. Beim Application Server sieht es dagegen etwas geringer aus. Insgesamt ca 85% verwenden einen und knapp 40% häufig.

Das Trendbarometer beschäftigt sich noch ausführlich mit den Themen Open Source, Software Entwicklungsprozess wie z.B. die Vorgehensweise (es gewinnt natürlich agil) oder Anforderungsanalyse, Innovation und Weiterbildung.

Insgesamt ist es interessant so einen “Trendbarometer” mal durchzugehen und die einzelnen Positionen mit den eignen zu vergleichen. Wer diesen Trendbarometer als PDF in ausführlicher Variante lesen möchte kann ihn kostenlos auf expeso.de anfordern.

Tags:

Wenn du Fragen oder Anregungen zum Post hast, dann hinterlasse doch einen Kommentar oder wenn du weiterhin Artikel von Javathreads lesen möchtest, dann abonniere den RSS Feed und sehe direkt in deinem Feed Reader die nächsten Artikel.

Ähnliche Artikel, die dich interessieren könnten:
Kommentare

Woran könntes es liegen, dass Jboss Seam so selten eingesetzt wird?
Ich denke sowohl die Dokumentation, als auch die im Handel befindliche Lektüre ist nicht wirklich hilfreich für den Einstieg!

Ich glaube eher, dass Seam noch zu unbekannt ist bzw. es sich dieses Jahr erst vermehrt verbreiten wird. Seam hat erst Mitte/Ende des letzten Jahres richtig Fahrt aufgenommen und mehr an Bekanntheit erlangt. Zuvor musste erst einmal EJB 3 und JSF als Framework der Wahl für Projekte angenommen werden und auch das hat gedauert. Man hat ja vielmehr auf Servlet Container mit Struts gesetzt, dann kam Spring und erst so langsam etabliert sich wieder JEE auf Basis von EJB 3. Wenn das angekommen ist wird auch die Verbreitung von Seam wachsen, zumindest bis JSF 2.0 auf dem Markt ist.

Noch ein kurzes Wort zur Dokumentation. Ich finde eher, dass die Referenzdokumentation von Seam eine der besten ist die ich überhaupt je gesehen habe. Neben dieser Dokumentation werden noch Tutorials mit Erläuterungen und Source Code ausgeliefert die sich ohne weiteres deployen lassen.
Ich glaube, das Problem liegt mehr an der immer noch sehr hohen Komplexität von JEE. Es ist zwar deutlich einfacher in der Entwicklung aber man muss immer noch die Zusammenhänge verstehen. Und da gibt es viele Einzelbereiche die für sich allein schon komplex genug sind: JPA, EJB, JSF (Facelets) und dann kommt noch Seam dazu ;). Hat man erst einmal die Probleme bei der Entwicklung von JSF und EJB gesehen ist Seam eine wahre Erleichterung.
Wie auch immer, ich habe selten eine so gute Dokumentation direkt vom Hersteller eines Frameworks gesehen wie sie bei Seam vorliegt.

Ehrlich? Also die Dokumentation ist definitiv sehr umfangreich, aber die Struktur hat mir nicht wirklich gefallen. Für die ersten Berührungen mit seam würde ich persönlich erst andere externe Dokumentationen vorziehen! Aber das ist ja alles Geschmackssacke und hängt vom Lerntyp ab :-)

Ja, hängt sicherlich vom Lerntyp ab. Ich persönlich fand die deploybaren Beispiele mit Erläuterungen sehr gut.
Ansonsten kann ich noch das Buch “Seam in Action” von Dan Allen (Amazon Link) sehr empfehlen. Das fand ich auch sehr umfangreich und ausführlich.

Ich glaube ich bau den Link auch direkt mal in die Seitenleiste anstelle dem dort verlinkten JBoss Seam Buch ein.

Ich fand die Dokumentation von Seam am Anfang auch nicht soo übersichtlich, besonders wenn man sein Projekt(.ear) mit den JBossTools erstellt hat…. Da half mir eigentlich nur das Suchen im jboss-Forum. Die Integrationstests sind meiner Meinung nach auch recht knapp abgehandelt, wenn man z. b. zum Testen eine zweite PersistenceUnit benutzen möchte. Aber das ist nur mein persönlicher Eindruck und ich habe auch keine Erfahrungen mit der Dokumentation ähnlicher komplexer Frameworks.

Die beiden von dir genannten Punkte sehe ich auch so. Es gab kaum Dokumentation zu den JBoss Tools und daher habe ich genau das auch in diesem Blog beschrieben.

Und leider sind auch die Tests bzw. wie man sie konfiguriert und anwendet knapp beschrieben, dass stimmt. Aber verwendet man Seam-Gen oder die JBoss Tools erhält man zumindest das Grundgerüst für die Tests und kann damit starten. Details muss man sich dann aber in den mitgelieferten Beispielen heraussuchen oder über das Forum finden.
Evtl. sollte man hier mal eine Einführung in die JBoss Seam Integration Tests posten..

Aufgrund der Komplexität von Seam ist es wohl doch ratsam sich ein gutes Buch zu kaufen ;).

@Markus
So jetzt habe ich deinen Rat mal befolgt und mir das Buch “Seam in Action” bestellt. Mal schauen ob du Recht hast;-)

Ich bin auf dein Fazit gespannt! Hoffentlich muss ich mich dann nicht verkriechen ;)

Hinterlasse einen Kommentar