Question

Java et .NET sont deux langues ciblées pour éliminer la dépendance de la plate-forme. Ceci est réalisé par l'ajout d'une machine virtuelle / cadre entre le code et le système d'exploitation.

Alors, quel est le point de l'utiliser sur le côté serveur, comme tous les sites sont accessibles via un navigateur, et qui est la plate-forme indépendante? Y at-il une raison particulière pour les utiliser?

Était-ce utile?

La solution

.NET est destiné à la seule plate-forme Windows. Java est le seul des deux qui est censé être la plate-forme indépendante.

Ces langues ont une forte présence sur la fin du serveur pour de nombreuses raisons:

  1. Beaucoup de bibliothèques qui gèrent les sous-tâches du problème
  2. Les deux cadres sont construits avec la sécurité à l'esprit
  3. Ils sont langues gérées, il est beaucoup plus difficile de tirer les attaques typiques sur les logiciels.
  4. Ils sont considérés comme des technologies matures, ils ont été mis à un peu d'abus et ont résisté à l'épreuve.
  5. Ils ont le soutien de l'industrie.
  6. Les deux sont orientés objet
    1. Cela signifie qu'il ya la possibilité de développer soit un site Web grâce à l'utilisation de composants réutilisables ou des composants tiers.
  7. Les deux langues permettent "sandbox" des composants non gérés (Java: JNI .NET: Boxe) [permet d'inclure des composants existants]

Autres conseils

Ils sont effectivement choisis pour des raisons presque complètement opposées:

  • La plate-forme de independance Java signifie que vous n'êtes pas lié à une plate-forme et sont donc plus souples dans le choix de la plate-forme la plus rentable, ou le plus fiable. Et vous pouvez garder vos applications en cours d'exécution, même lorsque vous devez changer les plates-formes de serveur, car l'ancien est plus supporté.
  • .NET est choisi parce que si vous allez vous attacher à un système d'exploitation, Microsoft est le plus grand joueur et donc la moins option risquée - ou simplement parce que les entreprises sont tombés dans le piège « All-boutique Microsoft » par les médicaments de la passerelle comme Échange. Et une fois que vous êtes là, .NET est ce que Microsoft veut que vous utilisez et soutient et intègre avec tous leurs outils actuels.

Java et .NET ont leurs propres avantages pour le côté serveur.

Par exemple, avec .NET, vous êtes libre de choisir la meilleure langue pour la partie de l'application que vous travaillez, et toutes ces langages .NET travaillent ensemble.

Ainsi, vous pouvez utiliser F # pour les fonctions d'exploration de données, C # pour travailler avec la base de données, C non géré ++ (en passant par une fine couche géré C ++) pour les connexions réseau rapides, ou des appels système, et il y a une foule de autres langues. .NET est actuellement moins indépendant de la plate-forme, mais la langue indépendante.

Java peut être utilisé sur plusieurs systèmes d'exploitation différents, ce qui est avantageux si vous vendez une solution, puisque vous ne vous souciez pas quel OS le client utilise.

Maintenant, la machine virtuelle Java devient moins dépendant de la langue, avec Clojure et Scala écoulage, alors Java est devenu plus intéressant, pour la conception d'applications.

Ils virtualiser le système sous-jacent, de sorte qu'ils peuvent être exécutés sur différents types de systèmes d'exploitation serveur.

Et, ils sont conçus pour être des systèmes généraux de développement d'applications à usage, ils sont destinés à être exécuté sur quoi que ce soit avec un processeur.

Si vous demandez parce que vous ne comprenez pas pourquoi on accepterait la tête d'une couche d'abstraction, gardez à l'esprit que Java et .NET JIT jusqu'à code natif.

  

Alors, quel est le point de l'utiliser sur le côté serveur, comme tous les sites sont accessibles via un navigateur, et qui est la plate-forme indépendante?

Eh bien, les applications Web ne sont pas seulement rendu HTML pour le plaisir, ils sont faire les choses sur le côté serveur qui peut impliquer de parler à la base de données (s), l'envoi de messages à un MOM, etc.

  

Y at-il une raison particulière pour les utiliser?

Ceci est une réponse partielle, mais je voulais au moins pour couvrir le cas de Java ici. Je pourrais commencer en faisant valoir que Java est un coffre-fort, robuste, ramasse-miettes, orienté objet, haute performance, multi-thread, interprété, l'architecture neutre, multi-plateforme, langage de programmation conforme à mot à la mode ... mais ce wouldn « t vraiment répondre à votre question. En fait, le gros problème avec Java sur le côté serveur est l'OMI que vous bénéficiez de standards API Enterprise (alias J2EE) qui vous permettent de faire « les choses d'entreprise » (JDBC, JTA, JMS, etc.) de manière standard avec le matériel, exploitation système et logiciel indépendance des fournisseurs (ce qui est un gros plus pour la négociation des contrats). En d'autres termes, Java est parfait pour les environnements hétérogènes qui sont presque toujours le cas avec de grandes organisations et ne vous enferme pas.

Alors que l'indépendance de la plate-forme sont grands à rechercher je dirais Java et .net sont couramment utilisés comme il y a un grand nombre de cadres de disponibles pour rendre beaucoup plus facile de développer le niveau de l'entreprise applications. Cela est particulièrement vrai avec java, où vous avez un choix incroyable dont les technologies de haute qualité la plupart sont suffisamment souple pour répondre aux besoins de la plupart des projets, vous permettant de mettre l'accent sur les fonctionnalités de votre application.

En outre, sans aucune intention de déclencher une guerre de flamme, Java et .net ont un meilleur support d'outils de développement et sont plus faciles / plus rapide à développer avec pour votre programmeur moyen.

Dans les premiers jours de web, ce sont surtout les âmes braves Perl et occasionnels qui n'ont pas aimé ou Perl voulait plus de performance utilisé C ++. Ensuite, Sun a développé JDBC et Servlets Java, et d'autres pièces J2EE et Java est devenu une alternative plus performante à Perl, et plus facile que C ++. Avec J2EE est venu beaucoup de produits de serveur d'applications de grandes entreprises, et maintenant vous avez une grande communauté de serveur web / app Java.

Ensuite, Microsoft est venu, après avoir perdu la guerre J ++ / Java avec Sun et a créé une infrastructure d'applications web similaire avec .NET. Avec .NET, vous avez moins de choix, avec tous les avantages et les inconvénients qui apporte.

Alors, je pense que la réponse est un mélange de performances décentes, la sécurité et les fonctionnalités d'entreprise et grand soutien des entreprises. C ++ est trop dur et dangereux pour la plupart des gens. Perl, PHP, Python et Ruby ont leurs fans, mais pas le soutien des entreprises. Je ne pense pas que le fait que Java / .NET sont sur des machines virtuelles est important pour le côté serveur. Java utilisé une machine virtuelle à l'origine pour le client. Sun a dû travailler dur pour faire une machine virtuelle sever rapide. Je pense que Microsoft a utilisé une machine virtuelle pour rivaliser avec Sun, et pour le rendre plus facile à prendre en charge plusieurs langues. Il sera intéressant de voir si la langue Go de Google prend son envol, ce qui peut dépasser Java et C # pour la sécurité et de la puissance, mais pas VM.

le navigateur ne dispose pas d'accès aux ressources du serveur (base de données, fichiers, etc.) que ces cadres ont accès. Vous ne pourriez pas avoir une application qui est uniquement javascript (et fait des choses significatives)

Je comprends votre question ainsi: pourquoi choisir Java ou .NET s'il y a d'autres moyens plus confortables pour configurer un serveur parce que les clients utilisent le protocole HTTP pour accéder au serveur

Vous avez raison que le système d'exploitation du serveur ou d'un cadre ne généralement pas d'importance pour le client.

Cependant, le côté client peut également contenir des applets ou du code qui doit ensuite communiquer avec son homologue sur le serveur. Ensuite, JSP ou .NET devient plus intéressant que vous n'avez pas à gérer différents OS client de. Ensuite, le site devient facilement extensible.

Si vous souhaitez intégrer une agréable et des solutions graphiques de représentation graphique (Telerik, Dundas, ... ou autre - pas censé être la publicité, -) du 3 partis vous aussi de choisir une infrastructure de serveur compatible pour les exécuter <. / p>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top