Apa perbedaan antara API Web ArcGIS (JavaScript / WPF / Silverlight / Flex)?

28

Esri saat ini menawarkan 3 API web berbeda yang dapat diunduh secara bebas.

Apakah mereka semua sama?

Jika tidak, apa kekuatan / kelemahan relatif masing-masing API ini?

Kirk Kuykendall
sumber
Alangkah baiknya jika kita memiliki 3 jawaban dan "mengizinkan" suntingan untuk menambah atau memperluas setiap seiring berjalannya waktu. Apakah itu melanggar kebijakan GSE?
Brad Nesom
1
@Brad karena ini adalah wiki komunitas, siapa pun dengan setidaknya 100 rep dapat mengedit tulisan apa pun. Saya tidak tahu cara untuk "mengizinkan" suntingan hanya untuk 3 posting. OTOH, mungkin memiliki tanggapan berbutir halus akan memungkinkan pengguna untuk memilih seberapa relevan setiap pro atau kontra. Jadi mungkin saya harus membagi jawaban saya menjadi 5 tanggapan?
Kirk Kuykendall
Saya menganggap mereka sama; mungkin cara yang lebih baik untuk menjawab adalah menggambarkan perbedaannya?
mwalker
@ walker setuju, judul berubah.
Kirk Kuykendall
1
Ringkasan yang bagus di T&J Konferensi Pengguna Esri 2011: events.esri.com/uc/QandA/…
Derek Swingley

Jawaban:

13

Dari perspektif manajemen yang sepenuhnya abstrak, ketiga API itu sama. Mereka mewakili kode yang berjalan di browser web, yang tujuannya adalah untuk menampilkan data peta ke pengguna melalui internet. Anda dapat membuat aplikasi pemetaan yang sukses dan bermakna dengan API apa pun.

Selanjutnya, dampak dari setiap kekuatan / kelemahan (perbedaan) di setiap API akan bervariasi tergantung pada audiens. Pemrogram akan sangat tertarik dengan fitur atau kekurangan bahasa, orang-orang jaringan Anda ingin mengetahui persyaratan bandwidth dan prasyarat server, orang-orang GIS akan sangat prihatin bahwa peta yang ditampilkan benar-benar dirender, dan pengguna akhir Anda tidak peduli tentang semua itu. dan hanya ingin melakukan apa pun yang mereka mulai lakukan.

Jadi, inilah beberapa item utama tentang tiga API:

  • Penanganan sumber daya lintas domain : Silverlight dan Flex dapat menggunakan file "kebijakan lintas domain" yang ada di server TARGET. Jadi, penerbit peta pihak ketiga dapat memberi Anda akses ke mereka. Dengan Javascript API, permintaan lintas-domain biasanya ditangani dengan menerapkan "halaman proksi" menggunakan bahasa sisi-server pilihan Anda (PHP, JSP, ASP, dll). "Persyaratan lunak" ini bukan masalah besar bagi sebagian besar server, tetapi menambah kompleksitas. Perhatikan bahwa tidak ada yang menghentikan Anda dari menggunakan halaman proxy yang sama dengan API plugin, jika sumber daya yang Anda inginkan TIDAK mengekspos file lintas domain yang diperlukan.

  • Grafik : Silverlight dan Flex keduanya memungkinkan Anda untuk dengan mudah mengecat piksel sewenang-wenang pada antarmuka pengguna. Javascript juga memungkinkan ini, tetapi Anda dapat dengan cepat membebani kapasitas browser tanpa kode dan persiapan yang cermat. Demikian pula, beroperasi secara langsung dengan format biner atau lalu lintas jaringan hanya dapat dilakukan dalam Javascript dengan bantuan layanan web.

  • Lingkungan Pengembang : Saya bias di sini. Silverlight adalah favorit saya untuk dikembangkan. lingkungan Visual Studio matang, cepat, dan memiliki debugger terkemuka. Javascript ada di posisi kedua; alat yang tersedia sekarang lebih baik dari sebelumnya dan selalu meningkat, tetapi kita tidak pernah bisa lepas dari kutukan "kamu harus menguji pada semua browser yang didukung, kemudian memperbaiki hal-hal aneh yang terjadi". Lingkungan Flex tampaknya kuno dan kembung, dan pada dasarnya menghambat pengembangan.

mwalker
sumber
2
itu mimpi buruk untuk men-debug javascript! setidaknya untuk saya.
George Silva
3
@ George Di antara debugger bawaan Chrome, Firebug, dan Bilah Alat Pengembang IE, ini tidak seburuk sekarang seperti dulu.
mwalker
9

Silverlight / Kekurangan WPF

  • Membutuhkan plugin
  • Masa depan kurang pasti daripada javascript (HTML5)

Silverlight / Pro WPF

  • Didukung penuh oleh Visual Studio
  • Memiliki dukungan multithreading yang lebih baik (setidaknya dibandingkan dengan flex ).
  • Dukungan SOAP yang lebih baik (SOAP Esri lebih lengkap daripada REST).
