Jakie są różnice między interfejsami API ArcGIS Web (JavaScript / WPF / Silverlight / Flex)?

28

Esri oferuje obecnie 3 różne internetowe interfejsy API, które można bezpłatnie pobrać.

Czy wszystkie są równe?

Jeśli nie, jakie są względne mocne / słabe strony każdego z tych API?

Kirk Kuykendall
źródło
Byłoby fajnie, gdybyśmy mieli 3 odpowiedzi i „zezwalali” na dodawanie lub rozszerzanie każdej z nich w miarę upływu czasu. Czy to narusza zasady GSE?
Brad Nesom
1
@Brad, ponieważ jest to wiki społeczności, każdy z co najmniej 100 powtórzeniami może edytować dowolny post. Nie znam jednak sposobu na „zezwalanie” na edycję tylko 3 postów. OTOH, być może posiadanie bardziej szczegółowych odpowiedzi pozwoliłoby użytkownikom głosować na to, jak trafny jest każdy profesjonalista lub oszustwo. Więc może powinienem podzielić moją odpowiedź na 5 odpowiedzi?
Kirk Kuykendall
Uważam je za równe; być może lepszym sposobem odpowiedzi jest opisanie ich różnic?
mwalker
@mwalker zgodził się, tytuł zmieniony.
Kirk Kuykendall
1
Dobre podsumowanie na konferencji użytkowników Esri w 2011 r. Pytania i odpowiedzi: events.esri.com/uc/QandA/…
Derek Swingley,

Odpowiedzi:

13

Z całkowicie abstrakcyjnego punktu widzenia zarządzania trzy interfejsy API są równe. Reprezentują kod działający w przeglądarce internetowej, którego celem jest wyświetlanie danych mapy użytkownikowi w Internecie. Możesz stworzyć udaną, znaczącą aplikację do mapowania z dowolnym interfejsem API.

Ponadto wpływ każdej siły / słabości (różnicy) w każdym interfejsie API będzie różny w zależności od odbiorców. Programiści będą bardzo zainteresowani funkcjami językowymi lub wadami, twoi ludzie w sieci będą chcieli poznać wymagania dotyczące przepustowości i wymagania wstępne dla serwerów, ludzie z GIS będą głęboko zaniepokojeni faktem, że wyświetlana mapa jest naprawdę renderowana, a twoi użytkownicy końcowi mogą mniej obchodzić to wszystko i po prostu chcę robić cokolwiek oni zaczęli.

Oto kilka kluczowych elementów dotyczących trzech interfejsów API:

  • Obsługa zasobów między domenami : Silverlight i Flex mogą korzystać z pliku „zasady domeny międzydomenowej”, który istnieje na serwerze TARGET. Tak więc zewnętrzni wydawcy map mogą przyznać ci do nich dostęp. Dzięki JavaScript API żądania między domenami są zwykle obsługiwane przez implementację „strony proxy” przy użyciu wybranego przez użytkownika języka (PHP, JSP, ASP itp.). To „miękkie wymaganie” nie jest dużym problemem dla większości serwerów, ale dodaje kolejną warstwę złożoności. Pamiętaj, że nic nie stoi na przeszkodzie, abyś korzystał z tej samej strony proxy z interfejsami API wtyczek, gdyby żądany zasób NIE ujawniał niezbędnych plików między domenami.

  • Grafika : Silverlight i Flex pozwalają na łatwe malowanie dowolnych pikseli na interfejsie użytkownika. Javascript także pozwala na to, ale możesz szybko przeciążać pojemność przeglądarki bez starannego kodu i przygotowania. Podobnie bezpośrednia obsługa formatów binarnych lub ruchu sieciowego może odbywać się wyłącznie w JavaScript za pomocą usług sieciowych.

  • Środowisko programistyczne : jestem tutaj stronniczy. Silverlight to mój ulubiony programista. środowisko Visual Studio jest dojrzałe, szybkie i ma doskonały debugger. Javascript zajmuje drugie miejsce; narzędzia dostępne teraz są lepsze niż kiedykolwiek i zawsze się poprawiają, ale nigdy nie możemy uniknąć przekleństwa „musisz przetestować na wszystkich obsługiwanych przeglądarkach, a następnie naprawić te dziwne rzeczy, które się zdarzają”. Środowisko Flex wydaje się przestarzałe i nadęte i zasadniczo utrudnia rozwój.

mwalker
źródło
2
koszmar do debugowania javascript! przynajmniej dla mnie.
George Silva,
3
@George Między wbudowanym debuggerem Chrome, Firebug, a paskiem narzędzi dla programistów IE, nie jest już tak źle, jak kiedyś.
mwalker
9

Silverlight / WPF Cons

  • Wymaga wtyczki
  • Przyszłość jest mniej pewna niż javascript (HTML5)

Silverlight / WPF Plusy

  • W pełni obsługiwane przez Visual Studio
  • Ma lepszą obsługę wielowątkowości (przynajmniej w porównaniu do flex ).
  • Lepsza obsługa SOAP (SOAP Esri jest bardziej kompletny niż REST).
