Java für Softwareentwickler [geschlossen]

7

Ich bin ein .NET Entwickler (und bin schon eine Weile). Ich arbeite für eine Organisation, die gerade erst von einem größeren Unternehmen übernommen wurde, dessen Hauptentwicklungssprache Java ist. Es gibt ein paar .NET-Entwickler, aber das Verhältnis von .NET zu Java hat sich jetzt wesentlich verringert, seit die Teams zusammengeführt haben.

Davon abgesehen habe ich beschlossen, dass es am besten wäre, wenn ich mit der Java-Entwicklung anfange. Die meisten Bücher, die ich bisher zum "Java-Lernen" gesehen habe, haben jedoch einen sehr grundlegenden Ansatz (was ist eine Klasse, OOP-Prinzipien, etc.). Ich bin mit diesem Teil der Entwicklung vertraut und brauche keinen Primer (es sei denn, es gibt Unterschiede, die so fundamental sind, dass jemand die Grundlagen aus einer Java-Perspektive empfiehlt ...).

Wie auch immer, ich bin auf der Suche nach einer Buchempfehlung für Java-Entwicklung aus der Sicht eines Softwareentwicklers, die die heutigen Techniken diskutiert. Zum Beispiel, MVC-Architektur, Anwendung Best Practices (Ich bin ein Web-Entwickler, dies umfasst Web-Services), ist es sinnvoll, mit JSPs zu arbeiten oder Ruby statt, etc usw. zu berücksichtigen.

Ein großer Bonus wäre "Lernen durch Tun". So etwas wie Murachs, wo ich von Anfang bis Ende durch ein Projekt gehen kann und leicht genug auf Grundlagen bin, dass mir nicht langweilig wird. Ich hoffe, dass ich mit genügend Grundwissen davonkommen kann, um für einige interne Projekte zu arbeiten und von dort zu wachsen.

Es tut mir leid, wenn meine Frage unnötig breit ist, aber ich habe Mühe, neben meiner Eclipse-Installation einen Ausgangspunkt zu finden (ich mache das unter Ubuntu, indem ich bewusst Windows vermeide).

Danke für jede Richtung oder Einsicht, die Sie anbieten können.

EDIT - Nachdem ich mit einem Kollegen gesprochen und Berts großartigen Vorschlag gelesen habe (alle waren ausgezeichnet, vielen Dank), stellt sich heraus, dass der Schwerpunkt auf EE und Glassfish liegt. Sie verwenden NetBeans für die Entwicklung, da es fest an Glassfish gebunden ist.

Das bedeutet mir nicht viel, außer dass ich glaube, dass die Parallele IIS / Web Apps zu Win32 Apps ist. Aber vielleicht hilft es dabei, einige der offeneren Fragen in meinem OP zu klären.

    
E. Rodriguez 22.12.2010, 13:39
quelle

9 Antworten

21

Effektives Java von Josh Bloch

Es mag nicht "Learning by Doing" sein, aber es geht in die Details, wie man die Java-Sprache effektiv einsetzt.

Ich würde es dann mit Java Puzzlers von Josh Bloch und Neal Gafter

ergänzen     
Jeremy 22.12.2010, 13:41
quelle
3

Meine beste Wette ist es, Spring basierend auf Ihren Anforderungen zu lernen:

  

MVC-Architektur, Anwendung am besten   Praktiken (Ich bin ein Webentwickler, dies   umfasst Web-Services), ist es   es lohnt sich, mit JSPs zu arbeiten oder   Betrachten Sie stattdessen Ruby, etc etc.

Sie können SpringSource auf Ссылка

besuchen     
chris 22.12.2010 13:44
quelle
2

Ich möchte einige Punkte an Sie richten:

  • Die grundlegende Java Sprache ist eher klein und C-ish. Nach meinem Verständnis funktionieren C # und Java hier fast identisch.
  • Die Java Laufzeitbibliothek ist sehr, sehr groß und eher anders als C #. Sehr wenige Leute kennen all der Java 6-Laufzeitbibliothek gut.
  • Es gibt mehrere IDEs, die allgemein für Java verwendet werden. Du wirst das lernen wollen, das der Rest des Teams benutzt.

Ich würde vorschlagen, einen schnellen Gang durch das Oracle Java Tutorial zu machen, nur um den Geist aufzuspüren und einige der Übungen zu machen, und dann die üblichen "Java for C # Programmierer" Spickzettel im Internet anzuschauen. Dann machen Sie viel Code und lesen Sie Effektives Java.

(Für diejenigen, die denken, dass sie Java 6 Runtime gut kennen, denken Sie bitte daran, wenn Sie mit RMI, der Rhino Javascript-Engine und XPath in der XSLT-Implementierung und allem anderen vertraut sind)

    
quelle
1

Bitte sehen Sie sich den folgenden Thread an:

Ссылка

    
Alexandr 22.12.2010 13:43
quelle
1

Ruby macht keinen Sinn, wenn Sie JRuby nicht auf der JVM schreiben.

Wenn Sie Web-Apps schreiben, müssen Sie JSPs kennen, die mit JSTL (JSP-Standard-Tag-Bibliothek), Servlets, HTML, CSS und JavaScript geschrieben wurden. Laden Sie Tomcat von Apache - es ist ein Servlet / JSP-Engine, die Sie Web-Anwendungen vor Ort zum Lernen einsetzen lassen. Es ist ein HTTP-Listener eingebaut, so dass Sie weder IIS noch Apache benötigen.

