Які відмінності між веб-API ArcGIS (JavaScript / WPF / Silverlight / Flex)?


28

В даний час Esri пропонує 3 різних веб-API, які можна безкоштовно завантажити.

Чи всі вони рівні?

Якщо ні, то які відносні сильні / слабкі сторони кожного з цих API?


Було б здорово, якби у нас було 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. Отже, сторонні видавці карт можуть надавати вам доступ до них. За допомогою Javascript API, запити між доменами зазвичай обробляються шляхом впровадження «сторінки проксі» за допомогою обраної вами серверної мови (PHP, JSP, ASP тощо). Ця "м'яка вимога" не є величезною проблемою для більшості серверів, але додає ще один рівень складності. Зауважте, що ніщо не заважає вам використовувати одну і ту ж сторінку проксі з API плагінів, якщо бажаний ресурс НЕ виставлятиме необхідні міждоменні файли.

  • Графіка : Silverlight та Flex дозволяють легко малювати довільні пікселі в інтерфейсі користувача. Javascript також дозволяє це, але ви можете швидко перевантажити ємність браузера без певного коду та підготовки. Аналогічно, операція безпосередньо з бінарними форматами або мережевим трафіком може здійснюватися лише в Javascript за допомогою веб-служб.

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


2
це кошмар для налагодження javascript! принаймні для мене.
Джордж Сільва

3
@George Між вбудованим налагоджувачем Chrome, Firebug та панеллю інструментів для розробників IE це не так вже й погано, як раніше.
mwalker

9

Silverlight / WPF Мінуси

  • Потрібен плагін
  • Майбутнє менш певне, ніж JavaScript (HTML5)

Професіонали Silverlight / WPF

  • Повністю підтримується Visual Studio
  • Має кращу підтримку багатопотокових передач (принаймні порівняно з flex ).
  • Краща підтримка SOAP (SOAP Esri є більш повним, ніж REST).

1
Схоже, Silverlight має багато переваг для розробника, не стільки для широкої бази користувачів ...
DavidF

1
@DavidF - Я б сказав, що він розроблений для корпоративного користувача, який вже має sharepoint, .net та подібні програми, які вже встановлені та використовуються кожною машиною. Тож розгортання понад 20 000 машин відносно просто
dassouki

@dassouki - Добре, що в тих довірених ситуаціях WPF XBAP має сенс. Я оновлю Silverlight, щоб включити WPF.
Кірк Куйкендалл

8

Я думаю, всі ці відповіді хороші, але трохи застаріли. Flex і Silverlight, безумовно, були дуже популярними в порівнянні з Javascript, і деякі можуть стверджувати, що створити програму за допомогою цих API було дуже просто, але НАЙБІЛЬШИЙ ДЕФІЦИТ, який мають Flex і Silverlight, це те, що вони ПЛУГІНІ . І це є причиною їхнього знищення.

З появою HTML5 та Javascript, що є невід'ємною частиною розробки веб-додатків, Майбутнє - це API Javascript. Оскільки Adobe відмовилася від Flash та Silverlight 5, які були останнім оновленням Microsoft, Flex та Silverlight тепер є надлишковими технологіями.

Тож якщо ви починаєте розробку веб-програм GIS за допомогою API ESRI, починайте вивчати API JavaScript, оскільки це єдине майбутнє в найближчому майбутньому.


3

API Silverlight та Flex є на сьогоднішній день найпопулярнішими API ArcGIS і мають перевагу в тому, що вони є плагінами браузера, які забезпечують набагато більш багатий та стабільний досвід роботи користувачів, що часто є досить важливим для веб-додатків GIS. Silverlight - це, мабуть, найкращий вибір, якщо ви віддаєте перевагу розробці .NET і Flex було б найкращим для розробників, які віддають перевагу середовищу Adobe. Flex також має перевагу в більш широкому прийнятті як плагін для браузера, ніж Silverlight.

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

Що стосується їх особливостей, вони насправді дуже схожі, і це те, що esri завжди намагався зробити з ними, і, здається, прагне продовжувати зберігати сильний паритет між ними, рухаючись вперед. Тому я думаю, що це дійсно зводиться до сили Flex та Silverlight, оскільки охоплюють багаті клієнти та крос-платформи Javascripts.


3

Існує переглядач ArcGIS для Flex .

Існує переглядач ArcGIS для 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 в ArcGIS 10 (Workstation) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…
Mapperz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.