Kirk Kuykendall
sumber
1
Silverlight sepertinya memiliki banyak keuntungan untuk pengembang, tidak begitu banyak untuk basis pengguna yang luas ...
DavidF
1
@ DavidV - Saya akan mengatakan bahwa itu dirancang untuk pengguna korporat yang sudah memiliki sharepoint, .net, dan aplikasi semacam itu sudah diinstal dan digunakan oleh setiap mesin. Jadi penyebaran lebih dari 20.000 mesin relatif mudah
dassouki
@dassouki - Poin bagus, dalam situasi tepercaya itu, WPF XBAP masuk akal. Saya akan memperbarui Silverlight untuk memasukkan WPF.
Kirk Kuykendall
8

Saya kira semua jawaban ini bagus tapi sedikit ketinggalan zaman. Flex dan Silverlight pasti sangat populer dibandingkan dengan Javascript dan beberapa mungkin berpendapat bahwa membangun Aplikasi menggunakan API ini sangat mudah, tetapi DEFICIT TERBESAR yang dimiliki Flex dan Silverlight adalah mereka adalah PLUGIN . Dan itu adalah penyebab pemusnahan mereka.

Dengan dimulainya HTML5 dan Javascript menjadi bagian integral dari pengembangan Aplikasi Web, Future adalah Javascript API. Dengan Adobe meninggalkan Flash dan Silverlight 5 sebagai pembaruan terakhir oleh Microsoft, Flex dan Silverlight sekarang merupakan teknologi yang berlebihan.

Jadi jika Anda memulai pengembangan Aplikasi GIS Web menggunakan API ESRI, mulailah belajar Javascript API karena itu adalah satu-satunya masa depan dalam waktu dekat.

Sam007
sumber
3

Silverlight dan Flex API sejauh ini merupakan API ArcGIS yang paling populer dan memiliki keuntungan sebagai plug-in browser yang memberikan pengalaman pengguna yang lebih kaya dan konsisten yang seringkali cukup penting dengan aplikasi web GIS. Silverlight mungkin merupakan pilihan terbaik jika Anda mendukung pengembangan .NET dan Flex akan menjadi yang terbaik untuk pengembang yang lebih memilih lingkungan Adobe. Flex juga memiliki keunggulan adopsi yang lebih luas sebagai plug-in browser daripada Silverlight.

Javascript API memiliki keunggulan jangkauan lintas-platform yang lebih banyak karena plugin browser tidak diperlukan sehingga dapat digunakan di perangkat iOS seperti iPhone dan iPad. Kelemahannya adalah Anda sering dapat melihat perbedaan dalam cara aplikasi berperilaku di berbagai browser seperti IE, Chrome, Firebox, Safari, dll.

Sejauh fitur mereka, mereka benar-benar sangat mirip yang esri selalu coba lakukan dengan ini dan tampaknya berkomitmen untuk terus menjaga paritas fitur yang kuat di antara mereka bergerak maju. Jadi saya pikir itu benar-benar turun ke kekuatan Flex dan Silverlight sebagai klien kaya dan jangkauan lintas platform Javascripts.

wilbev
sumber
3

Ada ArcGIS Viewer untuk Flex .

Ada ArcGIS Viewer untuk Silverlight .

Tetapi saat ini tidak ada ArcGIS Viewer yang didukung Esri untuk Javascript, juga tidak ada yang direncanakan .

Lihat pertanyaan terkait .

"Penampil" adalah istilah yang digunakan Esri untuk aplikasi web yang memungkinkan pengguna untuk membuat pemetaan aplikasi web tanpa menulis kode apa pun. Biasanya aplikasi pemetaan web yang dibuat ini akan menjadi pemirsa, tetapi dengan tambahan yang sesuai (atau widget) memungkinkan untuk membuat pemirsa dengan kemampuan pengeditan.

Kirk Kuykendall
sumber
Diperdebatkan, menggunakan ArcGIS Online dengan template ... dalam arti Penampil untuk javascript - tanpa kode, memberi Anda fungsi peta dasar.
awesomo
1

Tidak satu pun dari mereka mendukung standar terbuka sehingga Anda menderita vendor terkunci dan risiko kehilangan investasi Anda jika ESRI memutuskan bahwa 3 adalah 1 atau 2 terlalu banyak.

iant
sumber
1
Jika Esri mengubahnya, saya akan berpikir nomor versi akan bertambah (saat ini 1.0). Jika Anda membuat alat yang mengimplementasikannya, mengapa Anda tidak dapat terus menggunakan alat itu?
Derek Swingley
2
bagaimana jika [x] perubahan standar? tidak ada yang yakin 100% bahwa semuanya akan sama selamanya.
George Silva
2
@Swingley ketika ArcServer11 keluar dan hanya mendukung Rest2.0 semua pekerjaan Anda kacau (saya ingat Avenue dan AML).
Ian Turton
1
Masih menggunakan Avenue dan AMLS ...
Mapperz
1
@Ali alat AML di ArcGIS 10 (Workstation) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…
Mapperz