Kirk Kuykendall
źródło
1
Wygląda na to, że Silverlight ma wiele zalet dla dewelopera, nie tyle dla szerokiej bazy użytkowników ...
DavidF
1
@DavidF - Powiedziałbym, że jest przeznaczony dla użytkowników korporacyjnych, którzy mają już sharepoint, .net i takie aplikacje, które są już zainstalowane i używane przez każdą maszynę. W związku z tym wdrożenie ponad 20 000 maszyn jest stosunkowo łatwe
dassouki
@dassouki - Dobrze, że w tych zaufanych sytuacjach WPF XBAP ma sens. Zaktualizuję Silverlight, aby zawierał WPF.
Kirk Kuykendall
8

Sądzę, że wszystkie te odpowiedzi są dobre, ale trochę przestarzałe. Flex i Silverlight były z pewnością bardzo popularne w porównaniu z Javascriptem i niektórzy mogą twierdzić, że tworzenie aplikacji przy użyciu tych interfejsów API było naprawdę łatwe, ale NAJWIĘKSZYM DEFICYTEM, jaki mają Flex i Silverlight, jest to, że są WTYCZKAMI . I to jest przyczyną ich anihilacji.

Wraz z pojawieniem się HTML5 i Javascript, które są integralną częścią rozwoju aplikacji internetowych, Future to JavaScript API. Ponieważ Adobe porzuca Flash i Silverlight 5 jako ostatnią aktualizację firmy Microsoft, Flex i Silverlight są teraz technologiami nadmiarowymi.

Jeśli więc zaczynasz tworzenie aplikacji Web GIS przy użyciu interfejsów API ESRI, zacznij uczyć się JavaScript API, ponieważ jest to jedyna przyszłość w najbliższej przyszłości.

Sam007
źródło
3

Silverlight i Flex API to zdecydowanie najpopularniejsze API ArcGIS i mają tę zaletę, że są wtyczkami do przeglądarek, które zapewniają znacznie bogatsze i spójniejsze wrażenia użytkownika, co jest często bardzo ważne w aplikacjach internetowych GIS. Silverlight jest prawdopodobnie najlepszym wyborem, jeśli faworyzujesz programowanie .NET, a Flex byłby najlepszy dla programistów preferujących środowisko Adobe. Zaletą Flex jest także szersze zastosowanie jako wtyczki do przeglądarki niż Silverlight.

Zaletą interfejsu API JavaScript jest większy zasięg między platformami, ponieważ wtyczki przeglądarki nie są potrzebne, więc można go używać na urządzeniach z iOS, takich jak iPhone i iPad. Minusem jest to, że często widać różnice w zachowaniu aplikacji w różnych przeglądarkach, takich jak IE, Chrome, Firebox, Safari itp.

Jeśli chodzi o ich cechy, są one bardzo podobne, co esri zawsze starało się z nimi zrobić i wydaje się być zobowiązana do dalszego utrzymywania silnej parytetu cech między nimi, idąc naprzód. Myślę więc, że tak naprawdę sprowadza się to do siły Flexa i Silverlight jako bogatych klientów i wieloplatformowego zasięgu Javascript.

wilbev
źródło
3

Dostępna jest ArcGIS Viewer dla Flex .

Dostępna jest ArcGIS Viewer dla Silverlight .

Ale obecnie nie ma ArcGIS Viewer obsługiwanego przez Esri dla Javascript, ani nie jest planowany .

Zobacz powiązane pytanie .

„Przeglądarka” jest terminem używanym przez Esri dla aplikacji internetowych, które pozwalają użytkownikowi tworzyć mapowe aplikacje internetowe bez pisania kodu. Zazwyczaj tymi utworzonymi aplikacjami do mapowania sieci będą przeglądarki, ale dzięki odpowiednim dodatkom (lub widżetom) można tworzyć przeglądarki z możliwościami edycji.

Kirk Kuykendall
źródło
Prawdopodobnie korzystanie z ArcGIS Online z szablonami ... jest w pewnym sensie przeglądarką skryptów javascript - bez kodowania, zapewnia podstawowe funkcje map.
awesomo
1

Żaden z nich nie obsługuje otwartych standardów, więc cierpisz na blokadę dostawcy i ryzyko utraty inwestycji, jeśli ESRI zdecyduje, że 3 to 1 lub 2 za dużo.

iant
źródło
1
Jeśli Esri to zmieni, myślę, że numer wersji zostanie zwiększony (obecnie wynosi 1,0). Jeśli zbudujesz narzędzie, które je zaimplementuje, dlaczego nie mógłbyś nadal używać tego narzędzia?
Derek Swingley,
2
co jeśli standardowe zmiany [x]? nikt nie jest w 100% pewien, że wszystko będzie takie samo na zawsze.
George Silva,
2
@ Swingley, gdy ArcServer11 wychodzi i obsługuje tylko Rest2.0, cała twoja praca jest zepsuta (pamiętam Avenue i AML).
Ian Turton
1
Nadal używaj Avenue i AMLS ...
Mapperz
1
Narzędzia @iant AML w ArcGIS 10 (stacja robocza) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…
Mapperz