Pregunta

Java y .NET son dos lenguajes destinados a eliminar la dependencia de la plataforma.Esto se logra agregando una máquina/marco virtual entre el código y el sistema operativo.

Entonces, ¿cuál es el punto de usarlo en el lado del servidor, ya que se puede acceder a todos los sitios web a través del navegador, y eso es independiente de la plataforma?¿Hay alguna razón especial para usarlos?

¿Fue útil?

Solución

.NET se entiende para la plataforma Windows. Java es el único de los dos que está destinado a ser independiente de la plataforma.

Estos lenguajes tienen una fuerte presencia en el lado del servidor, por muchas razones:

  1. Las porciones de las bibliotecas que se encargan de las tareas parciales del problema
  2. Ambos marcos se construyen pensando en la seguridad
  3. Se idiomas manejados, es mucho más difícil de lograr los ataques típicos de software.
  4. Ellos se consideran tecnologías maduras, se han puesto a un poco de abuso y han resistido la prueba.
  5. Tienen apoyo de la industria.
  6. Ambos son orientados a objetos
    1. Esto significa que existe la posibilidad de o bien desarrollar un sitio web a través del uso de componentes reutilizables o componentes de terceros.
  7. Tanto el lenguaje permite "caja de arena" de componentes que no sean gestionados (Java: JNI .NET: boxeo) [permite la inclusión de componentes heredados]

Otros consejos

En realidad, son elegidos por razones casi completamente opuestos:

  • significa la independencia de la plataforma Java que no está atado a una plataforma y son por lo tanto más flexible en la elección de la plataforma más rentable, o el más fiable. Y usted puede mantener sus aplicaciones funcionando, incluso cuando se tiene que cambiar las plataformas de servidor, porque el viejo no se admite más.
  • .NET es elegido porque si usted va a atarse a un sistema operativo, Microsoft es el jugador más grande y por lo tanto la opción menos arriesgada - o simplemente porque las empresas cayeron en la "tienda All-Microsoft" trampa a través de las drogas como puerta de enlace Intercambiar. Y una vez que estás ahí, NET es lo que Microsoft quiere que uses y apoya y se integra con todas sus herramientas actuales.

Tanto Java como .NET tienen sus propios beneficios para el lado del servidor.

Por ejemplo, con .NET usted es libre de elegir el mejor idioma para la parte de la aplicación en la que está trabajando, y todos estos lenguajes .NET funcionan juntos.

Por lo tanto, es posible que desee utilizar F# para las funciones de minería de datos, C# para trabajar con la base de datos, C++ no administrado (pasando por una capa delgada de C++ administrado) para conexiones de red rápidas o llamadas al sistema, y ​​hay una gran cantidad de otros lenguajes.Actualmente, .NET es menos independiente de la plataforma, pero sí del idioma.

Java se puede usar en varios sistemas operativos diferentes, lo cual es una ventaja si vende una solución, ya que no le importa qué sistema operativo esté usando el cliente.

Ahora la JVM se está volviendo menos dependiente del lenguaje, con Clojure y Scala ejecutándose en ella, por lo que Java se ha vuelto más interesante ahora para diseñar aplicaciones.

Se virtualizar el sistema subyacente, por lo que se pueden ejecutar en diferentes tipos de sistemas operativos de servidor.

Y, que están diseñados para ser sistemas de desarrollo de aplicaciones de propósito general, por lo que están destinados a ser ejecutado en cualquier cosa con un procesador.

Si se está preguntando porque no entiende por qué se podría aceptar la sobrecarga de una capa de abstracción, tener en cuenta que tanto Java y .NET JIT a código nativo.

  

Así que, ¿cuál es el punto en el uso que en el lado del servidor, ya que todos los sitios web se puede acceder a través del navegador, y que es independiente de la plataforma?

Bueno, aplicaciones web no son sólo por diversión representación HTML, que son hacer las cosas en el lado del servidor que puede implicar hablar con la base de datos (s), el envío de mensajes a un MOM, etc.

  

¿Hay alguna razón especial para usarlos?

