Quali sono le differenze tra le API Web di ArcGIS (JavaScript / WPF / Silverlight / Flex)?


28

Esri offre attualmente 3 diverse API Web che possono essere scaricate liberamente.

Sono tutti uguali?

In caso contrario, quali sono i relativi punti di forza / debolezza di ciascuna di queste API?


Sarebbe bello se avessimo 3 risposte e "consentiamo" modifiche da aggiungere o espandere ogni volta che passa. Ciò viola la politica GSE?
Brad Nesom,

1
@Brad dato che si tratta di wiki della community, chiunque abbia almeno 100 rappresentanti può modificare qualsiasi post. Tuttavia, non conosco un modo per "consentire" modifiche solo a 3 post. OTOH, forse avere risposte più precise avrebbe permesso agli utenti di votare su quanto sia rilevante ogni pro o contro. Quindi forse dovrei dividere la mia risposta in 5 risposte?
Kirk Kuykendall

Li considero uguali; forse un modo migliore per rispondere è descrivere come differiscono?
mwalker

@mwalker ha accettato, il titolo è cambiato.
Kirk Kuykendall

1
Un buon riassunto delle domande e risposte sulla
Derek Swingley

Risposte:


13

Da una prospettiva di gestione totalmente astratta, le tre API sono uguali. Rappresentano il codice che viene eseguito in un browser Web, il cui scopo è quello di visualizzare i dati della mappa per un utente su Internet. È possibile creare un'applicazione di mapping significativa e di successo con qualsiasi API.

Inoltre, l'impatto di ciascuna forza / debolezza (differenza) in ciascuna API varierà a seconda del pubblico. I programmatori saranno profondamente interessati alle funzionalità del linguaggio o agli svantaggi, i tuoi utenti di rete vorranno conoscere i requisiti di larghezza di banda e i prerequisiti del server, i GIS saranno profondamente preoccupati del fatto che la mappa visualizzata sia realmente rappresentata e ai tuoi utenti finali potrebbe interessare meno di tutto ciò e vogliono solo fare qualunque cosa abbiano iniziato a fare.

Quindi, ecco alcuni elementi chiave sulle tre API:

  • Gestione delle risorse tra domini : Silverlight e Flex possono utilizzare un file "criteri tra domini" esistente sul server TARGET. Pertanto, i publisher di mappe di terze parti potrebbero concederti l'accesso. Con l'API Javascript, le richieste tra domini vengono generalmente gestite implementando una "pagina proxy" utilizzando una lingua lato server a scelta (PHP, JSP, ASP, ecc.). Questo "requisito software" non è un grosso problema per la maggior parte dei server, ma aggiunge un altro livello di complessità. Nota che non c'è nulla che ti impedisce di utilizzare la stessa pagina proxy con le API del plug-in, se la risorsa desiderata NON espone i file tra domini necessari.

  • Grafica : Silverlight e Flex consentono entrambi di disegnare facilmente pixel arbitrari sull'interfaccia utente. Anche Javascript lo consente, ma è possibile sovraccaricare rapidamente la capacità del browser senza un codice e una preparazione accurati. Allo stesso modo, operare direttamente con i formati binari o il traffico di rete può essere eseguito solo in Javascript con l'aiuto dei servizi web.

  • Ambiente di sviluppo : sono di parte qui. Silverlight è il mio preferito per lo sviluppo. l'ambiente di Visual Studio è maturo, veloce e ha un debugger di prim'ordine. Javascript è al secondo posto; gli strumenti disponibili ora sono migliori che mai e migliorano sempre, ma non possiamo mai sfuggire alla maledizione di "devi testare su tutti i browser supportati, quindi correggere quelle strane cose che accadono". L'ambiente Flex sembra antiquato e gonfio e sostanzialmente ostacola lo sviluppo.


2
è un incubo il debug di javascript! almeno per me.
George Silva,

3
@George Tra il debugger integrato di Chrome, Firebug e IE Developer Toolbar, non è poi così male come una volta.
mwalker,

9

Cons. Silverlight / WPF

  • Richiede un plugin
  • Il futuro è meno certo di javascript (HTML5)

Silverlight / WPF Pro

  • Completamente supportato da Visual Studio
  • Ha un migliore supporto multithreading (almeno rispetto al flex ).
  • Migliore supporto SOAP (il SOAP di Esri è più completo di REST).

