Frage

Java und .NET sind zwei Zielsprachen auf Plattformabhängigkeit zu entfernen. Dies wird durch das Hinzufügen einer virtuellen Maschine / Rahmen zwischen dem Code und dem OS erreicht.

Also, was ist der Punkt, es auf der Serverseite in Verwendung, da alle Websites über den Browser zugänglich sind, und das ist plattformunabhängig? Gibt es einen speziellen Grund, sie für die Verwendung von?

War es hilfreich?

Lösung

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

Diese Sprachen haben eine starke Präsenz auf dem Server Ende aus vielen Gründen:

  1. Viele Bibliotheken, die die Teilaufgaben des Problems
  2. Griff
  3. Beide Frameworks werden mit Sicherheit im Verstand
  4. Sie werden Sprachen verwaltet werden, ist es viel schwieriger, die typischen Angriffe auf Software abziehen.
  5. Sie gelten als ausgereifte Technologien sein, sie wurden, um die Probe gestellt ziemlich viel Missbrauch und gestanden haben.
  6. Sie haben die Unterstützung der Industrie.
  7. Beide sind objektorientiert
    1. Das bedeutet, dass die Fähigkeit, eine Website durch die Verwendung von wieder verwendbaren Komponenten oder Komponenten von Drittanbietern, um entweder zu entwickeln.
  8. erlaubt Beide Sprache "Sandbox" von nicht verwalteten Komponenten (Java: JNI .NET: Boxen)
  9. [Aufnahme von Legacy-Komponenten ermöglicht]

Andere Tipps

Sie sind eigentlich für fast völlig entgegengesetzten Gründen gewählt:

  • Java-Plattform independance bedeutet, dass Sie nicht auf eine Plattform gebunden und sind somit flexibler in der kosteneffektive Plattform wählen oder die zuverlässigste. Und Sie können Ihre Anwendungen weiterlaufen, auch wenn Sie Server-Plattformen müssen sich ändern, weil die alte nicht mehr unterstützt wird.
  • .NET ist, weil gewählt, wenn Sie sich auf ein O binden werden, Microsoft der größte Spieler ist und damit die am wenigsten riskante Option - oder einfach, weil die Unternehmen fielen in den „All-Microsoft-Shop“ Falle durch Gateway Drogen wie Austausch. Und wenn Sie dort sind, dann ist .NET, was Microsoft möchte, dass Sie und Träger verwendet werden und integriert sich in alle aktuellen Tools.

Sowohl Java und .NET haben ihre eigenen Vorteile für die Server-Seite.

Zum Beispiel mit .NET Sie sind frei, die beste Sprache für den Teil der Anwendung holen Sie gerade arbeiten, und alle diese .NET-Sprachen arbeiten zusammen.

Also, Sie möchten F # für die Data-Mining-Funktionen nutzen, C # mit der Datenbank, nicht verwaltete C ++ (gehen durch eine dünne Managed C ++ Schicht) für eine schnelle Netzwerkverbindungen oder Systemaufrufe zu arbeiten, und es gibt eine Vielzahl von andere Sprachen. .NET ist weniger plattformunabhängig zur Zeit, aber sprachunabhängig.

Java kann auf mehreren verschiedenen OSes verwendet werden, was vorteilhaft ist, wenn Sie eine Lösung verkaufen, da Sie interessiert nicht, was Betriebssystem des Kunden verwendet wird.

Jetzt wird immer die JVM weniger sprachabhängig, mit Clojure und Scala läuft davon ab, so Java jetzt noch interessanter geworden ist, für die Gestaltung von Anwendungen.

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

Und sie sind entworfen, Allzweck-Anwendungsentwicklungssysteme zu sein, so dass sie dazu bestimmt sind mit einem Prozessor auf etwas ausgeführt werden.

Wenn Sie fragen, weil Sie nicht verstehen, warum man den Aufwand für eine Abstraktionsschicht akzeptieren würde, bedenken Sie, dass Java und .NET JIT bis zu nativen Code.

  

Also, was ist der Punkt, es auf der Serverseite in Verwendung, da alle Websites über den Browser zugänglich sind, und das ist plattformunabhängig?

Nun, Web-Anwendungen sind nicht nur HTML-Rendering für Spaß, sie sind Dinge zu tun, auf der Server-Seite, die Datenbank sprechen beinhalten kann (s), Nachrichten an einen MOM Senden usw.

  

Gibt es einen speziellen Grund, sie für die Verwendung von?

