Wie „komplex“ sollte eine JavaScript-Karte werden? Wann macht ein Plugin mehr Sinn?

8

Hintergrund:

Ein Client möchte eine alte ArcIMS-Site aktualisieren, die recht komplex ist. Es verfügt über ein Inhaltsverzeichnis, die Möglichkeit, die Symbologie im laufenden Betrieb zu ändern, die Karte zu drucken, räumliche Lesezeichen zu verwenden, den "aktiven" Layer zu identifizieren, Daten zu exportieren usw. Es ist fast wie eine Online-Version von ArcView 3.

Sie möchten ein Upgrade auf ArcGIS Server 10 durchführen und suchen nach Empfehlungen für die zu verwendenden ArcGIS Server-APIs.

Ich bin mit der ArcGIS Server-JavaScript-API am besten vertraut, daher weiß ich nicht, ob die Flex- oder Silverlight-Versionen Vorteile gegenüber der JS-API bieten.

  1. Gibt es einen Punkt der Komplexität, nach dem die JS-API keinen Sinn mehr macht und ein Plugin eine einfachere Entwicklung und eine bessere Leistung bietet?
  2. Ist es einfacher, eine komplexe Anwendung (wie oben beschrieben) mit Flex oder Silverlight zu entwickeln?
  3. Gibt es Online-Beispiele für sehr komplexe ("ArcView-ähnliche") Websites, die auf der JavaScript-API basieren?
Stephen Lead
quelle
4
Bleib bei dem, was du weißt.
Mapperz
1
Ein Plugin ist sinnvoller, wenn es etwas kann, was Javascript nicht kann. Davon abgesehen bin ich nur mit den SL- und Flex-APIs vertraut, daher kann ich sie nicht ehrlich mit der JS-API vergleichen. Von den von Ihnen aufgelisteten Dingen ist das Ändern der Symbologie das einzige, was ich nicht sicher bin, ob die JS-API dies kann (die anderen sollten trivial sein, wenn Sie mit JS vertraut sind). Wenn Sie herausfinden können, ob dies mit der JS-API einfach ist, würde ich sagen, machen Sie mit.
Michael Todd
1
@Mapperz, wenn ich das tun würde, würde ich nie etwas Neues lernen! @ Michael danke für die Tipps. Sie können einen Renderer gelten , wenn eine Feature - Layer nur (keine dynamische oder Fliesenschicht) nach Verwendung help.arcgis.com/en/webapi/javascript/arcgis/help/...
Stephen Blei
1
Kann der Client dazu gebracht werden, sich von der Einheits-App für alle zu entfernen und mehrere fokussierte Apps für bestimmte Zwecke zu verteilen?
Simon

Antworten:

4

1) Ich würde argumentieren, dass es mehr davon abhängt, was die beabsichtigten Benutzer auf der Clientseite ausführen. Wenn Sie Webanwendungen für die Verwendung in einem Unternehmensintranet erstellen, haben Sie normalerweise die Kontrolle über das Betriebssystem und die Browser, Plug-Ins usw., die die Benutzer verwenden können . Wenn Sie jedoch Benutzer im Internet ansprechen, können Sie nur statistische Annahmen treffen. Javascript ist die beste Option, um auf die meisten Plattformen abzuzielen. Wenn Sie es gewohnt sind, in einer Microsoft-Umgebung mit Visual Studio zu arbeiten und die Kontrolle über die Umgebung zu haben, würde ich empfehlen, zu Silverlight zu wechseln, da es dasselbe Programmiermodell wie WPF und WP7 hat.

2) Es hängt davon ab, wie die Anwendungen erstellt werden. Wenn Sie Code mit Best Practices usw. schreiben, ist der Code unabhängig von Sprache oder Technik leicht zu pflegen.

3) Haben Sie die ESRI- Proben überprüft , deckt sie alles ab, was Sie tun möchten? Schauen Sie sich andernfalls die Silverlight- oder Flex- Beispiele an. Bieten sie eine bessere Unterstützung für das, was Sie tun müssen?

MathiasWestin
quelle
Danke für die Tipps - macht Sinn. Betreff: Wenn ich die ESRI-Beispiele überprüfe, bin ich zuversichtlich, dass JavaScript jedes dieser Dinge einzeln ausführen kann. Weniger sicher ist, ob es alle in einer einzigen App ausführen kann. Deshalb hoffe ich, ein Beispiel einer gut geschriebenen JS-App zu finden, die komplex ist
Stephen Lead
3

Ich würde sagen, dass alles davon abhängt, was Sie am bequemsten codieren und ob Sie die verfügbare Software wie Flash Builder 4.5 haben, um eine großartige Flex-App zu erstellen. Verwenden der Flex-API. Ich würde auch berücksichtigen, wie gut die Dokumentation bei jeder Auswahl ist und wie viel Diskussion in den verschiedenen Foren für jede API erleichtert wird. Es kommt jedoch wirklich auf Ihre Präferenz an, da mit jeder Sprache alles möglich ist, wenn genügend Zeit und Geld zur Verfügung stehen, ähnlich wie bei allem anderen im Leben.

MLowry
quelle