Quale framework è meglio implementare un'applicazione in modo affidabile, usando l'API JS di ArcGIS Server?


13

Nel forum di Esri , l'utente Matt Moyles ha suggerito che l'approccio utilizzato negli esempi di Esri JS non è adatto per lo sviluppo robusto di un'applicazione di mappatura web usando HTML, JavaScript e CSS:

L'approccio suggerito da ESRI allo sviluppo di applicazioni javascript è antico e obsoleto. Non consiglierei di seguire i campioni. Dojo 1.7 supporta AMD con caricamento asincrono di dipendenze. Vorrei iniziare con il modello di dojo boilerplate e "lavorare" in questo arcgis api. Gli esempi non sono adatti per sviluppatori di applicazioni serie. Sono per lo più solo prove di frammenti di concetto.

Un'applicazione seria dovrebbe essere sviluppata con l'aiuto di una sorta di framework per aiutare a strutturare le cose. Ho usato dojox.mvc con grande successo! Ma altre opzioni includono cose come backbone.js, spine.js o persino MVC javascript.

Dojo Boilerplate - https://github.com/csnover/dojo-boilerplate

  • qualcuno è d'accordo / in disaccordo con questa affermazione?
  • ci sono esempi online di migliori approcci allo sviluppo di applicazioni Web usando l'API JS di ArcGIS Server?

1
sì, dojo 1.7 usa AMD ma l'ultimo esri js api è costruito sopra dojo 1.6.1 e i pacchetti / moduli di layer che servono o che puoi scaricare non sono in formato AMD. Pertanto non funzionerebbe. Sembra sciocco caricare js api (dojo 1.6.1) e dojo 1.7 solo per usare AMD
Steve

Ho appena notato che c'è una sessione su backbone.js al vertice degli sviluppatori Esri quest'anno.
Stephen Lead,

Mi sono imbattuto in problemi usando l'ultima piastra del dojo. Sono tornato a un pacchetto 1.6.1 plateplate poiché questo è ciò che esri supporta. ESRI proverà. rilasciare la versione AMD della loro API per dojo 2.0. Ecco il progetto del boilerplate che ho usato blog.rebeccamurphey.com/a-dojo-boilerplate (Matt Moyles)
dubvfan87

Risposte:


10

Concordo con Moyles sul fatto che i campioni sono solo campioni e che la piastra dojo è una grande risorsa, tuttavia al momento la piastra della caldaia non è una soluzione praticabile. Ci sono due diverse versioni di dojo in corso lì. L'attuale js api utilizza ancora la classica sintassi di dojo 1.6.1 e non supporta AMD. Sono sicuro che un js api più recente sarà costruito su 1.7.xe dato che la conversione dei moduli dojo.defined classici in AMD è per lo più banale, sceglierei quel percorso.

Se stai iniziando il tuo progetto ora , sceglierei qualsiasi framework lato server che desideri utilizzare (se è necessario per la tua applicazione. Se è solo un visualizzatore di pagine singole senza requisiti lato server, non complicare troppo le cose). Potrebbe essere rotaie, php, asp, qualunque cosa. Segui le migliori pratiche per il tuo framework / lingua.

Quindi, poiché esri è basato su dojo, state già caricando un ottimo framework js per la creazione di applicazioni Web su larga scala. Strutturare il codice in modo che il caricatore del dojo possa caricare i widget e i moduli con il dojo richiedano la sintassi. Scrivi widget e moduli dojo, usa dijits e strumenti dojox quando necessario ( 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 ). Non scrivere js in linea come fanno i campioni. Creare uncostruire un profilo per ottimizzare tutto il codice quando è il momento della produzione.

Devi mantenere il tuo esri e il tuo codice personalizzato in una certa misura perché non offrono la fonte per la compilazione - è già costruito e minimizzato. Lo strumento di compilazione non piace così tanto.

MODIFICARE

Ho creato uno strumento grugnito, esri_slurp per scaricare esri js api in modo da poterlo utilizzare come pacchetto nelle tue applicazioni. Ciò consente di eseguire la build e ottenere un singolo file.


3

Dovrebbe essere abbastanza ovvio che i campioni non sono pensati per essere applicazioni serie: sono campioni.

Detto questo, è molto meno comune, nel tipico mondo di Internet, usare qualcosa come Backbone piuttosto che usare dojo, che è noto per essere espansivo e complesso, ma spesso non necessario.

Se potessi descrivere di più il tuo obiettivo, sarebbe più facile formulare una solida raccomandazione. Roba come Backbone è scritta per applicazioni lato client complete, quindi se stai realmente facendo la maggior parte del tuo lavoro in PHP, ASP o nodejs, è meno necessario. Oppure, se non hai bisogno di più pagine e viste tutte cablate, puoi facilmente cavartela con jQuery o senza alcun framework.


1
se il codice esri è costruito sopra dojo perché dovresti usare qualcosa di diverso da dojo? Il dojo può fare tutto ciò che la spina dorsale può e jquery. Stai già caricando un framework molto capace, perché consiglieresti di caricarne altri?
Steve,

@tmcw è abbastanza equo da non utilizzare l'esempio dello strumento di identificazione per sviluppare un'applicazione, ma per quanto riguarda gli esempi più completi basati su ArcGIS.com ? Esri è sulla strada sbagliata con questi?
Stephen Lead,

@tmcw per quanto riguarda il mio obiettivo, ecco un esempio di un sito su cui ho lavorato, usando l'approccio Esri Dojo. Se dovessi ricominciare domani, dovrei farlo diversamente?
Stephen Lead,

2
@Steve sì, c'è una registrazione del discorso qui se sei interessato.
Stephen Lead,

1
@StephenLead ero lì :)
Steve

-3

Completamente d'accordo. ESRI è javascript api, mi sento in competizione con ArcGIS Viewer per Flex. I campioni non sono altro che una prova del concetto secondo cui come è possibile utilizzare i loro dijit ... Vorrei che fornissero semplicemente una semplice API javascript e consentissero all'utente di decidere quale framework utilizzare come Bing, Google, Openlayer e molti altri. ..


-4

jsRevolution, il nuovo JavaScript Framework e Build Tool di OmniStation, è il framework più solido disponibile sul mercato. È progettato per distribuzioni su larga scala di applicazioni non banali. Rappresento OmniStation. I nostri clienti possono avere 100 o 1000 di classi, 10 o addirittura 100 di sviluppatori. Mentre questi client troveranno il framework indispensabile, jsRevolution è pratico per alcune applicazioni con un minimo di 25 classi.

Le numerose funzionalità di jsRevolution includono: Caricamento asincrono, Spaziatura dei nomi senza codice, Visualizzazione del codice commutabile URL (da Dev a distribuire), Ereditarietà senza codice con convalida in tempo di costruzione, Interfaccia senza codice con convalida in tempo di caricamento, Astrazione senza codice (a volte chiamata Mixin), l'abilità per identificare una risorsa come una classe di istanza, Multi-Versioning (più versioni di classi all'interno della stessa applicazione -semplice da eseguire) e molte altre funzionalità.


Ciao Ryan, benvenuto sul nostro sito! Ho apportato modifiche minori alla tua risposta per adeguarmi alla nostra politica relativa ai messaggi commerciali. Per ulteriori informazioni, consultare la nostra FAQ . Se desideri che le persone ti contattino, puoi utilizzare il tuo profilo utente per presentare le informazioni di contatto.
whuber

1
Hai un collegamento a un sito di mappatura dell'API JS di ArcGIS che utilizza la tua tecnologia? Altrimenti questa risposta sembra troppo simile allo spam.
Devdatta Tengshe,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.