Який фреймворк найкраще надійно реалізувати, використовуючи API ArcGIS Server JS?


13

На форумі Esri користувач Метт Мойлес припустив, що підхід, який використовується у зразках Esri JS, не підходить для надійної розробки програми веб-картографування за допомогою HTML, JavaScript та CSS:

Пропонований ESRI підхід до розробки додатків javascript є давнім і застарілим. Я б не рекомендував слідкувати за зразками. Dojo 1.7 підтримує AMD з асинхронним завантаженням залежності. Я б почав із шаблону котла доджо і "працював" на аркгіз-апі. Зразки не підходять для серйозних розробників додатків. Вони здебільшого є лише доказом фрагментів концепції.

Потрібно розробити серйозну програму за допомогою якихось рамок, які допомагають структурувати речі. Я використовую dojox.mvc з великим успіхом! Але інші варіанти включають такі речі, як backbone.js, spine.js або навіть JavaScript MVC.

Котяча плита Dojo - https://github.com/csnover/dojo-boilerplate

  • хтось погоджується / не погоджується з цим твердженням?
  • Чи є в Інтернеті приклади кращих підходів до розробки веб-додатків за допомогою API ArcGIS Server JS?

1
так, dojo 1.7 використовує AMD, але остання програма esri js api побудована на версії dojo 1.6.1, а пакети / модулі шарів, які вони обслуговують або ви можете завантажити, не у форматі AMD. Тому це не буде просто працювати. Завантажити js api (dojo 1.6.1) та dojo 1.7 здається нерозумним лише для використання AMD
Стів

Щойно я помітив, що в цьому році на саміті Esri Developer є сесія на backbone.js .
Стівен Ведучий

Я зіткнувся з проблемою, використовуючи останню котельну плиту доджо. Я повернувся до пакета котлів 1.6.1, оскільки саме це підтримує esri. ESRI буде пробувати проблеми. випустити версію API для AMD для dojo 2.0. Ось проект котла, який я використав blog.rebeccamurphey.com/a-dojo-boilerplate (Matt Moyles)
dubvfan87

Відповіді:


10

Я погодився би з Мойлесом, що зразки - це просто зразки, а шахта доджо - чудовий ресурс, проте в даний час котлован для сноверсів не є прийнятним рішенням. У вас є дві різні версії доджо. Поточний js api все ще використовує класичний синтаксис dojo 1.6.1 і не підтримує AMD. Я впевнений, що новіший js api буде побудований на 1.7.x, а оскільки перетворення класичних модулів, визначених dojo.defined в AMD, є переважно тривіальним, я б обрав цей маршрут.

Якщо ви починаєте свій проект в даний час , то я б вибрав те , що на стороні сервера рамки ви хочете використовувати (якщо це необхідно для вашого застосування. Якщо його тільки один глядач сторінки без будь - яких вимог на стороні сервера , то не більше ніж ускладнювати). Це можуть бути рейки, php, asp, що завгодно. Дотримуйтесь кращих практик для вашої основи / мови.

Тоді, оскільки esri побудована на dojo, ви вже завантажуєте чудову js-рамку для створення масштабних веб-додатків. Структуруйте свій код, щоб завантажувач доджо міг завантажувати ваші віджети та модулі разом із доджом, потребуючи синтаксису. Напишіть віджети і модулі доджо, використовуйте інструменти dijits та dojox при необхідності ( 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 ). Не пишіть вбудовані js, як це роблять зразки. Створитистворити профіль для оптимізації всього коду, коли його час для виробництва.

Ви повинні тримати окремо визначений код esri та користувальницький код, оскільки вони не пропонують джерело для компіляції - воно вже побудоване та вдосконалене. Інструмент збирання не так любить.

EDIT

Я створив інструмент grunt, esri_slurp для завантаження esri js api, щоб ви могли використовувати його як пакет у своїх програмах. Це дозволяє запустити збірку і отримати єдиний файл.


3

Це повинно бути досить очевидним, що зразки не мають бути серйозними програмами: вони є зразками.

Однак, у типовому світі Інтернету набагато рідше використовувати щось на кшталт « Хребта», ніж використовувати доджо, яке, як відомо, є розширеним і складним, але часто непотрібним.

Якщо ви могли б детальніше описати свою мету, було б простіше зробити ґрунтовну рекомендацію. Такі речі, як Backbone, написані для повних клієнтських додатків - тому, якщо ви насправді виконуєте більшу частину роботи в PHP, ASP або nodejs, це менш потрібно. Або якщо вам не потрібно декількох сторінок і переглядів, які є всі з’єднані, ви можете легко обходитися за допомогою jQuery, або взагалі немає рамки.


1
якщо код esri побудований поверх доджо, чому б ви використовували що-небудь, крім доджо? Доджо може робити все, що може бути основою та джиквером. Ви вже завантажуєте дуже здатний фреймворк, чому б ви рекомендували завантажувати інші?
Стів

@tmcw досить справедливий, що вибірки інструменту ідентифікації не слід використовувати для розробки програми - але як щодо більш повних зразків на основі ArcGIS.com ? Чи Есрі на цьому шляху неправильний?
Стівен Ведучий

@tmcw, що стосується моєї мети, ось приклад сайту, над яким я працював, використовуючи підхід Esri Dojo. Якщо я мав би розпочати це знову завтра, чи варто це робити інакше?
Стівен Ведучий

2
@Steve так, є запис розмови тут , якщо ви зацікавлені.
Стівен Ведучий

1
@StephenLead я там був :)
Стів

-3

Повністю згоден. ESRI - це javascript api, я відчуваю, що вони конкурують з ArcGIS Viewer за Flex. Зразки - це не що інше, як просто доказ того, що як ви можете використовувати їхні діджети ... Я хотів би, щоб вони просто надавали простий чистий JavaScript JavaScript, і нехай користувач вирішує, які рамки люди використовують, як Bing, Google, Openlayers та кілька інших. ..


-4

jsRevolution, новий JavaScript Framework і інструмент побудови OmniStation, є найміцнішою комерційно доступною основою на ринку. Він призначений для масштабного розгортання нетривіальних додатків. Я представляю OmniStation. У наших клієнтів може бути 100 або 1000 занять, 10 - навіть 100 - розробників. Незважаючи на те, що ці клієнти вважають рамки незаперечними, jsRevolution практичний для певних додатків, що мають лише 25 класів.

Багато можливостей jsRevolution включають: асинхронне завантаження, безкадровий проміжок імен, перегляд URL-коду з можливістю переключення (від Dev до розгортання), безконтактне успадкування з валідацією часу побудови, безкодовий інтерфейс з валідацією часу завантаження, безкодова абстракція (іноді його називають Mixin), можливість ідентифікувати ресурс як клас екземпляра, мульти-версії (кілька версій класів в одному додатку -просте виконання) та багато інших функцій.


Привіт, Райан, ласкаво просимо на наш сайт! Я вніс незначні зміни до вашої відповіді, щоб відповідати нашій політиці щодо комерційних постів. Для отримання додаткової інформації, будь ласка, зверніться до нашого телефону . Якщо ви хочете, щоб люди контактували з вами, ви можете використовувати свій профіль користувача, щоб представити контактну інформацію.
whuber

1
Чи є у вас посилання веб-сайту ArcGIS JS API для картографування за допомогою вашої технології? Інакше ця відповідь просто надто схожа на спам.
Devdatta Tengshe
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.