Sur le forum Esri , l'utilisateur Matt Moyles a suggéré que l'approche utilisée dans les exemples Esri JS ne convient pas au développement robuste d'une application de cartographie Web utilisant HTML, JavaScript et CSS:
L'approche suggérée par ESRI pour le développement d'applications javascript est ancienne et obsolète. Je ne recommanderais pas de suivre les échantillons. Dojo 1.7 prend en charge AMD avec chargement de dépendance asynchrone. Je commencerais par le modèle de passe-partout dojo et "travaillerais" l'api arcgis dans cela. Les exemples ne conviennent pas aux développeurs d'applications sérieux. Ce ne sont pour la plupart que des extraits de preuve de concept.
Une application sérieuse devrait être développée à l'aide d'une sorte de cadre pour aider à structurer les choses. J'utilise dojox.mvc avec beaucoup de succès! Mais d'autres options incluent des choses comme backbone.js, spine.js ou même MVC javascript.
Dojo Boilerplate - https://github.com/csnover/dojo-boilerplate
- Quelqu'un est-il d'accord / en désaccord avec cette déclaration?
- existe-t-il des exemples en ligne de meilleures approches pour le développement d'applications Web à l'aide de l'API ArcGIS Server JS?
la source
Réponses:
Je conviens avec Moyles que les échantillons ne sont que des échantillons et que la plaque bouillante dojo est une excellente ressource, mais la plaque chauffante snovers actuelle n'est pas une solution viable. Vous disposez de deux versions différentes de dojo. L'API js actuelle utilise toujours la syntaxe classique requise de dojo 1.6.1 et ne prend pas en charge AMD. Je suis sûr qu'une nouvelle API js sera construite sur 1.7.x et comme la conversion de modules classiques dojo.defined en AMD est pour la plupart triviale, je choisirais cette route.
Si vous démarrez votre projet maintenant, je choisirais le framework côté serveur que vous souhaitez utiliser (si cela est nécessaire pour votre application. Si c'est juste une visionneuse de page unique sans exigences côté serveur, ne compliquez pas trop les choses). Il peut s'agir de rails, php, asp, peu importe. Suivez les meilleures pratiques pour votre framework / langage.
Puis, comme esri est construit sur dojo, vous chargez déjà un excellent framework js pour créer des applications web à grande échelle. Structurez votre code afin que le chargeur du dojo puisse charger vos widgets et modules avec le dojo requiert la syntaxe. Écrivez des widgets et des modules dojo, utilisez des dijits et des outils dojox si nécessaire ( 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 ). N'écrivez pas js en ligne comme le font les échantillons. Créer uncréer un profil pour optimiser tout votre code au moment de sa production.
Vous devez garder votre esri et votre code personnalisé séparés dans une certaine mesure car ils n'offrent pas la source de compilation - il est déjà construit et minifié. L'outil de construction n'aime pas tellement ça.
ÉDITER
J'ai construit un outil de grognement, esri_slurp pour télécharger l'api esri js afin que vous puissiez l'utiliser comme package dans vos applications. Cela vous permet d'exécuter la génération et d'obtenir un seul fichier.
la source
Il devrait être assez évident que les échantillons ne sont pas destinés à être des applications sérieuses: ce sont des échantillons.
Cela dit, il est beaucoup moins courant, dans le monde Internet typique, d'utiliser quelque chose comme Backbone que d'utiliser le dojo, qui est connu pour être expansif et complexe, mais souvent inutile.
Si vous pouviez décrire davantage votre objectif, il serait plus facile de faire une recommandation solide. Des trucs comme Backbone sont écrits pour des applications côté client complètes - donc si vous faites en fait la plupart de votre travail en PHP ou ASP ou nodejs, c'est moins nécessaire. Ou si vous n'avez pas besoin de plusieurs pages et vues toutes câblées, vous pouvez facilement vous en tirer avec juste jQuery, ou pas de cadre du tout.
la source
Entièrement d'accord. ESRI est une API javascript, j'ai l'impression qu'ils sont en concurrence avec ArcGIS Viewer for Flex. Les exemples ne sont rien d'autre qu'une preuve de concept selon laquelle vous pouvez utiliser leurs dijits ... Je souhaite qu'ils fournissent simplement une API javascript simple et laissent l'utilisateur décider du cadre que les gens vont utiliser comme Bing, Google, Openlayers et plusieurs autres. ..
la source
jsRevolution, le nouveau framework et outil de construction d'OmniStation, est le framework le plus robuste du marché. Il est conçu pour les déploiements à grande échelle d'applications non triviales. Je représente OmniStation. Nos clients peuvent avoir 100 ou 1000 classes, 10 voire 100 développeurs. Alors que ces clients trouveront le framework indispenable, jsRevolution est pratique pour certaines applications avec aussi peu que 25 classes.
Les nombreuses fonctionnalités de jsRevolution incluent: le chargement asynchrone, l'espace de noms sans code, la vue de code commutable par URL (du développeur au déploiement), l'héritage sans code avec la validation au moment de la construction, l'interface sans code avec la validation du temps de chargement, l'abstraction sans code (parfois appelée Mixin), la capacité pour identifier une ressource en tant que classe d'instance, Multi-Versioning (plusieurs versions de classes dans la même application - simple à exécuter), et de nombreuses autres fonctionnalités.
la source