Sie müssen wissen, wie Sie eine WAR-Datei (Web Archive) erstellen und bereitstellen. Das ist eine ZIP-Datei, die das Standardformat für eine Webanwendung enthält.

Ich würde einen Blick auf der Tomcat „erster Web-App“ docs ein Gefühl dafür zu bekommen.

Sobald Sie das haben, kommen Sie zurück und sprechen über Frameworks. (Wenn Sie das tun, empfehle ich Spring.)

    
duffymo 22.12.2010 13:42
quelle
1

Hier sind einige Referenzen, die ich mag. Ich bin mir sicher, dass es bessere gibt, aber es gibt diejenigen, die ich gelesen habe und für die ich bürgen kann:

Java in a Nutshell ist eine klassische Zusammenfassung der Kernsprache. Wenn Sie mehr benötigen, gibt es Bücher wie Java für Programmierer für Programmierer Java Übergang (Ich habe nicht lies es).

Suns Core Servlets und JavaServer Pages war ein gutes Buch für Java-Servlets und JSPs . Aber bedenken Sie, dass eine Menge Web-Technologie darüber hinaus aufgebaut ist (z. B. Spring), so dass dies Ihnen zwar Grundlage, aber nicht direktes Wissen über den spezifischen Rahmen geben kann, den Sie verwenden werden. Auch viele Web-Technologien sind heutzutage clientseitig / JavaScript / AJAX-basiert, z. jQuery.

Bei MVC sollten Sie sich stattdessen auf MVP konzentrieren. Ich habe mit dem Google Web Toolkit herumgespielt, um meinen Java-Hintergrund für die Erstellung von Client-Seiten zu nutzen Apps, aber es ist auch eine gute Möglichkeit, eine Idee von MVP zu bekommen - lesen Groß angelegte Anwendungsentwicklung und MVP Teil I und Teil II und die GWT MVP Entwicklung mit Aktivitäten und Orte GWT entwickelt sich jedoch weiter.

Mein letzter Vorschlag ist, dass Sie Ihren Fokus verengen - versuchen, herauszufinden, was Frameworks bei der Arbeit beliebt ist und entscheiden, ob Sie auf einer Ebene konzentrieren wollen: Front (zB HTML / CSS / jQuery), Mitte (zB Frühling), oder Back-End (zB Hibernate). Wenn du das herausgefunden hast, poste eine spezifischere Frage (z. B. was sind die besten Ressourcen zum Lernen von XYZ).

    
Bert F 22.12.2010 14:01
quelle
0

Nur von meinen Erfahrungen mit Java (begrenzt, aber ich nahm einen Web Dev Kurs JSP) Jegliche anständige Technologie ist in der Regel 3rd Party. Von dem, was ich bei der Entwicklung von Web Devs sagen kann, verwende ich Netbeans, Netbeans hat Tomcat speziell in Ubuntu eingebaut, um das Debuggen zu erleichtern.

    
dko 22.12.2010 13:44
quelle
0

Mehr zu ähnlichen Zeilen finden Sie Antworten von diesem Beitrag

Ссылка

    
Dead Programmer 22.12.2010 14:09
quelle
0

Die Java-Landschaft ist ziemlich weit, wie Sie wahrscheinlich schon herausgefunden haben.

Es gibt Hunderte von Frameworks und Tools, die für das gleiche Prinzip verwendet werden können. Um eine Idee zu bekommen, können Sie einen Blick auf diese Präsentation von Matt Raible werfen, wo er vergleicht eine Reihe von Java-Web-Frameworks.

Wie jemand anderes vorgeschlagen hat, sollten Sie sich unbedingt das Spring Framework ansehen. Es ist in der Unternehmenswelt weit verbreitet. Es gibt einige gute Bücher über Frühling. Wenn Sie die Grundlagen von Spring MVC in einem "Tutorial" -Stil erhalten möchten, können Sie sich dieses Buch . Es deckt nicht die neueste Spring-Version (3.0) ab und es ist kein "perfektes" Buch, aber es sollte dir erlauben, die Grundlagen zu bekommen, während du einige Beispiele ausführst. Außerdem gibt es buchstäblich Tausende von Spring-MVC Tutorials im Internet. Zum Beispiel können Sie sich ansehen: Ссылка

RESTful Services sind heutzutage ebenfalls sehr beliebt. Ich habe mit dem Resteasy -Rahmen von JBoss gearbeitet und fand es sehr einfach einzurichten und zu arbeiten. Dieses Buch erläutert die REST-Architektur und verwendet Resteasy als Framework für die Beispiele.

Ich empfahl auch " Head First Design Patterns " von O'Reilly. Es behandelt die wichtigsten Muster mit Java und hilft Ihnen zu sehen, wie die Sprache für Muster verwendet werden kann, mit denen Sie bereits vertraut sind.

Noch ein Vorschlag: Sie können sich auf Java TV einstellen. Es ist eine großartige Ressource mit Hunderten von Java-Tutorial-Videos. Es deckt ein breites Spektrum von Technologien ab, so dass Sie in der Lage sein sollten, etwas für Sie zu finden.

    
Luciano Fiandesio 22.12.2010 14:46
quelle

Tags und Links