Pergunta

Java e .NET são duas linguagens orientadas para remover a dependência de plataforma. Isto é conseguido através da adição de uma máquina / quadro virtual entre o código eo OS.

Então, o que é o ponto em usá-lo no lado do servidor, como todos os sites são acessíveis via browser, e que é independente de plataforma? Há alguma razão especial para usá-los?

Foi útil?

Solução

.NET é feita somente para a plataforma Windows. Java é o único dos dois que se destina a ser independente de plataforma.

Estas línguas têm uma forte presença na extremidade do servidor, por muitas razões:

  1. Muitas bibliotecas que lidam com as subtarefas do problema
  2. Ambos os quadros são construídos com a segurança em mente
  3. Eles são geridos línguas, é muito mais difícil de retirar os ataques típicos de software.
  4. Eles são considerados tecnologias maduras, eles foram colocados para um pouco de abuso e têm resistido ao teste.
  5. Eles têm o apoio da indústria.
  6. Ambos são orientadas a objeto
    1. Isto significa que existe a possibilidade de quer desenvolver um web site através do uso de componentes reutilizáveis ??ou componentes de terceiros.
  7. Ambos linguagem permitem "sandboxing" de componentes não gerenciados (Java: JNI NET: Boxe) [permite inclusão de componentes legados]

Outras dicas

Eles estão realmente escolhido por razões quase completamente opostos:

  • meios Independance plataforma do Java você não está amarrado a uma plataforma e são, portanto, mais flexível na escolha da plataforma de baixo custo mais, ou o mais confiável. E você pode manter seus aplicativos funcionando mesmo quando você tem que plataformas de servidor mudança porque o antigo não é mais suportado.
  • .NET é escolhido porque se você estiver indo para amarrar-se a um sistema operacional, a Microsoft é o maior jogador e, portanto, a opção menos arriscada - ou simplesmente porque as empresas caiu na armadilha "loja All-Microsoft" por meio de drogas de entrada como Troca. E uma vez que você está lá, .NET é o que a Microsoft quer que você use e suportes e se integra com todas as suas ferramentas atuais.

Java e .NET têm seus próprios benefícios para o lado do servidor.

Por exemplo, com NET você é livre para escolher a melhor linguagem para a parte do aplicativo que você está trabalhando, e todas estas linguagens .NET trabalhar juntos.

Assim, você pode querer usar F # para as funções de mineração de dados, C # para trabalhar com o banco de dados, C não gerenciado ++ (passando por uma fina camada gerenciado C ++) para conexões de rede rápida, ou chamadas de sistema, e há uma série de outras línguas. NET é menos independente de plataforma atualmente, mas independente da linguagem.

Java pode ser usado em vários sistemas operacionais diferentes, o que é vantajoso se você está vendendo uma solução, desde que você não se importa que sistema operacional o cliente está usando.

Agora, a JVM está se tornando menos dependente de linguagem, com Clojure e Scala fugir dele, então Java tornou-se mais interessante agora, para a concepção de aplicações.

Eles virtualizar o sistema subjacente, para que possam ser executados em diferentes tipos de sistemas operacionais de servidor.

E, eles são projetados para serem sistemas de desenvolvimento de aplicações de uso geral, de modo que se destinam a ser executado em qualquer coisa com um processador.

Se você está perguntando porque você não entender por que alguém iria aceitar a sobrecarga de uma camada de abstração, tenha em mente que tanto Java e .NET JIT para baixo para código nativo.

Então, o que é o ponto em usá-lo no lado do servidor, como todos os sites são acessíveis via browser, e que é independente de plataforma?

Bem, aplicações web não são apenas de HTML para se divertir, eles são fazer as coisas no lado do servidor que podem envolver a falar com banco de dados (s), o envio de mensagens para um MOM, etc.

Há alguma razão especial para usá-los?

