it-swarm.dev

Wann ist Java eine gute Wahl für die Webentwicklung?

Wann ist Java eine gute Wahl für die Webentwicklung?

Bitte sagen Sie nicht "Wenn Sie ein Entwicklungsteam haben, das nur Java kennt."

35
Gulshan

Angesichts der vielen verfügbaren Frameworks, der Reife der Plattform usw. bin ich versucht, "fast immer" zu sagen. Hier sind einige Gründe, warum Sie Java nicht verwenden sollten:

  • als reiner MS-Shop bevorzugen Sie wahrscheinlich die .net-Methode
  • wenn Sie den günstigsten Webhoster benötigen, haben Sie wahrscheinlich nur PHP als Ihre Wahl
  • wenn Sie es so schnell wie möglich machen möchten, sind Ruby on Rails, Grails oder Django wahrscheinlich besser für Ihre Bedürfnisse geeignet)
  • wenn Ihr Entwicklungsteam nur XYZ kennt, wobei XYZ! = Java, verwenden Sie besser XYZ
35
user281377

Java is wird in kleinen und mittleren Websites verwendet. Der entscheidende Punkt ist, dass es für Java Websites) viel weniger kostenloses Webhosting gibt als beispielsweise für PHP. Wenn Sie also nicht über genügend Ressourcen verfügen, um Ihren eigenen Webserver zu hosten, werden Sie sich wahrscheinlich nicht für Java entscheiden.

Beachten Sie, dass mit Java EE 6, insbesondere dem Webprofil, viele Standardtechnologien enthalten sind, mit denen sehr leistungsfähige Webanwendungen erstellt werden können, ohne dass viel Code erforderlich ist. Leider ist dies noch kein Mainstream.

Beachten Sie, dass sich dies in letzter Zeit mit der Google Application Engine etwas geändert hat, mit der Sie Standard Java Webanwendungen (mit einigen Einschränkungen)) in der Cloud kostenlos für Websites mit geringem bis mittlerem Datenverkehr bereitstellen können.

19
user1249

Wenn Ihre Plattform UNIX/Linux ist und Sie umfangreiche Tools benötigen, z. B. Objekt-/relationale Zuordnung, Sicherheit, komplexe Orchestrierung von Webdiensten usw.
(Wir sprechen nicht über einfache Websites, oder?)

12
Sorantis

Jedes Mal, wenn mich ein anderes Java -Team verärgert, blase ich Steam aus, indem ich Fragen wie diese nachschlage. Lassen Sie mich wiederholen. Ich bin ein clientseitiger Entwickler und seit fast 5 Jahren. Ich habe an Websites gearbeitet, die von einmaligen Microsites mit größtenteils Inhalten über Websites wie Sears bis hin zu anspruchsvolleren Websites vom Typ App reichen, bei denen wirklich fundierte Kenntnisse der Benutzeroberfläche erforderlich sind. Ich habe mich mit Rails, PHP, .net-Webformularen (ew), .net MVC (viel besser) und einer Straußanordnung von Java -Lösungen für die Webentwicklung befasst, die von Entwicklern und Teams begleitet wurden, die alle vollständige Katastrophen waren damit umgehen. Ich schreibe auch ein bisschen Python und beginne Django zu graben.

Meine Erfahrung mit Java Teams war allgemein schrecklich. Die Werkzeuge sind immer eine PITA. Die Entwickler wollen nie glauben, dass sie etwas falsch gemacht haben, und sie dazu zu bringen, ihren eigenen Rasen erneut zu untersuchen, wenn Sie ein Problem an Ihrem Ende ausgeschlossen haben, ist wie Zähne ziehen. Das erste Opfer des Umgangs mit Java Teams ist meiner Erfahrung nach die Entwicklungszeit, die in E-Mail-Zeit umgewandelt wurde und mehrere ausführliche Erklärungen darüber enthält, warum das Problem definitiv zu Ende ist. HTML ist im Allgemeinen nicht ihr Problem, es sei denn, Sie möchten tatsächlich eine gewisse Kontrolle darüber haben. Dann wird wahrscheinlich alles am Ende zur Hölle gehen, weil Sie tatsächlich einige Divs der oberen Ebene bewegen möchten.

Es gibt Dinge an der Sprache, die ich nicht mag, aber ich denke, das eigentliche Problem ist die Kultur und die Tatsache, dass Akzeptanz so weit verbreitet ist, dass Sie eine Menge Mittelmäßigkeit in der Mitte haben. Die Kultur, die ich vermute, entspringt der Art und Weise, wie Java vermarktet wird. Einmal schreiben, überall bereitstellen. Übersetzung: "Sie müssen nur eines lernen!" Leute, die das ansprechend finden, wollen Java wie einen riesigen Hammer für jeden Nagel mit einem Minimum an tatsächlichem Honen ihres Handwerks in Bezug auf die Webentwicklung einsetzen.

