ArcGIS Server JS API를 사용하여 애플리케이션을 강력하게 구현하는 데 가장 적합한 프레임 워크는 무엇입니까?


13

오버에 Esri는 포럼 , 사용자 매트 모일는 Esri는 JS 샘플에 사용 된 방법은 HTML, 자바 스크립트, CSS를 사용하여 웹 매핑 애플리케이션의 강력한 개발에 적합하지 않은 제안 :

자바 스크립트 응용 프로그램 개발에 대한 ESRI의 제안 된 접근 방식은 고대와 구식입니다. 나는 샘플을 따르는 것을 권장하지 않습니다. Dojo 1.7은 비동기 종속성로드가있는 AMD를 지원합니다. dojo 상용구 템플릿으로 시작하여 arcgis api를 "작업"합니다. 이 샘플은 심각한 응용 프로그램 개발자에게는 적합하지 않습니다. 그것들은 대부분 개념 스 니펫의 증거 일뿐입니다.

구조를 돕기 위해 일종의 프레임 워크를 사용하여 심각한 응용 프로그램을 개발해야합니다. dojox.mvc를 사용하여 큰 성공을 거두었습니다! 그러나 다른 옵션으로는 backbone.js, spine.js 또는 javascript MVC와 같은 것들이 있습니다.

도장 상용구 - https://github.com/csnover/dojo-boilerplate

  • 누구든지이 진술에 동의 / 동의하지 않습니까?
  • ArcGIS Server JS API를 사용하는 웹 애플리케이션 개발에 대한 더 나은 접근 방식에 대한 온라인 예제가 있습니까?

1
예 dojo 1.7은 AMD를 사용하지만 최신 esri js api는 dojo 1.6.1 위에 빌드되며 이들이 제공하거나 다운로드 할 수있는 레이어 패키지 / 모듈은 AMD 형식이 아닙니다. 따라서 작동하지 않습니다. 그냥 AMD 사용 (1.6.1 도장)이 JS API를로드하고 1.7을 도장하는 바보 같다
스티브

올해 Esri Developer Summit 에서 backbone.js세션 이 있다는 것을 알게 되었습니다.
Stephen Lead

최신 도조 상용구를 사용하면서 문제가 발생했습니다. esri가 지원하는 것이므로 1.6.1 상용구 패키지로 돌아 왔습니다. ESRI가 조사 할 것입니다. dojo 2.0 용 API의 AMD 버전을 릴리스하십시오. 다음은 blog.rebeccamurphey.com/a-dojo-boilerplate(Matt Moyles)를 사용한 상용구 프로젝트입니다.
dubvfan87

답변:


10

Moyles는 샘플이 샘플 일 뿐이며 dojo boileplate은 훌륭한 리소스이지만 현재 snovers에서 상용구는 실행 가능한 솔루션이 아니라는 점에 동의합니다. 거기에는 두 가지 버전의 dojo가 있습니다. 현재 js api는 여전히 dojo 1.6.1의 고전적인 require 구문을 사용하며 AMD를 지원하지 않습니다. 새로운 js api가 1.7.x에 구축 될 것이라고 확신하며 고전적인 dojo.defined 모듈을 AMD로 변환하는 것이 쉽지 않기 때문에 그 경로를 선택할 것입니다.

지금 프로젝트를 시작 하는 경우 사용하려는 서버 측 프레임 워크를 선택합니다 (응용 프로그램에 필요한 경우. 서버 측 요구 사항이없는 단일 페이지 뷰어 인 경우 지나치게 복잡하지 않습니다). 레일, PHP, ASP 등이 될 수 있습니다. 프레임 워크 / 언어에 대한 모범 사례를 따르십시오.

그런 다음 esri가 dojo를 기반으로하기 때문에 이미 대규모 웹 애플리케이션을 작성하기위한 훌륭한 js 프레임 워크를로드하고 있습니다. dojo의 로더가 dojo require 구문으로 위젯 및 모듈을로드 할 수 있도록 코드를 구성하십시오. dojo 위젯 및 모듈을 작성하고 필요한 경우 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 ). 샘플과 같이 인라인 j를 작성하지 마십시오. 만들기프로덕션 시간에 모든 코드를 최적화 하는 프로파일을 빌드 하십시오.

esri 및 사용자 정의 코드는 컴파일 소스를 제공하지 않기 때문에 특정 수준으로 분리해야합니다. 이미 빌드 및 축소되었습니다. 빌드 도구는 그렇게 좋아하지 않습니다.

편집하다

