Was sind die Unterschiede zwischen ArcGIS-Web-APIs (JavaScript / WPF / Silverlight / Flex)?

28

Esri bietet derzeit 3 ​​verschiedene Web-APIs an , die kostenlos heruntergeladen werden können.

Sind sie alle gleich?

Wenn nicht, wie lauten die relativen Stärken / Schwächen der einzelnen APIs?

Kirk Kuykendall
quelle
Es wäre cool, wenn wir drei Antworten hätten und zulassen würden, dass Änderungen im Laufe der Zeit hinzugefügt oder erweitert werden. Verstößt das gegen die GSE-Richtlinie?
Brad Nesom
1
@Brad Da dies Community-Wiki ist, kann jeder mit mindestens 100 Wiederholungen jeden Beitrag bearbeiten. Ich kenne keine Möglichkeit, Änderungen nur für 3 Posts zuzulassen. OTOH, vielleicht mit feineren Antworten würde es Benutzern ermöglichen, darüber abzustimmen, wie relevant jedes Pro oder Contra ist. Vielleicht sollte ich meine Antwort in 5 Antworten aufteilen?
Kirk Kuykendall
Ich betrachte sie als gleichwertig; Vielleicht ist eine bessere Antwort die Beschreibung, inwiefern sie sich unterscheiden.
mwalker
@mwalker stimmte zu, Titel geändert.
Kirk Kuykendall
1
Gute Zusammenfassung der Fragen und Antworten zur Esri User Conference 2011: events.esri.com/uc/QandA/…
Derek Swingley

Antworten:

13

Aus einer völlig abstrakten Managementperspektive sind die drei APIs gleich. Sie stellen Code dar, der in einem Webbrowser ausgeführt wird und dazu dient, einem Benutzer Kartendaten über das Internet anzuzeigen. Sie können mit jeder der APIs eine erfolgreiche, aussagekräftige Zuordnungsanwendung erstellen.

Darüber hinaus variiert die Auswirkung der einzelnen Stärken / Schwächen (Unterschiede) in den einzelnen APIs je nach Zielgruppe. Programmierer sind sehr an Sprachfunktionen oder Nachteilen interessiert, Ihre Netzwerkmitglieder möchten die Bandbreitenanforderungen und Servervoraussetzungen kennen, die GIS-Mitarbeiter sind zutiefst besorgt darüber, dass die angezeigte Karte wirklich gerendert wird, und Ihre Endbenutzer interessieren sich möglicherweise weniger dafür und wollen einfach tun, was immer es ist, sie haben angefangen zu tun.

Hier sind einige wichtige Punkte zu den drei APIs:

  • Domänenübergreifende Ressourcenbehandlung : Silverlight und Flex können eine domänenübergreifende Richtliniendatei verwenden, die auf dem TARGET-Server vorhanden ist. Kartenverlage von Drittanbietern gewähren Ihnen möglicherweise Zugriff auf diese. Mit der Javascript-API werden domänenübergreifende Anfragen normalerweise durch Implementierung einer "Proxy-Seite" in einer serverseitigen Sprache Ihrer Wahl (PHP, JSP, ASP usw.) bearbeitet. Diese "weiche Anforderung" ist für die meisten Server kein großes Problem, fügt jedoch eine weitere Komplexitätsebene hinzu. Beachten Sie, dass Sie durch nichts daran gehindert werden, dieselbe Proxy-Seite mit den Plug-in-APIs zu verwenden, falls Ihre gewünschte Ressource NICHT die erforderlichen domänenübergreifenden Dateien verfügbar macht.

  • Grafik : Mit Silverlight und Flex können Sie problemlos beliebige Pixel auf der Benutzeroberfläche malen. Javascript erlaubt dies auch, aber Sie können die Kapazität des Browsers ohne sorgfältigen Code und Vorbereitung schnell überlasten. Ebenso kann der Betrieb direkt mit Binärformaten oder Netzwerkverkehr nur mit Hilfe von Webdiensten in Javascript erfolgen.

  • Entwicklerumgebung : Ich bin hier voreingenommen. Silverlight ist mein Favorit für die Entwicklung. Die Visual Studio-Umgebung ist ausgereift, schnell und verfügt über einen erstklassigen Debugger. Javascript steht an zweiter Stelle; Die Tools, die jetzt verfügbar sind, sind besser als je zuvor und werden immer besser, aber wir können uns niemals dem Fluch entziehen, "Sie müssen auf allen unterstützten Browsern testen und dann die seltsamen Dinge beheben, die passieren". Die Flex-Umgebung scheint veraltet und aufgebläht zu sein und behindert grundsätzlich die Entwicklung.

Wanderer
quelle
2
Es ist ein Albtraum, Javascript zu debuggen! zumindest für mich.
George Silva
3
@George Zwischen dem in Chrome integrierten Debugger Firebug und der IE Developer Toolbar ist es nicht annähernd so schlimm wie früher.
mwalker
9

Silverlight / WPF Cons

  • Benötigt ein Plugin
  • Zukunft ist weniger sicher als Javascript (HTML5)

Silverlight / WPF Pros

  • Volle Unterstützung durch Visual Studio
  • Bessere Unterstützung für Multithreading (zumindest im Vergleich zu Flex ).
  • Bessere SOAP-Unterstützung (Esris SOAP ist vollständiger als REST).
