En el foro de Esri , el usuario Matt Moyles sugirió que el enfoque utilizado en las muestras de Esri JS no es adecuado para el desarrollo robusto de una aplicación de mapeo web usando HTML, JavaScript y CSS:
El enfoque sugerido por ESRI para el desarrollo de aplicaciones javascript es antiguo y anticuado. No recomendaría seguir las muestras. Dojo 1.7 admite AMD con carga de dependencia asincrónica. Comenzaría con la plantilla repetitiva del dojo y "trabajaría" la API del arco en eso. Las muestras no son adecuadas para desarrolladores de aplicaciones serios. En su mayoría, son solo pruebas de fragmentos de conceptos.
Se debe desarrollar una aplicación seria con la ayuda de algún tipo de marco para ayudar a estructurar las cosas. ¡He estado usando dojox.mvc con gran éxito! Pero otras opciones incluyen cosas como backbone.js, spine.js o incluso javascript MVC.
Dojo Boilerplate - https://github.com/csnover/dojo-boilerplate
- ¿Alguien está de acuerdo / en desacuerdo con esta declaración?
- ¿Existen ejemplos en línea de mejores enfoques para el desarrollo de aplicaciones web utilizando la API JS de ArcGIS Server?
fuente
Respuestas:
Estoy de acuerdo con Moyles en que las muestras son solo muestras y dojo boileplate es un gran recurso, sin embargo, en los snovers actuales, boilerplate no es una solución viable. Tienes dos versiones diferentes de dojo pasando allí. La js api actual todavía utiliza la sintaxis clásica de dojo 1.6.1 y no es compatible con AMD. Estoy seguro de que se construirá una nueva api js en 1.7.xy que la conversión de módulos clásicos dojo.defined a AMD es en su mayoría trivial, elegiría esa ruta.
Si está comenzando su proyecto ahora, entonces elegiría el marco del lado del servidor que desea usar (si es necesario para su aplicación. Si es solo un visor de página sin requisitos del lado del servidor, entonces no complique las cosas). Podrían ser rieles, php, asp, lo que sea. Siga las mejores prácticas para su marco / idioma.
Entonces, dado que esri se basa en dojo, ya está cargando un gran marco js para crear aplicaciones web a gran escala. Estructura tu código para que el cargador del dojo pueda cargar tus widgets y módulos con la sintaxis de dojo. Escriba widgets y módulos dojo, use dijits y herramientas dojox cuando sea necesario ( http://dojotoolkit.org/documentation/tutorials/1.6/declare , http://dojotoolkit.org/documentation/tutorials/1.6/recipes/custom_widget/ , http : //dojotoolkit.org/documentation/tutorials/1.6/understanding_widget , http://dojotoolkit.org/documentation/tutorials/1.6/templated , http://dojotoolkit.org/documentation/tutorials/1.6/cdn ). No escriba js en línea como lo hacen las muestras. Crear unCree un perfil para optimizar todo su código cuando llegue el momento de la producción.
Debe mantener su esri y su código personalizado separados hasta cierto punto porque no ofrecen la fuente para la compilación: ya está construido y minimizado. La herramienta de compilación no le gusta tanto.
EDITAR
Creé una herramienta ronca, esri_slurp, para descargar la API de esri js para que pueda usarla como un paquete en sus aplicaciones. Esto le permite ejecutar la compilación y obtener un solo archivo.
fuente
Debería ser bastante obvio que las muestras no están destinadas a ser aplicaciones serias: son muestras.
Dicho esto, es mucho menos común, en el mundo típico de Internet, usar algo como Backbone que usar dojo, que es conocido por ser expansivo y complejo, pero a menudo innecesario.
Si pudiera describir su objetivo más, sería más fácil hacer una recomendación sólida. Cosas como Backbone están escritas para aplicaciones completas del lado del cliente, por lo que si realmente está haciendo la mayor parte de su trabajo en PHP o ASP o nodejs, es menos necesario. O si no necesita varias páginas y vistas todas conectadas, puede pasar fácilmente con jQuery, o sin marco.
fuente
Totalmente de acuerdo. ESRI es una API de JavaScript, siento que están compitiendo con ArcGIS Viewer for Flex. Las muestras no son más que una prueba de concepto de cómo puedes usar sus dijits ... Deseo que solo proporcionen una API de JavaScript pura y simple, y que el usuario decida qué marco usarán las personas como Bing, Google, Openlayers y varios otros. ..
fuente
jsRevolution, la nueva herramienta JavaScript Framework and Build Tool de OmniStation, es el framework más robusto disponible comercialmente en el mercado. Está diseñado para implementaciones a gran escala de aplicaciones no triviales. Represento a OmniStation. Nuestros clientes pueden tener 100 o 1000 de clases, 10 o incluso 100 de desarrolladores. Si bien estos clientes encontrarán que el marco es inexpugnable, jsRevolution es práctico para ciertas aplicaciones con tan solo 25 clases.
Las muchas características de jsRevolution incluyen: carga asincrónica, espacio de nombres sin código, vista de código conmutable de URL (de Dev a Deploy), herencia sin código con validación de tiempo de construcción, interfaz sin código con validación de tiempo de carga, abstracción sin código (a veces denominada Mixin), la capacidad para identificar un recurso como una clase de instancia, Multi-Versioning (múltiples versiones de clases dentro de la misma aplicación, simple de ejecutar) y muchas otras características.
fuente