ArcGIS Server JS API kullanarak bir uygulamayı sağlam bir şekilde uygulamak için en iyi çerçeve hangisidir?


13

Aşırı üzerinde Esri forumu , kullanıcı Matt Moyles Esri JS örneklerinde kullanılan yaklaşım HTML, JavaScript ve CSS kullanarak bir web haritalama uygulaması sağlam gelişimi için uygun olmadığını öne:

ESRI'nin javascript uygulama geliştirmeye yönelik önerilen yaklaşımı eski ve modası geçmiş. Ben örnekleri takip tavsiye etmem. Dojo 1.7, Asenkron bağımlılık yüklemeli AMD'yi destekler. Ben dojo demirbaş şablonu ile başlar ve bunu arcgis api "çalışmak". Örnekler ciddi uygulama geliştiricileri için uygun değildir. Çoğunlukla sadece konsept snippet'lerinin kanıtıdır.

Bazı şeyleri yapılandırmaya yardımcı olacak bir çerçeve yardımıyla ciddi bir uygulama geliştirilmelidir. Dojox.mvc'i büyük bir başarıyla kullanıyorum! Ancak diğer seçenekler arasında backbone.js, spine.js ve hatta javascript MVC gibi şeyler bulunur.

Dojo Boilerplate - https://github.com/csnover/dojo-boilerplate

  • kimse bu ifadeye katılıyor / katılmıyor mu?
  • Server JS API'sini kullanarak web uygulaması geliştirmeye daha iyi yaklaşımların çevrimiçi örnekleri var mı?

1
evet dojo 1.7 AMD kullanıyor ancak en son esri js api dojo 1.6.1 üzerine kurulu ve hizmet ettikleri veya indirebileceğiniz katman paketleri / modülleri AMD formatında değil. Bu nedenle sadece işe yaramaz. Sadece AMD'yi kullanmak için js api (dojo 1.6.1) ve dojo 1.7'yi yüklemek aptalca görünüyor
Steve

Sadece bu yıl Esri Geliştirici Zirvesi'nde backbone.js'de bir oturum olduğunu fark ettim .
Stephen Lead

En son dojo boyler plakasını kullanarak sorun yaşadım. Esri'nin desteklediği şey 1.6.1 bir kazan plakasına geri döndüm. ESRI sorunu çözecektir. dojo 2.0 için API'larının AMD sürümünü yayınladı. İşte blog.rebeccamurphey.com/a-dojo-boilerplate (Matt Moyles)
dubvfan87

Yanıtlar:


10

Moyles ile örneklerin sadece örnek olduğunu ve dojo boileplate'in harika bir kaynak olduğunu kabul ediyorum, ancak şu anki snover'larda kazan plakası uygun bir çözüm değil. Orada dojo'nun iki farklı versiyonu var. Mevcut js api hala dojo 1.6.1 klasik gerektiren sözdizimini kullanır ve AMD'yi desteklemez. Eminim yeni bir js api 1.7.x üzerine inşa edilecek ve klasik dojo.defined modülleri AMD'ye dönüştürmek çoğunlukla önemsiz olduğundan bu yolu seçerim.

Projenize şimdi başlıyorsanız, kullanmak istediğiniz sunucu tarafı çerçevesini seçerim (uygulamanız için gerekliyse. Sunucu tarafı gereksinimleri olmayan tek bir sayfa görüntüleyicisi ise, karmaşık şeyleri aşmayın). Raylar, php, asp, her neyse olabilir. Çerçeveniz / diliniz için en iyi uygulamaları takip edin.

Daha sonra esri dojo üzerine kurulduğundan, zaten büyük ölçekli web uygulamaları oluşturmak için harika bir js çerçevesi yüklüyorsunuz. Kodunuzu, dojo'nun yükleyicisinin widget'larınızı ve modüllerinizi dojo gerektiren sözdizimi ile yükleyebileceği şekilde yapılandırın. Dojo widget'ları ve modülleri yazın, gerektiğinde dijits ve dojox araçlarını kullanın ( http://dojotoolkit.org/documentation/tutorials/1.6/declare , http://dojotoolkit.org/documentation/tutorials/1.6/recipes/custom_widget/ , http : //dojotoolkit.org/documentation/tutorials/1.6/understanding_widget , http://dojotoolkit.org/documentation/tutorials/1.6/templated , http://dojotoolkit.org/documentation/tutorials/1.6/cdn ). Örnekler gibi satır içi js yazmayın. Oluşturmaküretim zamanı geldiğinde tüm kodunuzu optimize etmek için profil oluşturun .