Kirk Kuykendall
quelle
1
Silverlight scheint viele Vorteile für den Entwickler zu haben, nicht so sehr für eine breite Anwenderbasis ...
DavidF
1
@DavidF - Ich würde sagen, dass es für den Unternehmensbenutzer entwickelt wurde, auf dem Sharepoint, .net und solche Anwendungen bereits installiert sind und von jedem Computer verwendet werden. Daher ist die Bereitstellung von über 20.000 Maschinen relativ einfach
dassouki
@dassouki - Guter Punkt, in diesen vertrauenswürdigen Situationen sind WPF XBAPs sinnvoll. Ich werde Silverlight mit WPF aktualisieren.
Kirk Kuykendall
8

Ich denke, all diese Antworten sind gut, aber etwas veraltet. Flex und Silverlight waren sicherlich sehr beliebt im Vergleich zu Javascript und einige vielleicht , dass Bauantrag mit Hilfe dieser APIs argumentieren wirklich einfach war, aber das größte Defizit , dass Flex und Silverlight haben ist , dass sie PLUGINS . Und das ist der Grund für ihre Vernichtung.

Mit dem Einsetzen von HTML5 und Javascript als festem Bestandteil der Web-App-Entwicklung ist die Future Javascript API. Da Adobe Flash und Silverlight 5 als letztes Update von Microsoft aufgibt, sind Flex und Silverlight nun redundante Technologien.

Wenn Sie also mit der Entwicklung von Web-GIS-Anwendungen mithilfe der ESRI-APIs beginnen, lernen Sie die JavaScript-API kennen, da dies in naher Zukunft die einzige Zukunft ist.

Sam007
quelle
3

Die Silverlight- und Flex-APIs sind bei weitem die beliebtesten ArcGIS-APIs und haben den Vorteil, dass sie Browser-Plug-Ins sind, die eine viel umfassendere und konsistentere Benutzererfahrung bieten, was bei GIS-Webanwendungen oftmals sehr wichtig ist. Silverlight ist wahrscheinlich die beste Wahl, wenn Sie die .NET-Entwicklung bevorzugen, und Flex ist die beste Wahl für Entwickler, die die Adobe-Umgebung bevorzugen. Flex bietet außerdem den Vorteil einer breiteren Akzeptanz als Browser-Plug-In als Silverlight.

Die Javascript-API bietet den Vorteil einer größeren plattformübergreifenden Reichweite, da die Browser-Plugins nicht benötigt werden und daher auf iOS-Geräten wie iPhone und iPad verwendet werden können. Der Nachteil ist, dass Sie häufig Unterschiede im Verhalten der Apps in den verschiedenen Browsern wie IE, Chrome, Firebox, Safari usw. feststellen können.

Was ihre Merkmale angeht, sind sie sich sehr ähnlich, was esri immer versucht hat, und es scheint, dass es weiterhin eine starke Feature-Parität zwischen ihnen aufrechterhält. Ich denke also, dass es wirklich auf die Stärke von Flex und Silverlight ankommt, da Rich Clients und Javascripts plattformübergreifend erreichbar sind.

Wilbev
quelle
3

Es gibt einen ArcGIS Viewer für Flex .

Es gibt einen ArcGIS Viewer für Silverlight .

Derzeit ist jedoch noch kein von Esri unterstützter ArcGIS Viewer für Javascript geplant .

Siehe verwandte Frage .

"Viewer" ist ein Begriff, den Esri für Web-Apps verwendet, mit denen ein Benutzer Mapping-Web-Apps erstellen kann, ohne Code schreiben zu müssen. In der Regel handelt es sich bei diesen erstellten Web-Mapping-Apps um Viewer. Mit den entsprechenden Add-Ins (oder Widgets) können Viewer mit Bearbeitungsfunktionen erstellt werden.

Kirk Kuykendall
quelle
Die Verwendung von ArcGIS Online mit Vorlagen ... ist in gewisser Weise ein Viewer für JavaScript. Ohne Codierung erhalten Sie grundlegende Kartenfunktionen.
Awesomo
1

Keiner von ihnen unterstützt offene Standards, sodass Sie unter einer Lieferantenbindung und dem Risiko leiden , Ihre Investition zu verlieren, wenn ESRI feststellt, dass 3 1 oder 2 zu viel ist.

iant
quelle
1
Wenn Esri es ändert, würde ich denken, dass die Versionsnummer erhöht wird (es ist zZ 1.0). Wenn Sie ein Tool erstellen, das es implementiert, warum können Sie dieses Tool dann nicht weiter verwenden?
Derek Swingley
2
Was ist, wenn sich [x] Standard ändert? niemand ist sich zu 100% sicher, dass alles für immer dasselbe sein wird.
George Silva
2
@Swingley, wenn ArcServer11 herauskommt und nur Rest2.0 unterstützt, sind alle Ihre Arbeiten erledigt (ich erinnere mich an Avenue und AML).
Ian Turton
1
Verwenden Sie noch Avenue und AMLS ...
Mapperz
1
@iant AML-Tools in ArcGIS 10 (Workstation) help.arcgis.com/de/arcgisdesktop/10.0/help/index.html#//…
Mapperz