¿Cuáles son las diferencias entre las API web de ArcGIS (JavaScript / WPF / Silverlight / Flex)?

28

Actualmente, Esri ofrece 3 API web diferentes que se pueden descargar libremente.

¿Son todos iguales?

Si no, ¿cuáles son las fortalezas / debilidades relativas de cada una de estas API?

Kirk Kuykendall
fuente
Sería genial si tuviéramos 3 respuestas y "permitiéramos" ediciones para agregar o expandir cada vez que pasa el tiempo. ¿Eso viola la política de GSE?
Brad Nesom
1
@Brad ya que este es un wiki comunitario, cualquier persona con al menos 100 repeticiones puede editar cualquier publicación. Sin embargo, no conozco una forma de "permitir" las ediciones solo en 3 publicaciones. OTOH, tal vez tener respuestas más precisas permitiría a los usuarios votar sobre la relevancia de cada profesional o estafador. Entonces, ¿tal vez debería dividir mi respuesta en 5 respuestas?
Kirk Kuykendall
Los considero iguales; ¿Quizás una mejor manera de responder es describir cómo difieren?
mwalker
@mwalker estuvo de acuerdo, el título cambió.
Kirk Kuykendall
1
Buen resumen en la Conferencia de usuarios de Esri 2011 Preguntas y respuestas: events.esri.com/uc/QandA/…
Derek Swingley

Respuestas:

13

Desde una perspectiva de gestión totalmente abstracta, las tres API son iguales. Representan código que se ejecuta en un navegador web, cuyo propósito es mostrar datos de mapas a un usuario a través de Internet. Puede crear una aplicación de mapeo exitosa y significativa con cualquiera de las API.

Además, el impacto de cada fortaleza / debilidad (diferencia) en cada API variará dependiendo de la audiencia. Los programadores estarán muy interesados ​​en las características o inconvenientes del idioma, su gente de la red querrá conocer los requisitos de ancho de banda y los requisitos previos del servidor, la gente de GIS estará profundamente preocupada de que el mapa que se muestra esté realmente renderizado, y sus usuarios finales podrían preocuparse menos por todo eso y solo quiero hacer lo que sea que comenzaron a hacer.

Aquí hay algunos elementos clave sobre las tres API:

  • Manejo de recursos entre dominios : Silverlight y Flex pueden usar un archivo de "política de dominio cruzado" que existe en el servidor TARGET. Por lo tanto, los editores de mapas de terceros pueden otorgarle acceso a ellos. Con la API de Javascript, las solicitudes entre dominios generalmente se manejan mediante la implementación de una "página de proxy" utilizando el lenguaje del lado del servidor de su elección (PHP, JSP, ASP, etc.). Este "requisito flexible" no es un gran problema para la mayoría de los servidores, pero agrega otra capa de complejidad. Tenga en cuenta que no hay nada que le impida utilizar la misma página de proxy con las API de complementos, en caso de que su recurso deseado NO exponga los archivos necesarios entre dominios.

  • Gráficos : Silverlight y Flex le permiten pintar fácilmente píxeles arbitrarios en la interfaz de usuario. Javascript también permite esto, pero puede sobrecargar rápidamente la capacidad del navegador sin algún código y preparación cuidadosos. Del mismo modo, operar directamente con formatos binarios o tráfico de red solo se puede hacer en Javascript con la ayuda de servicios web.

  • Entorno del desarrollador : estoy sesgado aquí. Silverlight es mi favorito para el desarrollo. El entorno de Visual Studio es maduro, rápido y tiene un depurador de primer nivel. Javascript viene en segundo lugar; las herramientas disponibles ahora son mejores que nunca y siempre mejoran, pero parece que nunca podemos escapar de la maldición de "debes probar en todos los navegadores compatibles, y luego arreglar esas cosas raras que suceden". El entorno Flex parece anticuado e hinchado, y básicamente dificulta el desarrollo.

mwalker
fuente
2
es una pesadilla para depurar javascript! al menos para mi.
George Silva
3
@George Entre el depurador integrado de Chrome, Firebug y la barra de herramientas de desarrollador de IE, ya no es tan malo como solía ser.
mwalker
9

Silverlight / WPF Contras

  • Requiere un complemento
  • El futuro es menos seguro que JavaScript (HTML5)

Silverlight / WPF Pros

  • Totalmente compatible con Visual Studio
  • Tiene mejor soporte para subprocesos múltiples (al menos en comparación con flex ).
  • Mejor soporte SOAP (el SOAP de Esri es más completo que REST).