esri js api를 다운로드하여 응용 프로그램에서 패키지로 사용할 수 있도록 grri 도구 인 esri_slurp 를 빌드했습니다 . 이를 통해 빌드를 실행하고 단일 파일을 얻을 수 있습니다.


3

샘플이 심각한 응용 프로그램이 아니라 샘플이라는 것은 명백합니다.

즉, 일반적인 인터넷 세계에서는 광대하고 복잡하지만 종종 불필요한 것으로 알려진 dojo를 사용하는 것보다 Backbone 과 같은 것을 사용하는 것이 훨씬 덜 일반적 입니다.

목표를 더 잘 설명 할 수 있다면 확실한 추천을하는 것이 더 쉬울 것입니다. Backbone과 같은 것은 완전한 클라이언트 측 응용 프로그램을 위해 작성되었으므로 실제로 PHP 또는 ASP 또는 nodejs에서 대부분의 작업을 수행하는 경우 덜 필요합니다. 또는 여러 페이지와 뷰가 필요하지 않은 경우 모두 jQuery를 사용하거나 프레임 워크를 사용하지 않고도 쉽게 얻을 수 있습니다.


1
esri 코드가 dojo 위에 빌드 된 경우 dojo 이외의 다른 것을 사용하는 이유는 무엇입니까? Dojo는 백본과 jquery가 수행 할 수있는 모든 작업을 수행 할 수 있습니다. 이미 매우 유능한 프레임 워크를로드하고 있는데 왜 다른 프레임 워크를로드하는 것이 좋습니다?
Steve

@tmcw 공정 식별 도구 샘플을 사용하여 응용 프로그램을 개발 해서는 안되지만 보다 완전한 ArcGIS.com 기반 샘플은 어떻습니까? Esri는 이것들에 대해 잘못된 길을 가고 있습니까?
Stephen Lead

@tmcw 내 목표에 관해서는, 여기에 내가 ESRI의 도장 방식을 사용하여 작업 한 사이트의 예입니다. 내일 다시 시작하려면 다르게해야합니까?
Stephen Lead

2
@Steve yep, 관심이 있으시다면 여기 에 이야기가 녹음되어 있습니다.
Stephen Lead

1
@StephenLead 나는 거기에 있었다 :)
Steve

-3

전적으로 동의합니다. ESRI는 Javascript API이며 ArcGIS Viewer for Flex와 경쟁하는 것 같습니다. 샘플은 그저 dijits를 어떻게 사용할 수 있는지에 대한 개념의 증거 일뿐입니다 ... 단순한 순수 자바 스크립트 API를 제공하고 사용자가 Bing, Google, Openlayers 및 기타와 같이 사람들이 사용할 프레임 워크를 결정할 수 있기를 바랍니다. ..


-4

OmniStation의 새로운 JavaScript 프레임 워크 및 빌드 도구 인 jsRevolution은 시장에서 가장 강력한 상용 프레임 워크입니다. 사소하지 않은 응용 프로그램의 대규모 배포를 위해 설계되었습니다. OmniStation을 나타냅니다. 우리의 고객은 100 또는 1000 클래스, 10 심지어 100 개발자 클래스를 가질 수 있습니다. 이러한 클라이언트는 프레임 워크가 반드시 필요하지만 jsRevolution은 클래스가 25 개 미만인 특정 애플리케이션에 실용적입니다.

jsRevolution의 많은 기능에는 비동기 로딩, 코드리스 네임 스페이스, URL 전환 가능 코드 뷰 (개발에서 배포까지), 빌드 타임 검증을 통한 코드리스 상속,로드 타임 검증을 통한 코드리스 인터페이스, 코드리스 추상화 (때때로 Mixin이라고 함), 기능 리소스를 인스턴스 클래스, 다중 버전 관리 (동일한 응용 프로그램 내에서 여러 버전의 클래스-실행하기 간단 함) 및 기타 여러 기능으로 식별합니다.


라이언 안녕, 우리 사이트에 오신 것을 환영합니다! 상업 게시물에 대한 Google 정책을 준수하기 위해 귀하의 답변을 약간 수정했습니다. 자세한 내용은 FAQ 를 참조하십시오 . 사람들이 나와 연락하기를 원하는 경우 사용자 프로필을 사용하여 연락처 정보를 제공 할 수 있습니다.
whuber

1
기술을 사용하는 ArcGIS JS API 매핑 사이트의 링크가 있습니까? 그렇지 않으면이 답변은 스팸과 매우 흡사합니다.
Devdatta Tengshe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.