В чем различия между ArcGIS Web API (JavaScript / WPF / Silverlight / Flex)?

28

В настоящее время Esri предлагает 3 различных веб-API, которые можно бесплатно загрузить.

Они все равны?

Если нет, каковы относительные сильные / слабые стороны каждого из этих API?

Kirk Kuykendall
источник
Было бы здорово, если бы у нас было 3 ответа и "разрешать" правки, чтобы добавлять или расширять каждый со временем. Это нарушает политику GSE?
Брэд Несом
1
@Brad, так как это вики сообщества, любой пользователь, имеющий не менее 100 представителей, может редактировать любой пост. Я не знаю, как "разрешить" редактирование только для 3 сообщений. OTOH, возможно, с более детальными ответами позволил бы пользователям голосовать, насколько уместен каждый за или против. Так, может быть, я должен разбить свой ответ на 5 ответов?
Кирк Куйкендалл
Я считаю их равными; возможно, лучший способ ответить на этот вопрос - описать, чем они отличаются?
mwalker
@mwalker согласился, название изменилось.
Кирк Кайкендалл
1
Хорошие итоги в конференции пользователей Esri 2011 года: вопросы и ответы: events.esri.com/uc/QandA/…
Дерек Суингли

Ответы:

13

С абсолютно абстрактной точки зрения управления, три API равны. Они представляют собой код, который выполняется в веб-браузере, целью которого является отображение картографических данных пользователю через Интернет. Вы можете создать успешное, значимое картографическое приложение с любым из API.

Кроме того, влияние каждой сильной / слабой стороны (разницы) в каждом API будет варьироваться в зависимости от аудитории. Программисты будут очень заинтересованы в языковых возможностях или недостатках, ваши сетевые люди захотят узнать требования к пропускной способности и предварительные условия сервера, ребята из ГИС будут глубоко обеспокоены тем, что отображаемая карта действительно отображается, и ваши конечные пользователи могут меньше заботиться обо всем этом. и просто хочу делать то, что они начали делать.

Итак, вот несколько ключевых моментов о трех API:

  • Обработка междоменных ресурсов : Silverlight и Flex могут использовать файл «междоменной политики», который существует на сервере TARGET. Таким образом, сторонние издатели карт могут предоставить вам доступ к ним. С помощью API Javascript междоменные запросы обычно обрабатываются путем реализации «прокси-страницы» с использованием языка на вашем сервере (PHP, JSP, ASP и т. Д.). Это «мягкое требование» не является большой проблемой для большинства серверов, но добавляет еще один уровень сложности. Обратите внимание, что ничто не мешает вам использовать одну и ту же страницу прокси с API плагинов, если ваш требуемый ресурс НЕ предоставляет необходимые междоменные файлы.

  • Графика : Silverlight и Flex позволяют легко рисовать произвольные пиксели в пользовательском интерфейсе. Javascript также позволяет это, но вы можете быстро перегрузить возможности браузера без некоторого тщательного кода и подготовки. Точно так же работа непосредственно с двоичными форматами или сетевым трафиком может быть сделана только в Javascript с помощью веб-сервисов.

  • Среда для разработчиков : я здесь предвзятый. Silverlight мой любимый для разработки. среда Visual Studio зрелая, быстрая и имеет первоклассный отладчик. Javascript занимает второе место; инструменты, доступные сейчас, лучше, чем когда-либо, и всегда улучшаются, но мы никогда не сможем избежать проклятия: «Вы должны протестировать все поддерживаемые браузеры, а затем исправить те странные вещи, которые происходят». Среда Flex кажется устаревшей и раздутой и в основном мешает развитию.

mwalker
источник
2
это кошмар для отладки JavaScript! по крайней мере для меня.
Джордж Сильва,
3
@ George Между встроенным отладчиком Chrome, Firebug и панелью инструментов разработчика IE, теперь все не так плохо, как раньше.
mwalker
9

Silverlight / WPF Минусы

  • Требуется плагин
  • Будущее менее определенно, чем JavaScript (HTML5)

Silverlight / WPF Pros

  • Полностью поддерживается Visual Studio
  • Имеет лучшую поддержку многопоточности (по крайней мере, по сравнению с flex ).
  • Лучшая поддержка SOAP (SOAP от Esri является более полным, чем REST).