Esri ve özel kodunuzu belirli bir dereceye kadar ayrı tutmalısınız çünkü derleme için kaynak sunmuyorlar - zaten oluşturulmuş ve küçültülmüş. İnşa aracı bundan pek hoşlanmıyor.

DÜZENLE

Esri js api'yi indirmek için bir homurdanma aracı, esri_slurp yaptım , böylece uygulamalarınızda bir paket olarak kullanabilirsiniz. Bu, derlemeyi çalıştırmanıza ve tek bir dosya almanıza olanak tanır.


3

Örneklerin ciddi uygulamalar olmadığı açıktır: bunlar örneklerdir.

Bununla birlikte, tipik internet dünyasında, geniş ve karmaşık olduğu bilinen, ancak genellikle gereksiz olan dojo kullanmaktan ziyade Omurga gibi bir şey kullanmak çok daha az yaygındır .

Hedefinizi daha iyi açıklayabilirseniz, sağlam bir öneri yapmak daha kolay olurdu. Backbone gibi şeyler tam istemci tarafı uygulamalar için yazılmıştır - bu yüzden işinizin çoğunu PHP veya ASP veya nodejs'de yapıyorsanız, daha az gereklidir. Veya birden çok sayfaya ve kablolu görünümlere ihtiyacınız yoksa, sadece jQuery ile kolayca başa çıkabilir veya hiç bir çerçeve kullanamazsınız.


1
esri kodu dojo üzerine kurulmuşsa neden dojo'dan başka bir şey kullanasınız? Dojo omurga ve jquery her şeyi yapabilir. Zaten çok yetenekli bir çerçeve yüklüyorsunuz, neden başka bir çerçeve yüklemenizi öneriyorsunuz?
Steve

@tmcw , uygulama geliştirmek için tanımlama aracı örneğinin kullanılmaması gerektiği kadar adil - ama daha eksiksiz ArcGIS.com tabanlı örnekler ne olacak ? Esri bunlarla yanlış yolda mı?
Stephen Lead

@tmcw benim objektif gelince, burada ben Esri Dojo yaklaşımını kullanarak, üzerinde çalıştığı bir sitenin bir örnektir. Yarın tekrar başlayacak olsaydım, farklı mı yapmalıyım?
Stephen Lead

2
@Steve evet, eğer ilgilenirsen burada konuşmanın bir kaydı var .
Stephen Lead

1
@StephenLead oradaydım :)
Steve

-3

Tamamen katılıyorum. ESRI javascript api, onlar ArcGIS Viewer for Flex ile rekabet gibi hissediyorum. Örnekler, dijitlerini nasıl kullanabileceğinizin sadece bir kanıtı değildir ... Keşke sadece basit bir saf javascript API'sı sağlamanızı ve kullanıcıların Bing, Google, Openlayers ve diğerleri gibi hangi çerçevelerin kullanacağına karar vermelerini diliyorum. ..


-4

OmniStation'ın yeni JavaScript Çerçevesi ve Oluşturma Aracı olan jsRevolution, piyasadaki en sağlam ticari olarak kullanılabilir çerçevedir. Önemsiz uygulamaların büyük ölçekli dağıtımları için tasarlanmıştır. OmniStation'ı temsil ediyorum. Müşterilerimiz 100'lü veya 1000'li sınıflara, 10'lu hatta 100'lü geliştiriciye sahip olabilir. Bu istemciler çerçeveyi vazgeçilmez bulabilirken, jsRevolution en az 25 sınıfı olan bazı uygulamalar için pratiktir.

jsRevolution'ın birçok özelliği şunlardır: Eşzamansız Yükleme, Kodsuz Ad Alanı, URL Değiştirilebilir Kod Görünümü (Dev'den Dağıtmaya), Oluşturma zamanı doğrulamalı Kodsuz Kalıtım, Yükleme zamanı doğrulamalı Kodsuz Arabirim, Kodsuz Soyutlama (bazen Mixin olarak da anılır), yetenek kaynağı örnek sınıfı, Çoklu Sürüm Oluşturma (aynı uygulama içinde sınıfların birden çok sürümü - yürütmek için basit) ve diğer birçok özellik olarak tanımlamak için.


Merhaba Ryan, sitemize hoşgeldiniz! Ticari yayınlarla ilgili politikamıza uymak için cevabınızda küçük düzenlemeler yaptım. Daha fazla bilgi için lütfen sss . İnsanların sizinle iletişim kurmasını istiyorsanız, iletişim bilgilerinizi sunmak için kullanıcı profilinizi kullanabilirsiniz.
whuber

1
Teknolojinizi kullanarak bir ArcGIS JS API eşleme sitesi bağlantınız var mı? Aksi takdirde bu cevap spam gibi hissettirir.
Devdatta Tengshe
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.