Quais são as diferenças entre as APIs da Web do ArcGIS (JavaScript / WPF / Silverlight / Flex)?

28

Atualmente, a Esri oferece três APIs da web diferentes que podem ser baixadas gratuitamente.

Eles são todos iguais?

Caso contrário, quais são os pontos fortes / fracos de cada uma dessas APIs?

Kirk Kuykendall
fonte
Seria legal se tivéssemos 3 respostas e "permitíssemos" que as edições adicionassem ou expandissem a cada vez que o tempo passasse. Isso viola a política de GSE?
Brad Nesom
1
@Brad Como este é um wiki da comunidade, qualquer pessoa com pelo menos 100 representantes pode editar qualquer postagem. Eu não sei de uma maneira de "permitir" edições apenas para 3 posts. OTOH, talvez ter respostas mais refinadas permitiria que os usuários votassem sobre a importância de cada profissional ou contra. Então, talvez eu deva dividir minha resposta em cinco respostas?
precisa saber é o seguinte
Eu os considero iguais; talvez uma maneira melhor de responder seja descrever como elas diferem?
mwalker
@walker concordou, o título mudou.
precisa saber é o seguinte
1
Bom resumo em 2011 Esri User Conference Q & A: events.esri.com/uc/QandA/...
Derek Swingley

Respostas:

13

De uma perspectiva de gerenciamento totalmente abstrata, as três APIs são iguais. Eles representam o código executado em um navegador da Web, cujo objetivo é exibir dados de mapa para um usuário pela Internet. Você pode criar um aplicativo de mapeamento significativo e bem-sucedido com qualquer uma das APIs.

Além disso, o impacto de cada força / fraqueza (diferença) em cada API varia de acordo com o público. Os programadores terão grande interesse em recursos ou inconvenientes de idiomas, o pessoal da sua rede desejará conhecer os requisitos de largura de banda e os pré-requisitos do servidor, o pessoal do GIS ficará profundamente preocupado com o fato de o mapa exibido ser realmente renderizado, e os usuários finais poderão se importar menos com tudo isso e só quero fazer o que eles começaram a fazer.

Então, aqui estão alguns itens principais sobre as três APIs:

  • Manipulação de recursos entre domínios : o Silverlight e o Flex podem usar um arquivo de "política de domínio cruzado" existente no servidor TARGET. Portanto, editores de mapas de terceiros podem conceder acesso a eles. Com a API Javascript, as solicitações entre domínios geralmente são tratadas implementando uma "página proxy" usando uma linguagem do lado do servidor de sua escolha (PHP, JSP, ASP, etc.). Esse "requisito leve" não é um grande problema para a maioria dos servidores, mas adiciona outra camada de complexidade. Observe que não há nada que o impeça de usar a mesma página de proxy com as APIs do plug-in, caso o recurso desejado NÃO exponha os arquivos de domínio cruzado necessários.

  • Gráficos : Silverlight e Flex permitem pintar facilmente pixels arbitrários na interface do usuário. O Javascript também permite isso, mas você pode sobrecarregar rapidamente a capacidade do navegador sem algum código e preparação cuidadosos. Da mesma forma, operar diretamente com formatos binários ou tráfego de rede só pode ser feito em Javascript com a ajuda de serviços da web.

  • Ambiente do desenvolvedor : Sou tendencioso aqui. O Silverlight é o meu favorito para o desenvolvimento. o ambiente do Visual Studio é maduro, rápido e possui um depurador de alto nível. Javascript vem em segundo lugar; as ferramentas disponíveis agora estão melhores do que nunca e estão sempre melhorando, mas parece que nunca escapamos da maldição de "você deve testar em todos os navegadores suportados e, em seguida, corrigir as coisas estranhas que acontecem". O ambiente Flex parece antiquado e inchado, e basicamente dificulta o desenvolvimento.

mwalker
fonte
2
é um pesadelo para depurar javascript! pelo menos para mim.
George Silva
3
@ George Entre o depurador interno do Chrome, o Firebug, e a barra de ferramentas do desenvolvedor do IE, agora não é tão ruim quanto costumava ser.
precisa saber é o seguinte
9

Contras do Silverlight / WPF

  • Requer um plugin
  • O futuro é menos certo que o javascript (HTML5)

Profissionais do Silverlight / WPF

  • Totalmente suportado pelo Visual Studio
  • Possui melhor suporte a multithreading (pelo menos comparado ao flex ).
  • Melhor suporte SOAP (o SOAP da Esri é mais completo que o REST).