оборота Кирк Куйкендалл
источник
1
Silverlight, похоже, имеет много преимуществ для разработчика, не так много для широкого
круга
1
@DavidF - я бы сказал, что он предназначен для корпоративного пользователя, у которого уже есть sharepoint, .net, и такие приложения, уже установленные и используемые на каждой машине. Таким образом, развертывание более 20 000 машин относительно просто
Дассоуки
@dassouki - Хорошая точка зрения, в этих надежных ситуациях имеет смысл WPF XBAP. Я обновлю Silverlight, чтобы включить WPF.
Кирк Куйкендалл
8

Я думаю, что все эти ответы хорошие, но немного устаревшие. Flex и Silverlight были, безусловно, очень популярны по сравнению с Javascript, и некоторые могут утверждать, что создание Application с использованием этих API-интерфейсов было действительно простым, но БОЛЬШОЙ НЕДОСТАТОК, который имеют Flex и Silverlight, заключается в том, что они являются PLUGINS . И это является причиной их уничтожения.

С наступлением HTML5 и Javascript является неотъемлемой частью разработки веб-приложений, Future - это Javascript API. Поскольку Adobe отказалась от Flash и Silverlight 5, являющегося последним обновлением от Microsoft, Flex и Silverlight теперь стали избыточными технологиями.

Поэтому, если вы начинаете разработку веб-ГИС-приложений с использованием API-интерфейсов ESRI, начните изучать Javascript API, поскольку это единственное будущее в ближайшем будущем.

Sam007
источник
3

API-интерфейсы Silverlight и Flex на сегодняшний день являются наиболее популярными API-интерфейсами ArcGIS и имеют преимущество в том, что они являются подключаемыми модулями браузера, которые обеспечивают более богатый и согласованный пользовательский интерфейс, что часто очень важно для веб-приложений ГИС. Silverlight - это, вероятно, лучший выбор, если вы предпочитаете разработку .NET, а Flex подойдет для разработчиков, предпочитающих среду Adobe. Flex также имеет более широкое применение в качестве подключаемого модуля браузера, чем Silverlight.

Преимущество API Javascript заключается в большей кроссплатформенности, поскольку плагин для браузера не нужен, поэтому его можно использовать в устройствах iOS, таких как iPhone и iPad. Недостатком является то, что вы часто видите различия в поведении приложений в различных браузерах, таких как IE, Chrome, Firebox, Safari и т. Д.

Что касается их характеристик, то они действительно очень похожи, и это то, что esri всегда пытался сделать с ними, и, кажется, полон решимости продолжать поддерживать четкий паритет между ними в дальнейшем. Так что я думаю, что это действительно сводится к силе Flex и Silverlight, поскольку кроссплатформенный охват богатых клиентов и Javascripts

wilbev
источник
3

Существует ArcGIS Viewer для Flex .

Существует ArcGIS Viewer для Silverlight .

Но в настоящее время нет поддерживаемого Esri ArcGIS Viewer для Javascript, и при этом он не планируется .

Смотрите связанный вопрос .

«Средство просмотра» - это термин, используемый Esri для веб-приложений, который позволяет пользователю создавать веб-приложения для отображения без написания кода. Обычно эти созданные веб-картографические приложения являются зрителями, но с соответствующими надстройками (или виджетами) можно создавать зрителей с возможностями редактирования.

оборота Кирк Куйкендалл
источник
Возможно, использование ArcGIS Online с шаблонами ... в некотором смысле является средством просмотра для javascript - без кодирования, дает вам основные функции карты.
awesomo
1

Ни один из них не поддерживает открытые стандарты, поэтому вы страдаете от привязанности к поставщику и риска потерять свои инвестиции, если ESRI решит, что 3 - это 1 или 2 слишком много.

инвариант
источник
1
Если Esri изменит его, я думаю, что номер версии будет увеличен (в настоящее время это 1.0). Если вы создадите инструмент, который его реализует, почему вы не сможете продолжать использовать этот инструмент?
Дерек Свингли
2
что если стандарт [x] изменится? никто не уверен на 100%, что все будет так же всегда.
Джордж Сильва
2
@Swingley, когда ArcServer11 выходит и поддерживает только Rest2.0, вся ваша работа испорчена (я помню Avenue и AML).
Ян Тертон
1
По-прежнему использовать авеню и AMLS ...
Mapperz
1
@iant AML tools в ArcGIS 10 (Workstation) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…
Mapperz