2 Stimmen

Warum .NET und Java auf der Serverseite?

Java und .NET sind zwei Sprachen, die darauf abzielen, die Plattformabhängigkeit zu beseitigen. Dies wird durch das Hinzufügen einer virtuellen Maschine/eines Rahmens zwischen dem Code und dem Betriebssystem erreicht.

Welchen Sinn hat es also, ihn auf der Serverseite zu verwenden, da alle Websites über einen Browser zugänglich sind, und das ist plattformunabhängig? Gibt es einen besonderen Grund, sie zu verwenden?

9voto

monksy Punkte 13961

.NET ist nur für die Windows-Plattform gedacht. Java ist die einzige der beiden Plattformen, die plattformunabhängig sein soll.

Diese Sprachen sind aus vielen Gründen auf der Serverseite stark vertreten:

  1. Viele Bibliotheken, die die Teilaufgaben des Problems behandeln
  2. Bei der Entwicklung beider Frameworks wurde auf Sicherheit geachtet
  3. Da es sich um verwaltete Sprachen handelt, ist es viel schwieriger, die typischen Angriffe auf Software durchzuführen.
  4. Sie gelten als ausgereifte Technologien, haben sich bewährt und wurden schon oft eingesetzt.
  5. Sie werden von der Industrie unterstützt.
  6. Beide sind objektorientiert
    1. Das bedeutet, dass man eine Website entweder mit wiederverwendbaren Komponenten oder mit Komponenten von Drittanbietern entwickeln kann.
  7. Beide Sprachen erlauben "Sandboxing" von nicht verwalteten Komponenten (Java: JNI .NET: Boxing) [erlaubt die Einbeziehung von Legacy-Komponenten]

7voto

Michael Borgwardt Punkte 334642

Sie werden eigentlich aus fast völlig entgegengesetzten Gründen gewählt:

  • Die Plattformunabhängigkeit von Java bedeutet, dass Sie nicht an eine bestimmte Plattform gebunden sind und daher flexibler die kostengünstigste oder die zuverlässigste Plattform wählen können. Und Sie können Ihre Anwendungen auch dann weiter betreiben, wenn Sie die Serverplattform wechseln müssen, weil die alte Plattform nicht mehr unterstützt wird.
  • NET wird gewählt, weil Microsoft, wenn man sich an ein Betriebssystem binden will, der größte Akteur und damit die am wenigsten riskante Option ist - oder einfach, weil Unternehmen durch Gateway-Drogen wie Exchange in die "All-Microsoft-Shop"-Falle geraten sind. Und wenn man erst einmal dabei ist, möchte Microsoft, dass man .NET verwendet, und es wird unterstützt und in alle aktuellen Tools integriert.

3voto

James Black Punkte 41034

Sowohl Java als auch .NET haben ihre eigenen Vorteile für die Serverseite.

Mit .NET können Sie zum Beispiel die beste Sprache für den Teil der Anwendung wählen, an dem Sie arbeiten, und alle .NET-Sprachen arbeiten zusammen.

So können Sie F# für die Data-Mining-Funktionen, C# für die Arbeit mit der Datenbank, unmanaged C++ (über eine dünne managed C++-Schicht) für schnelle Netzwerkverbindungen oder Systemaufrufe verwenden, und es gibt noch eine ganze Reihe anderer Sprachen. .NET ist derzeit weniger plattformunabhängig, sondern sprachunabhängig.

Java kann auf verschiedenen Betriebssystemen eingesetzt werden, was für den Verkauf einer Lösung von Vorteil ist, da es keine Rolle spielt, welches Betriebssystem der Kunde verwendet.

Jetzt wird die JVM weniger sprachabhängig, da Clojure und Scala darauf laufen, so dass Java für die Entwicklung von Anwendungen interessanter geworden ist.

2voto

Jeff Katz Punkte 66

Sie virtualisieren das zugrunde liegende System, so dass sie auf verschiedenen Arten von Server-Betriebssystemen ausgeführt werden können.

Außerdem sind sie als Allzweck-Anwendungsentwicklungssysteme konzipiert und können daher auf allen Geräten mit einem Prozessor ausgeführt werden.

Wenn Sie diese Frage stellen, weil Sie nicht verstehen, warum man den Overhead einer Abstraktionsschicht in Kauf nimmt, sollten Sie bedenken, dass sowohl Java als auch .NET JIT in nativen Code umwandeln.

2voto

Pascal Thivent Punkte 548176

Welchen Sinn hat es also, ihn auf der Serverseite zu verwenden, da alle Websites über einen Browser zugänglich sind, und das ist plattformunabhängig?

Nun, Webanwendungen rendern HTML nicht nur zum Spaß, sie sind Dinge tun auf der Serverseite, die eine Kommunikation mit der/den Datenbank(en), das Senden von Nachrichten an ein MOM usw. beinhalten kann.

Gibt es einen besonderen Grund, sie zu verwenden?

Dies ist eine Teilantwort, aber ich wollte zumindest den Fall von Java hier abdecken. Ich könnte damit beginnen, zu argumentieren, dass Java eine sichere, robuste, garbage-collected, objektorientierte, hochleistungsfähige, multi-threaded, interpretierte, architekturneutrale, plattformübergreifende, schlagwort-konforme Programmiersprache ist... aber das würde Ihre Frage nicht wirklich beantworten. Der große Vorteil von Java auf der Serverseite besteht IMO darin, dass Sie von standardisierten Unternehmens-APIs (auch bekannt als J2EE) profitieren, die es Ihnen ermöglichen, "Unternehmensaufgaben" (JDBC, JTA, JMS usw.) auf standardisierte Weise und unabhängig von Hardware-, Betriebssystem- und Softwareanbietern zu erledigen (was ein großes Plus bei Vertragsverhandlungen ist). Mit anderen Worten: Java eignet sich perfekt für heterogene Umgebungen, wie sie in großen Unternehmen fast immer anzutreffen sind, und schränkt Sie nicht ein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X