ArcGIS Web API'leri (JavaScript / WPF / Silverlight / Flex) arasındaki farklar nelerdir?


28

Esri şu anda ücretsiz olarak indirilebilecek 3 farklı web API'sı sunuyor .

Hepsi eşit mi?

Değilse, bu API'lerin her birinin göreceli güçlü yönleri / zayıf yönleri nelerdir?


3 yanıtımız olsaydı ve zaman geçtikçe her birini ekleme veya genişletme için "izin verme" düzenlemeleri yapmamız harika olurdu. Bu GSE politikasını ihlal ediyor mu?
Brad Nesom

1
@Brad bu topluluk wiki olduğundan, en az 100 temsilcisi olan herhangi bir kişi düzenleyebilir. Düzenlemelere "izin vermenin" bir yolunu bilmiyorum, ancak yalnızca 3 gönderiye yapıyorum. OTOH, belki de daha hassas ayarlanmış yanıtlara sahip olmak, kullanıcıların her bir profesyonelin veya uzmanın ne kadar alakalı olduğuna oy vermesine izin verir. Öyleyse belki de cevabımı 5 cevaba bölmeliyim?
Kirk Kuykendall

Eşit olduğunu düşünüyorum; belki de cevaplamanın daha iyi bir yolu nasıl farklı olduklarını açıklamaktır?
mwalker

@mwalker kabul etti, unvan değişti.
Kirk Kuykendall

1
2011 Esri Kullanıcı Konferansı Soru ve Cevaplarında iyi bir özet: events.esri.com/uc/QandA/…
Derek Swingley

Yanıtlar:


13

Tamamen soyut bir yönetim perspektifinden bakıldığında, üç API eşittir. Bir web tarayıcısında çalışan kodu gösterir; bunun amacı, harita verilerini internet üzerinden bir kullanıcıya görüntülemektır. API'lerin herhangi biriyle başarılı ve anlamlı bir eşleme uygulaması oluşturabilirsiniz.

Ayrıca, her bir API'daki her bir güç / zayıflık (fark) etkisi izleyiciye bağlı olarak değişecektir. Programcılar dil özellikleri veya dezavantajları ile yakından ilgilenecektir, ağınızdaki kişiler bant genişliği gereksinimlerini ve sunucu ön koşullarını bilmek isteyeceklerdir, GIS çalışanları, gösterilen haritanın gerçekten oluşturulmasından ve son kullanıcılarınızın bu konuda daha az umursayacağından endişe edecektir. ve sadece yapmaya başladıkları şeyi yapmak istiyorlar.

Öyleyse, üç API hakkında bazı önemli öğeler:

  • Etki alanları arası kaynak kullanımı : Silverlight ve Flex, TARGET sunucusunda bulunan bir "etki alanları arası politika" dosyasını kullanabilir. Bu nedenle, üçüncü taraf harita yayıncıları bunlara erişim izni verebilir. Javascript API'sinde, etki alanları arası talepler genellikle seçtiğiniz bir sunucu tarafı dili (PHP, JSP, ASP, vb.) Kullanılarak bir "proxy sayfası" uygulanarak gerçekleştirilir. Bu "yumuşak gereksinim" çoğu sunucu için büyük bir sorun değildir, ancak başka bir karmaşıklık katmanı ekler. Eklenti API'leri ile aynı proxy sayfasını kullanmanızı engelleyen hiçbir şey olmadığını, istediğiniz kaynağın gerekli etki alanları arası dosyaları göstermemesi gerektiğini unutmayın.

  • Grafikler : Silverlight ve Flex, kullanıcı arabiriminde rastgele pikselleri kolayca çizmenize olanak sağlar. Javascript de buna izin verir, ancak dikkatli bir kod ve hazırlık yapmadan tarayıcının kapasitesini aşırı yükleyebilirsiniz. Benzer şekilde, doğrudan ikili formatlarla veya ağ trafiğiyle çalışmak, yalnızca web servisleri yardımıyla Javascript'te yapılabilir.

  • Geliştirici Ortamı : Burada önyargılıyım. Silverlight geliştirmek için en sevdiğim şey. Visual Studio ortamı olgun, hızlı ve birinci sınıf bir hata ayıklayıcıya sahip. Javascript ikinci sırada geliyor; şu anda mevcut olan araçlar her zamankinden daha iyi ve her zaman geliştiriliyor, ancak "desteklenen tüm tarayıcılarda test etmelisiniz, sonra olan garip şeyleri düzeltin" lanetinden asla kaçamayız. Flex ortamı antika ve şişkin görünüyor ve temel olarak gelişmeyi engelliyor.


2
javascript hata ayıklamak için onun bir kabus! en azından benim için.
George Silva

3
@George Chrome'un yerleşik hata ayıklayıcısı Firebug ve IE Geliştirici Araç Çubuğu arasında, eskiden olduğu kadar kötü değil.
mwalker

9

Silverlight / WPF Eksileri

  • Bir eklenti gerektirir
  • Gelecek javascript'ten daha az kesin (HTML5)