Dies ist eine unvollständige Antwort, aber ich wollte zumindest den Fall Java hier zu decken. Ich könnte beginnen mit dem Argument, dass Java ist eine sichere, robuste, Garbage Collection, objektorientierte, High-Performance, Multi-Threaded, interpretiert, architekturneutrale, plattformübergreifende, Buzzword-kompatible Programmiersprache ... aber dieses wouldn ‚t wirklich Ihre Frage beantworten. Eigentlich ist die große Sache mit Java auf der Serverseite IMO, dass Sie von standardisiertem Enterprise-APIs profitieren (aka J2EE) mit denen Sie tun „Unternehmen Dinge“ (JDBC, JTA, JMS, usw.) in üblichen Weise mit Hardware, Betrieb System- und Softwareherstellerunabhängigkeit hersteller~~POS=TRUNC (das ist ein großes Plus für Vertragsverhandlungen ist). Mit anderen Worten, ist Java ideal für heterogene Umgebungen, die fast immer der Fall mit großen Organisationen sind und sperren Sie nicht in.

Während Plattformunabhängigkeit sind groß zu streben ich Java sagen würde und .net wird häufig verwendet, da es eine große Anzahl Frameworks zur Verfügung, die es so viel einfacher zu entwickeln Unternehmensebene machen Anwendungen. Dies gilt vor allem mit Java, in dem Sie eine haben unglaubliche Auswahl an qualitativ hochwertigen Technologien von denen die meisten flexibel genug, um die Bedürfnisse der meisten Projekte gerecht zu werden, so dass Sie den Schwerpunkt auf die Funktionalität Ihrer Anwendung.

Auch ohne keine Absicht, eine Flamme Krieg, Java zu starten und .NET hat eine bessere Entwicklung Werkzeugunterstützung und sind leichter / schneller zu entwickeln mit für die durchschnittlichen Programmierer.

Anfang Web-Tagen war es meist Perl und gelegentliche tapferen Seelen, die nicht Perl mochte oder mehr Leistung verwendet C ++ wollte. Dann entwickelte Sun JDBC und Servlets für Java, und dann andere J2EE-Stücke und Java wurde eine höhere Leistung Alternative zu Perl und einfacher als C ++. Mit J2EE kam eine Menge Anwendungsserver Produkte von großen Unternehmen, und jetzt haben Sie eine große Java-Web / app-Server-Community.

Dann kam Microsoft zusammen, nach dem J ++ / Java Krieg mit Sun zu verlieren, und erstellt eine ähnliche Web-App-Infrastruktur mit .NET. Mit .NET haben Sie weniger Auswahl, mit allen Vor- und Nachteilen, die sich bringt.

Also, ich denke, die Antwort ist eine Mischung aus ordentlicher Leistung ist, die Sicherheit und Enterprise-Features und großer Unternehmen Unterstützung. C ++ ist zu hart und gefährlich für die meisten Menschen. Perl, PHP, Python und Ruby haben ihre Fans, aber nicht die Unternehmens Unterstützung. Ich glaube nicht, dass Java / .NET ist auf virtuelle Maschinen für die Server-Seite wichtig ist. Java verwendet, um eine VM ursprünglich für die Kunden. Sun musste hart arbeiten, eine schnelle trennen VM zu machen. Ich denke, dass Microsoft eine VM verwendet, um mit Sun zu konkurrieren, und zu erleichtern, mehr Sprachen zu unterstützen. Es wird interessant sein zu sehen, ob Googles Go Sprache auszieht, die Java und C # für die Sicherheit und Leistung, aber keine VM kann übertreffen.

Der Browser hat keinen Zugriff auf die Serverressourcen (Datenbank, Dateien etc.), dass diese Rahmenbedingungen haben Zugang zu. Sie könnten nicht eine Anwendung, die nur Javascript ist (und tut es sinnvolle Dinge)

Ich verstehe Ihre Frage so:? Warum wählen Java oder .NET, wenn es mehr andere komfortable Möglichkeiten, um ein Setup-Server sind, weil die Clients HTTP auf den Server zuzugreifen

Sie haben Recht, dass das Server-Betriebssystem oder Rahmen keine Rolle spielt im Allgemeinen nicht an den Client.

Jedoch kann die Client-Seite enthält auch Applets oder Code, der dann mit seinem Gegenstück auf dem Server kommunizieren muss. Dann JSP oder .NET wird interessanter, da Sie nicht verschiedene Client-OS verwalten müssen. Dann wurde Website leicht erweiterbar.

Wenn Sie ein paar schöne Grafik und Charting-Lösungen integrieren möchten (Telerik, Dundas, ... oder was auch immer - keine Werbung sein soll -) von 3. Parteien würden Sie auch einen kompatiblen Server-Infrastruktur wählen haben, um sie auszuführen <. / p>

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top