Wenn Sie also Entwickler haben, die Java und andere Sprachen kennen, aber dennoch Java bevorzugen, würde ich sagen, ja, machen Sie weiter, wenn es die richtige Lösung zu sein scheint. Aber wenn Sie Java Entwickler haben, die Java kennen und alles andere kaum die Kriterien erfüllt, um es tatsächlich zu einem Stichpunkt in ihrem Lebenslauf zu machen, lassen Sie sie eine einfache App mit einer Vielzahl erstellen von halbkomplexen Seiten am HTML-Ende und versuchen Sie diesen einfachen Test. Brechen Sie etwas HTML. Versuchen Sie, sie dazu zu bringen, herauszufinden, was los ist. Wenn das unmittelbare Problem, das sie zu lösen beginnen, darin besteht, die Schuld von sich selbst abzulenken, halten Sie sie! @ # $ Von der Webentwicklung fern. Web Dev ist multidisziplinär und erfordert aktives Interesse auf dem Gebiet, um erfolgreich zu sein. Es ist kein Ort für Menschen, die nur eine Sprache beherrschen wollen und mehr von Problemen entsetzt sind als daran interessiert sind, sie zu lösen.

Ich behaupte nicht, dass Java selbst die Wurzel der Inkompetenz ist und ich habe gehört, dass der Frühling gut ist. Ich bin sicher, es gibt kompetente Java Teams da draußen. Ich bin nur noch keinem begegnet und ich denke nicht, dass es ein Zufall ist. Ich denke, Sun hat viel damit zu tun. Ich denke auch, dass das Führen von Webteams wie oder unter IT-Abteilungen viel damit zu tun hat.

9
Erik Reppen

Java ist vollkommen in Ordnung für kleine Websites. Sie können JSP-Seiten sehr schnell mit einem Java Webserver wie Tomcat zum Laufen bringen.

Obwohl nach meiner Erfahrung Java bei großen Websites häufiger vorkommt, bei denen ein größerer Bedarf an komplexer serverseitiger Verarbeitung besteht, werden in diesem Fall komplexere Java Frameworks verwendet, wie z JavaServer Faces (JSF).

Es ist wichtig zu beachten, dass eine vollständige Java -Installation in der Vergangenheit in vielen billigen Webhosting-Setups nicht verfügbar war, sodass möglicherweise die Verbreitung anderer Sprachen wie PHP in diesen Umgebungen erklärt wird.

5
mikera

Die Hauptgründe für die Verwendung von Java in der Webentwicklung sind folgende:

  • Der Kunde verlangt es. Ob gut oder schlecht, einige Kunden haben "Technologielisten akzeptiert", und wenn Sie etwas vorschlagen, das nicht auf dieser Liste steht, sollten Sie eine wirklich gute Erklärung dafür haben, warum - und warum etwas auf der Liste nicht verwendet werden kann.
  • Entwickeln Sie unter Windows und stellen Sie es unter Unix bereit. Die meisten Entwicklungsmaschinen sind Windows, einige sind Mac und nur sehr wenige sind Linux - genau wie Sie es von normalen Client-Maschinen erwarten würden. Auf dem Server wird jedoch genauso wahrscheinlich eine Form von Unix angezeigt wie auf einem Windows-Server. Java ist wahrscheinlich am nächsten zu schreiben, wenn es irgendwo bereitgestellt wird (es ist nicht perfekt, aber besser als einige Alternativen).
  • Management Wahl. Seien wir ehrlich: Die Auswahl von Java gegenüber einer anderen Sprache hat mehr damit zu tun, Programmierer zu finden und Teammitglieder zu ersetzen, die das Projekt verlassen, als nur auf den Vorzügen der Sprache zu beruhen.
2
Berin Loritsch

Technisch gesehen:

  • Wenn Sie eine Architektur definieren können, die für den Hot-Spot-Optimierer zugänglich ist.
  • Wenn Sie die Notwendigkeit für den massiven OO Overhead Java auferlegt) antizipieren.

Wenn ich eine Webanwendung starten würde, würde ich Ruby on Rails) verwenden und so gestalten, dass die Hotspots ausgetauscht werden können, wenn RoR seine Leistung erreicht Skalierungsgrenze.

Java hat einen bestimmten Geruch von COBOL und "Low-End-Codierer verwenden Java" hängen daran, und die Oracle-Fiaskos tragen nicht zum Ruf bei. Wenn Sie die Auswahl haben, wählen Sie eine Sprache, die Top-Entwickler anzieht.

2
Paul Nathan

Es ist ganz einfach: Verwenden Sie Java, wenn die Back-End-Leistung ein Hauptanliegen ist. Es gibt mehr Overhead beim Codieren, aber der Code wird buchstäblich in 1/200 bis 1/500 der Zeit ausgeführt. Php, Ruby und andere dynamisch typisierte Sprachen sind immer viel langsamer als Java oder .net-Server).

Die meisten Lösungen für das Web benötigen dies nicht. Twitter hat Rails) nicht aufgegeben, bis sie zum Beispiel an Popularität gewonnen haben.

0
Rian Fowler