Kirk Kuykendall
fonte
1
Silverlight parece que ele tem muitas vantagens para o desenvolvedor, não tanto para uma ampla base de usuários ...
davidf
1
@ DavidF - eu diria que ele foi projetado para o usuário corporativo que já possui o sharepoint, .net e esses aplicativos já instalados e usados ​​por todas as máquinas. Então implantação mais de 20.000 máquinas é relativamente fácil
dassouki
@dassouki - Bom ponto, nessas situações confiáveis, os XBAPs do WPF fazem sentido. Vou atualizar o Silverlight para incluir o WPF.
precisa saber é o seguinte
8

Eu acho que todas essas respostas são boas, mas um pouco fora de moda. O Flex e o Silverlight certamente eram muito populares em comparação com o Javascript e alguns podem argumentar que a criação de aplicativos usando essas APIs foi realmente fácil, mas o MAIOR DÉFICIT que o Flex e o Silverlight têm é que são PLUGINS . E essa é a causa de sua aniquilação.

Com o início do HTML5 e do Javascript sendo parte integrante do desenvolvimento de aplicativos da Web, o futuro é a API Javascript. Com a Adobe abandonando o Flash e o Silverlight 5 sendo a última atualização da Microsoft, o Flex e o Silverlight agora são tecnologias redundantes.

Portanto, se você estiver iniciando o desenvolvimento de aplicativos GIS da Web usando as APIs ESRI, comece a aprender a API Javascript, pois esse é o único futuro no futuro próximo.

Sam007
fonte
3

As APIs Silverlight e Flex são de longe as APIs mais populares do ArcGIS e têm a vantagem de serem plug-ins de navegador que fornecem uma experiência de usuário muito mais rica e consistente, o que geralmente é muito importante nos aplicativos da web GIS. O Silverlight é provavelmente a melhor opção se você preferir o desenvolvimento .NET e o Flex seria melhor para desenvolvedores que preferem o ambiente da Adobe. O Flex também tem a vantagem de uma adoção mais ampla como plug-in de navegador do que o Silverlight.

A API Javascript tem a vantagem de um alcance maior entre plataformas, pois os plug-ins do navegador não são necessários para que possam ser usados ​​em dispositivos iOS como o iPhone e o iPad. A desvantagem é que muitas vezes você pode ver diferenças em como os aplicativos se comportam nos vários navegadores, como IE, Chrome, Firebox, Safari, etc.

No que diz respeito às suas características, elas são realmente muito parecidas, o que a esri sempre tentou fazer com elas e parece comprometida em continuar mantendo uma forte paridade de características entre elas no futuro. Então, acho que tudo se resume à força do Flex e do Silverlight à medida que os clientes ricos e o alcance de plataforma cruzada Javascripts.

wilbev
fonte
3

Existe um ArcGIS Viewer for Flex .

Existe um ArcGIS Viewer para Silverlight .

Porém, atualmente não há ArcGIS Viewer para Javascript suportado pela Esri, nem existe um planejado .

Veja a pergunta relacionada .

"Visualizador" é um termo que a Esri usa para aplicativos da web que permitem ao usuário criar aplicativos da web de mapeamento sem escrever nenhum código. Normalmente, esses aplicativos de mapeamento da web criados serão visualizadores, mas com os suplementos (ou widgets) apropriados, é possível criar visualizadores com recursos de edição.

Kirk Kuykendall
fonte
Indiscutivelmente, o uso do ArcGIS Online com modelos ... é, em certo sentido, um visualizador para javascript - sem codificação, fornece funções básicas de mapas.
awesomo
1

Nenhum deles suporta padrões abertos; portanto, você sofre com o bloqueio do fornecedor e o risco de perder seu investimento se a ESRI decidir que 3 é 1 ou 2 a mais.

iant
fonte
1
Se o Esri mudar, acho que o número da versão seria incrementado (atualmente é 1,0). Se você criar uma ferramenta que a implemente, por que não poderá continuar usando essa ferramenta?
Derek Swingley 03/03
2
e se [x] o padrão mudar? ninguém tem 100% de certeza de que tudo será o mesmo para sempre.
George Silva
2
@Swingley quando o ArcServer11 é lançado e suporta apenas o Rest2.0, todo o seu trabalho está ferrado (lembro-me da Avenue e da AML).
Ian Turton
1
Ainda use Avenue e AMLS ...
Mapperz
1
ferramentas AML @iant em ArcGIS 10 (estação de trabalho) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//...
Mapperz