Silverlight / WPF Uzmanları

  • Tamamen Visual Studio tarafından desteklenir
  • Daha iyi çok iş parçacığı desteğine sahiptir (en azından esnekliğe kıyasla ).
  • Daha iyi SOAP desteği (Esri'nin SOAP'ı REST'ten daha eksiksizdir).

1
Silverlight, geliştirici için pek çok avantaja sahip gibi görünüyor, geniş bir kullanıcı tabanı için pek fazla bir şey değil ...
DavidF

1
@DavidF - Sharepoint, .net ve zaten her makine tarafından yüklenmiş ve kullanılmış uygulamalar olan kurumsal kullanıcılar için tasarlandığını söyleyebilirim. Bu yüzden 20.000'den fazla makineye kurulum oldukça kolaydır
dassouki

@dassouki - İyi bir nokta, bu güvenilir durumlarda WPF XBAP'ler mantıklı. Silverlight'ı WPF'yi içerecek şekilde güncelleyeceğim.
Kirk Kuykendall

8

Sanırım tüm bu cevaplar güzel ama biraz eskimiş. Flex ve Silverlight, Javascript ile kıyaslandığında kesinlikle çok popülerdi ve bazıları, bu API'leri kullanan Uygulama oluşturma işleminin gerçekten kolay olduğunu iddia edebilir, ancak Flex ve Silverlight'ın sahip oldukları BÜYÜK HESABI PLUGINS'dir . Ve bu onların yok edilmesinin nedeni.

HTML5 ve Javascript'in başlangıcı Web Uygulama geliştirmesinin ayrılmaz bir parçası olduğu için Gelecek Javascript API'sidir. Adobe'nin Flash ve Silverlight 5'i Microsoft'un son güncellemesi olarak bırakması ile birlikte Flex ve Silverlight artık gereksiz teknolojiler.

Bu nedenle, ESRI API'lerini kullanarak Web GIS Uygulaması geliştirmeye başlıyorsanız, yakın Gelecekteki tek gelecek olan Javascript API'sini öğrenmeye başlayın.


3

Silverlight ve Flex API'leri şu ana kadar en popüler ArcGIS API'leridir ve genellikle GIS web uygulamalarında oldukça önemli olan daha zengin ve tutarlı bir kullanıcı deneyimi sağlayan tarayıcı eklentileri olma avantajına sahiptir. .NET geliştirmeyi tercih ediyorsanız Silverlight muhtemelen en iyi seçimdir ve Flex, Adobe ortamını tercih eden geliştiriciler için en iyisidir. Flex, bir tarayıcı eklentisi olarak Silverlight’tan daha geniş bir kullanım alanı edinme avantajına da sahiptir.

Javascript API, daha fazla platformlar arası erişim avantajına sahiptir, çünkü tarayıcı eklentisine ihtiyaç duyulmaz, bu yüzden iPhone ve iPad gibi iOS cihazlarında kullanılabilir. Dezavantajı, IE, Chrome, Firebox, Safari, vb. Gibi çeşitli tarayıcılarda uygulamaların davranış şeklindeki farklılıkları görebilmenizdir.

Nitelikleri kadarıyla gerçekten çok benzerler; bu esri'nin bununla her zaman yapmaya çalıştığı şeydi ve aralarında ileriye doğru güçlü özellik paritesini korumaya devam etmeye kararlı görünüyor. Bu yüzden gerçekten Flex'in ve Silverlight'ın zengin müşteriler ve Javascripti platformlar arası ulaşma gücü ile ilgili olduğunu düşünüyorum.


3

Flex için bir ArcGIS Görüntüleyici var .

Silverlight için bir ArcGIS Görüntüleyicisi var .

Ancak, şu anda Javascript için Esri destekli ArcGIS Viewer yoktur ve planlanmamıştır .

İlgili soruya bakınız .

"Viewer", Esri'nin, kullanıcının herhangi bir kod yazmadan eşleme web uygulamaları oluşturmasını sağlayan web uygulamaları için kullandığı bir terimdir. Genellikle bu oluşturulan web haritalama uygulamaları izleyiciler olacaktır, ancak uygun eklentilerle (veya widget'larla) düzenleme yeteneklerine sahip izleyiciler oluşturmak mümkündür.


Muhtemelen, ArcGIS Online'ı şablonlarla kullanmak ... bir anlamda javascript için bir Viewer'dır - kodlama yok, size temel harita fonksiyonlarını verir.
awesomo,

1

Bunların hiçbiri açık standartları desteklemediğinden , ESRI’nin 3’ün 1 veya 2’nin çok fazla olduğuna karar vermesi durumunda , satıcıya kilitlenmeniz ve yatırımınızı kaybetmeniz riski vardır.


1
Esri değiştirirse, sürüm numarasının artırılacağını düşünürdüm (şu anda 1.0). Bunu uygulayan bir araç yaparsanız, neden bu aracı kullanmaya devam edemiyorsunuz?
Derek Swingley

2
ya [x] standart değişerse? hiç kimse% 100 sonsuza dek aynı olacağından emin değil.
George Silva

2
ArcServer11 çıktığında ve sadece Rest2.0'ı desteklediğinde @ Swingley tüm işleriniz berbat durumda (Avenue ve AML'yi hatırlıyorum).
Ian Turton

1
Yine Bulvarı ve AMLS ... kullanmak
Mapperz

1
ArcGIS 10'da @iant AML araçları (İş İstasyonu) help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//...
Mapperz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.