Selama di forum Esri , pengguna Matt Moyles menyarankan bahwa pendekatan yang digunakan dalam sampel Esri JS tidak cocok untuk pengembangan yang kuat dari aplikasi pemetaan web menggunakan HTML, JavaScript dan CSS:
Pendekatan yang disarankan ESRI untuk pengembangan aplikasi javascript sudah kuno dan ketinggalan zaman. Saya tidak akan merekomendasikan mengikuti sampel. Dojo 1.7 mendukung AMD dengan memuat ketergantungan Asynchronous. Saya akan mulai dengan template dojo boilerplate dan "bekerja" api arcgis ke dalamnya. Sampel tidak cocok untuk pengembang aplikasi yang serius. Mereka kebanyakan hanya bukti cuplikan konsep.
Aplikasi serius harus dikembangkan dengan bantuan semacam kerangka kerja untuk membantu menyusun berbagai hal. Saya telah menggunakan dojox.mvc dengan sangat sukses! Tetapi opsi lain termasuk hal-hal seperti backbone.js, spine.js, atau bahkan javascript MVC.
Dojo Boilerplate - https://github.com/csnover/dojo-boilerplate
- apakah ada yang setuju / tidak setuju dengan pernyataan ini?
- Adakah contoh online dari pendekatan yang lebih baik untuk pengembangan aplikasi web menggunakan ArcGIS Server JS API?
sumber
Jawaban:
Saya setuju dengan Moyles bahwa sampel hanya sampel dan dojo boileplate adalah sumber yang bagus namun pada saat ini snplate boilerplate bukan solusi yang layak. Anda memiliki dua versi dojo yang berbeda di sana. Js api saat ini masih menggunakan klasik memerlukan sintaks dojo 1.6.1 dan tidak mendukung AMD. Saya yakin bahwa js api yang lebih baru akan dibangun pada 1.7.x dan karena mengkonversi modul dojo.defined klasik ke AMD sebagian besar sepele saya akan memilih rute itu.
Jika Anda memulai proyek Anda sekarang maka saya akan memilih kerangka sisi server apa pun yang ingin Anda gunakan (jika diperlukan untuk aplikasi Anda. Jika hanya satu halaman penampil tanpa persyaratan sisi server maka jangan terlalu rumit). Bisa jadi rel, php, asp, apa pun. Ikuti praktik terbaik untuk kerangka / bahasa Anda.
Kemudian karena esri dibangun di atas dojo, Anda sudah memuat kerangka js yang bagus untuk membuat aplikasi web skala besar. Struktur kode Anda sehingga loader dojo dapat memuat widget dan modul Anda dengan dojo memerlukan sintaksis. Tuliskan widget dan modul dojo, gunakan dijit dan alat dojox bila perlu ( 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 ). Jangan menulis inline js seperti sampel. Membuatbuat profil untuk mengoptimalkan semua kode Anda ketika saatnya diproduksi.
Anda harus menjaga kode esri dan kustom Anda terpisah pada tingkat tertentu karena mereka tidak menawarkan sumber untuk dikompilasi - itu sudah dibangun dan diperkecil. Alat build tidak begitu menyukainya.
EDIT
Saya membuat alat kasar, esri_slurp untuk mengunduh esri js api sehingga Anda dapat menggunakannya sebagai paket di aplikasi Anda. Ini memungkinkan Anda untuk menjalankan build dan mendapatkan satu file.
sumber
Seharusnya cukup jelas bahwa sampel tidak dimaksudkan untuk menjadi aplikasi serius: mereka sampel.
Yang mengatakan, itu jauh lebih umum, di dunia internet yang khas, untuk menggunakan sesuatu seperti Backbone daripada menggunakan dojo, yang dikenal ekspansif dan kompleks, tetapi seringkali tidak perlu.
Jika Anda dapat lebih mendeskripsikan tujuan Anda, akan lebih mudah untuk membuat rekomendasi yang solid. Hal-hal seperti Backbone ditulis untuk aplikasi sisi klien lengkap - jadi jika Anda benar-benar melakukan sebagian besar pekerjaan Anda di PHP atau ASP atau nodejs, itu kurang perlu. Atau jika Anda tidak membutuhkan banyak halaman dan tampilan semua terhubung, Anda dapat dengan mudah bertahan hanya dengan jQuery, atau tidak ada kerangka sama sekali.
sumber
Setuju. ESRI adalah javascript api, saya merasa mereka bersaing dengan ArcGIS Viewer untuk Flex. Sampel hanyalah bukti konsep bahwa bagaimana Anda dapat menggunakan dijit mereka ... Saya berharap mereka hanya menyediakan API javascript murni sederhana, dan biarkan pengguna memutuskan kerangka kerja yang akan digunakan orang seperti Bing, Google, Openlayers dan beberapa lainnya. ..
sumber
jsRevolution, Kerangka JavaScript dan Alat Bangun baru OmniStation, adalah kerangka kerja yang tersedia paling kuat di pasaran. Ini dirancang untuk penyebaran aplikasi non-sepele skala besar. Saya mewakili OmniStation. Klien kami mungkin memiliki 100-an atau 1000-an kelas, 10 bahkan 100-an pengembang. Sementara klien-klien ini akan menemukan kerangka kerja tidak bisa ditembus, jsRevolution praktis untuk aplikasi tertentu dengan sedikitnya 25 kelas.
Banyak fitur jsRevolution meliputi: Asynchronous Loading, Codeless Namespacing, URL Switchable Code View (dari Dev to Deploy), Codeless Inheritance dengan build-time validation, Codeless Interface dengan load-time validation, Abstraksi Codeless (kadang-kadang disebut sebagai Mixin), kemampuan untuk mengidentifikasi sumber daya sebagai instance instance, Multi-Versioning (beberapa versi kelas dalam aplikasi yang sama -sederhana untuk dieksekusi), dan banyak fitur lainnya.
sumber