Esta é uma resposta parcial, mas eu queria pelo menos para cobrir o caso de Java aqui. Eu poderia começar argumentando que Java é uma forma segura, robusta, coleta de lixo, orientado a objetos de alta performance, multi-threaded, interpretado, arquitetura neutra, multi-plataforma, buzzword compatível-linguagem de programação ... mas isto wouldn 't realmente responder a sua pergunta. Na verdade, o grande negócio com Java no lado do servidor é IMO que você beneficiar de Empresa APIs padronizadas (aka J2EE) que permitem que você faça "coisas empresa" (JDBC, JTA, JMS, etc) de uma maneira padrão com hardware, operacional sistema e independência fornecedor de software (que é uma grande vantagem para negociação do contrato). Em outras palavras, Java é perfeito para ambientes heterogêneos que são quase sempre o caso com grandes organizações e não trancá-lo.

Enquanto independência de plataforma são grandes para lutar por eu diria Java e .NET são comumente usados ??como há um grande número de quadros disponíveis, que tornam muito mais fácil para desenvolver nível empresarial formulários. Isto é especialmente verdadeiro com java, onde você tem um incrível escolha de tecnologias de alta qualidade a maioria dos quais são bastante flexível para atender as necessidades da maioria dos projectos, o que lhe permite foco na funcionalidade do aplicativo.

Além disso, sem qualquer intenção de iniciar uma guerra, Java e .net têm melhor suporte ferramenta de desenvolvimento e são mais fáceis / mais rápido para desenvolver com o seu programador médio.

Em dias web início, era principalmente Perl e almas corajosas ocasionais que não gostava de Perl ou queriam mais desempenho usado C ++. Então Sun desenvolveu JDBC e Servlets para Java, e depois outras peças J2EE e Java tornou-se uma alternativa de desempenho superior para Perl, e mais fácil do que C ++. Com J2EE veio um monte de produtos de servidor de aplicações de grandes empresas, e agora você tem uma grande comunidade servidor web / app Java.

Em seguida, Microsoft veio junto, depois de perder a guerra J ++ / Java com a Sun, e criou uma infra-estrutura de aplicativo web semelhante com .NET. Com .NET você tem menos opções, com todas as vantagens e desvantagens que traz.

Então, eu acho que a resposta é uma mistura de um desempenho decente, características de segurança e empresariais, e grande apoio das empresas. C ++ é muito difícil e perigoso para a maioria das pessoas. Perl, PHP, Python e Ruby têm seus fãs, mas não o apoio das empresas. Eu não acho que o fato de que Java / .NET estão em máquinas virtuais é importante para o lado do servidor. Java utilizada uma VM originalmente para o cliente. Sun teve que trabalhar duro para fazer um rápido Sever VM. Acho que a Microsoft usou uma VM para competir com a Sun, e para torná-lo mais fácil de suportar vários idiomas. Será interessante ver se a linguagem Go do Google tira, que pode superar Java e C # para a segurança e poder, mas não VM.

o navegador não têm acesso aos recursos do servidor (banco de dados, arquivos etc.) que essas estruturas têm acesso. Você não poderia ter uma aplicação que só é javascript (e faz coisas significativas)

Eu entendi sua pergunta deste modo:? Por que escolher Java ou .NET, se houver mais outras maneiras confortáveis ??para configurar um servidor porque os clientes usam HTTP para acessar o servidor

Está certo que o sistema operacional do servidor ou quadro faz geralmente não importa para o cliente.

No entanto lado do cliente também pode conter applets ou código que, em seguida, precisa se comunicar com o seu homólogo no servidor. Em seguida, JSP ou .NET torna-se mais interessante como você não tem que gerenciar diferentes do sistema operacional cliente. Em seguida, o site se tornar facilmente extensível.

Se você quiser integrar algumas agradáveis ??gráficos e traçar soluções (Telerik, Dundas, ... ou qualquer outra coisa - não pretende ser propaganda -) a partir de 3 partes que você também tem que selecionar uma infraestrutura de servidor compatível para executá-los <. / p>

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top