1
Silverlight sembra avere molti vantaggi per lo sviluppatore, non tanto per un'ampia base di utenti ...
DavidF

1
@DavidF - Direi che è progettato per l'utente aziendale che ha già sharepoint, .net e tali applicazioni già installate e utilizzate da ogni macchina. Quindi distribuire oltre 20.000 macchine è relativamente facile
dassouki il

@dassouki - Buon punto, in quelle situazioni fidate che WPF XBAP ha un senso. Aggiornerò Silverlight per includere WPF.
Kirk Kuykendall

8

Immagino che tutte queste risposte siano buone ma un po 'datate. Flex e Silverlight erano sicuramente molto popolari rispetto a Javascript e alcuni potrebbero sostenere che la creazione di applicazioni utilizzando queste API sia stata davvero semplice, ma il DEFICIT PIÙ GRANDE che Flex e Silverlight hanno è che sono PLUGIN . E questa è la causa del loro annientamento.

Con l'inizio di HTML5 e Javascript come parte integrante dello sviluppo di app Web, Future è l'API Javascript. Con Adobe che ha abbandonato Flash e Silverlight 5 come ultimo aggiornamento di Microsoft, Flex e Silverlight sono ora tecnologie ridondanti.

Quindi, se stai avviando lo sviluppo di applicazioni Web GIS utilizzando le API ESRI, inizia ad apprendere l'API Javascript poiché è l'unico futuro nel prossimo futuro.


3

Le API Silverlight e Flex sono di gran lunga le API ArcGIS più popolari e hanno il vantaggio di essere plug-in del browser che offrono un'esperienza utente molto più ricca e coerente che è spesso abbastanza importante con le app Web GIS. Silverlight è probabilmente la scelta migliore se si preferisce lo sviluppo di .NET e Flex sarebbe la soluzione migliore per gli sviluppatori che preferiscono l'ambiente Adobe. Flex ha anche il vantaggio di una più ampia adozione come plug-in del browser rispetto a Silverlight.

L'API Javascript ha il vantaggio di una maggiore portata multipiattaforma poiché i plug-in del browser non sono necessari, quindi può essere utilizzato su dispositivi iOS come iPhone e iPad. Il rovescio della medaglia è che spesso puoi vedere le differenze nel comportamento delle app nei vari browser come IE, Chrome, Firebox, Safari, ecc.

Per quanto riguarda le loro caratteristiche, sono davvero molto simili, ed è quello che esri ha sempre cercato di fare con queste e sembra impegnata a continuare a mantenere una forte parità di funzionalità tra di loro. Quindi penso che questo dipenda davvero dalla forza di Flex e Silverlight quando i ricchi clienti e Javascripts raggiungono la piattaforma.


3

Esiste un visualizzatore ArcGIS per Flex .

Esiste un visualizzatore ArcGIS per Silverlight .

Ma al momento non esiste ArcGIS Viewer per Javascript supportato da Esri, né ne è pianificato uno .

Vedi domanda correlata .

"Visualizzatore" è un termine utilizzato da Esri per le app Web che consente a un utente di creare app Web di mapping senza scrivere alcun codice. In genere queste app di mappatura Web create saranno visualizzatori, ma con i componenti aggiuntivi appropriati (o widget) è possibile creare visualizzatori con funzionalità di modifica.


Probabilmente, usare ArcGIS Online con i modelli ... è in un certo senso un Visualizzatore per javascript - nessuna codifica, ti dà le funzioni di base della mappa.
awesomo,

1

Nessuno di essi supporta standard aperti, pertanto si rischia del blocco del fornitore e del rischio di perdere il proprio investimento se ESRI decide che 3 è 1 o 2 in eccesso.


1
Se Esri lo cambia, penso che il numero di versione sarebbe incrementato (è attualmente 1.0). Se costruisci uno strumento che lo implementa, perché non dovresti essere in grado di continuare ad usare quello strumento?
Derek Swingley,

2
cosa succede se [x] standard cambia? nessuno è sicuro al 100% che tutto sarà lo stesso per sempre.
George Silva,

2
@Swingley quando ArcServer11 esce e supporta solo Rest2.0 tutto il tuo lavoro è fottuto (ricordo Avenue e AML).
Ian Turton

1
Usa ancora Avenue e AMLS ...
Mapperz

1
@iant AML tools in ArcGIS 10 (Workstation) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…
Mapperz
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.