Kirk Kuykendall
fuente
1
Silverlight parece tener muchas ventajas para el desarrollador, no tanto para una amplia base de usuarios ...
DavidF
1
@DavidF: diría que está diseñado para el usuario corporativo que ya tiene sharepoint, .net y esas aplicaciones instaladas y utilizadas por todas las máquinas. Así que el despliegue de más de 20.000 máquinas es relativamente fácil
dassouki
@dassouki - Buen punto, en esas situaciones de confianza, WPF XBAP tiene sentido. Actualizaré Silverlight para incluir WPF.
Kirk Kuykendall
8

Supongo que todas estas respuestas son buenas pero un poco anticuadas. Flex y Silverlight eran sin duda muy popular en comparación con Javascript y algunos podrían argumentar que la construcción de aplicaciones utilizando estas API fue muy fácil, pero el mayor déficit que Flex y Silverlight tienen es que son PLUGINS . Y esa es la causa de su aniquilación.

Con el inicio de HTML5 y Javascript como la parte integral del desarrollo de aplicaciones web, el futuro es la API de Javascript. Con Adobe abandonando Flash y Silverlight 5 como la última actualización de Microsoft, Flex y Silverlight ahora son tecnologías redundantes.

Entonces, si está comenzando el desarrollo de aplicaciones Web GIS utilizando las API de ESRI, comience a aprender la API de Javascript, ya que ese es el único futuro en el futuro cercano.

Sam007
fuente
3

Las API Silverlight y Flex son, con mucho, las API ArcGIS más populares y tienen la ventaja de ser complementos del navegador que proporcionan una experiencia de usuario mucho más rica y consistente, que a menudo es bastante importante con las aplicaciones web SIG. Silverlight es probablemente la mejor opción si favorece el desarrollo de .NET y Flex sería mejor para los desarrolladores que prefieren el entorno de Adobe. Flex también tiene la ventaja de una adopción más amplia como complemento de navegador que Silverlight.

La API de Javascript tiene la ventaja de un mayor alcance multiplataforma, ya que no se necesitan los complementos del navegador, por lo que se puede usar en dispositivos iOS como el iPhone y el iPad. La desventaja es que a menudo puede ver diferencias en el comportamiento de las aplicaciones en los distintos navegadores, como IE, Chrome, Firebox, Safari, etc.

En cuanto a sus características, realmente son muy similares, que es lo que esri siempre ha intentado hacer con ellas y parece comprometido a continuar manteniendo una fuerte paridad de características entre ellas en el futuro. Así que creo que realmente se reduce a la fortaleza de Flex y Silverlight como clientes ricos y alcance multiplataforma de Javascripts.

wilbev
fuente
3

Hay un ArcGIS Viewer para Flex .

Hay un ArcGIS Viewer para Silverlight .

Pero actualmente no hay ArcGIS Viewer para Esri compatible con Esri, ni hay uno planeado .

Ver pregunta relacionada .

"Visor" es un término que Esri usa para las aplicaciones web que permiten al usuario crear aplicaciones web de mapeo sin escribir ningún código. Por lo general, estas aplicaciones de mapeo web creadas serán visores, pero con los complementos (o widgets) apropiados es posible crear visores con capacidades de edición.

Kirk Kuykendall
fuente
Podría decirse que usar ArcGIS Online con plantillas ... es, en cierto sentido, un Visor para JavaScript: sin codificación, le brinda funciones básicas de mapa.
awesomo
1

Ninguno de ellos admite estándares abiertos, por lo que sufre el bloqueo del proveedor y el riesgo de perder su inversión si ESRI decide que 3 es 1 o 2 demasiado.

iant
fuente
1
Si Esri lo cambia, creo que el número de versión se incrementaría (actualmente es 1.0). Si construyes una herramienta que la implementa, ¿por qué no podrías seguir usando esa herramienta?
Derek Swingley
2
¿Qué pasa si [x] cambios estándar? nadie está 100% seguro de que todo será igual para siempre.
George Silva
2
@Swingley cuando ArcServer11 sale y solo admite Rest2.0, todo su trabajo está atornillado (recuerdo Avenue y AML).
Ian Turton
1
Todavía uso Avenue y AMLS ...
Mapperz
1
@iant AML tools in ArcGIS 10 (Workstation) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…
Mapperz