Esta es una respuesta parcial pero quería al menos para cubrir el caso de Java aquí. Podría empezar con el argumento de que Java es una técnica segura, robusta, recolección de basura, orientado a objetos, de alto rendimiento, multi-hilo, interpretado, arquitectura neutral, multi-plataforma, lenguaje de programación compatible palabra de moda ... pero esto wouldn 't realmente responde a su pregunta. En realidad, el problema con Java en el lado del servidor es la OMI que se aprovechan todas las API de la empresa estandarizados (también conocido como J2EE) que le permiten hacer "cosas de la empresa" (JDBC, JTA, JMS, etc.) de una manera estándar con el hardware, operativo sistema y la independencia del proveedor de software (que es una gran ventaja para la negociación del contrato). En otras palabras, Java es ideal para entornos heterogéneos que son casi siempre el caso con las grandes organizaciones y no le bloquearlo.

Si bien la independencia de plataforma son grandes para luchar por que diría Java y .NET se utilizan comúnmente como hay un gran número de marcos disponibles que hacen que sea mucho más fácil desarrollar a nivel de empresa aplicaciones. Esto es especialmente cierto con Java, donde se tiene una increíble selección de tecnologías de alta calidad la mayoría de los cuales son suficientemente flexible para satisfacer las necesidades de la mayoría de los proyectos, lo que le permite centrarse en la funcionalidad de la aplicación.

Además, sin ninguna intención de iniciar una guerra de mensajes, Java y .NET tienen mejor soporte de herramientas de desarrollo y son más fáciles / más rápido para desarrollar por el programador medio.

En los días tempranos web, era sobre todo Perl y valientes ocasionales que no le gustaba Perl o quería más el rendimiento utilizado C ++. A continuación, Sun desarrolló JDBC y servlets para Java, y luego otras piezas J2EE y Java se convirtió en una alternativa de mayor rendimiento a Perl, y más fácil que C ++. Con J2EE llegó una gran cantidad de productos de servidor de aplicaciones de grandes empresas, y ahora usted tiene una comunidad de servidores web / aplicación Java grande.

A continuación, Microsoft llegó, después de perder la guerra J ++ / Java con Sun, y crearon una infraestructura de aplicación web similar con .NET. Con .NET tiene un menor número de opciones, con todas las ventajas y desventajas que trae.

Por lo tanto, creo que la respuesta es una mezcla de un rendimiento decente, seguridad y características de la empresa, y la mayor respaldo corporativo. C ++ es demasiado difícil y peligroso para la mayoría de la gente. Perl, PHP, Python y Ruby tienen sus fans, pero no el respaldo corporativo. No creo que el hecho de que Java / .NET están en máquinas virtuales es importante para el lado del servidor. Java utiliza una máquina virtual originalmente para el cliente. Sun tuvo que trabajar duro para hacer una rápida sever VM. Creo que Microsoft utiliza una máquina virtual para competir con Sun, y para que sea más fácil para soportar múltiples idiomas. Será interesante ver si el lenguaje Go de Google despega, que puede superar Java y C # para la seguridad y el poder, pero sin VM.

el navegador no tiene acceso a los recursos del servidor (base de datos, archivos, etc.) que esos marcos tienen acceso. No se podía tener una aplicación que es única Javascript (y hace cosas significativas)

entiendo su pregunta de esta manera: ¿por qué elegir Java o .NET si hay más cómodos otras formas de configurar un servidor debido a que los clientes utilizan HTTP para acceder al servidor

Tienes razón en que el sistema operativo del servidor o un marco generalmente no son importantes para el cliente.

Sin embargo, el lado del cliente también puede contener applets o código que se necesita para comunicarse con su contraparte en el servidor. A continuación, JSP o .NET se vuelve más interesante, ya que no tiene que manejar diferentes clientes del sistema operativo. A continuación, el sitio web se convierten fácilmente extensible.

Si desea integrar algunas buenas gráficas y soluciones de gráficos (Telerik, Dundas, ... o lo que sea - no pretende ser publicidad -) de 3 partes también se tendría que seleccionar una infraestructura de servidor compatibles para ejecutarlos <. / p>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top