Który framework najlepiej jest zaimplementować solidnie, używając API ArcGIS Server JS?

13

Na forum Esri użytkownik Matt Moyles zasugerował, że podejście zastosowane w przykładach Esri JS nie jest odpowiednie do solidnego opracowania aplikacji do mapowania stron internetowych przy użyciu HTML, JavaScript i CSS:

Sugerowane przez ESRI podejście do tworzenia aplikacji javascript jest starożytne i nieaktualne. Nie polecałbym śledzenia próbek. Dojo 1.7 obsługuje AMD z asynchronicznym ładowaniem zależności. Zacznę od szablonu płyty kotłowej dojo i „popracuję” w nim arcgis api. Próbki nie są odpowiednie dla poważnych twórców aplikacji. W większości są to tylko fragmenty koncepcji.

Poważne zastosowanie powinno zostać opracowane za pomocą pewnego rodzaju ram, aby pomóc w uporządkowaniu rzeczy. Korzystam z dojox.mvc z wielkim sukcesem! Ale inne opcje obejmują rzeczy takie jak backbone.js, spine.js, a nawet javascript MVC.

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

  • czy ktoś zgadza się z tym stwierdzeniem?
  • czy są jakieś internetowe przykłady lepszych podejść do tworzenia aplikacji internetowych za pomocą ArcGIS Server JS API?
Stephen Lead
źródło
1
tak, dojo 1.7 używa AMD, ale najnowsze esri js api jest oparte na dojo 1.6.1, a pakiety warstw / moduły, które obsługują lub można pobrać, nie są w formacie AMD. Dlatego to po prostu nie zadziała. Głupio wydaje się ładowanie js api (dojo 1.6.1) i dojo 1.7 tylko po to, aby używać AMD
Steve
Właśnie zauważyłem, że w tym roku na Esri Developer Summit jest sesja na backbone.js .
Stephen Lead
Wpadłem w kłopoty przy użyciu najnowszej płyty kotła dojo. Wróciłem do pakietu płyt grzewczych 1.6.1, ponieważ to właśnie obsługuje esri. ESRI będzie prob. wydać wersję AMD ich API dla dojo 2.0. Oto projekt bojlera, którego użyłem blog.rebeccamurphey.com/a-dojo-boilerplate (Matt Moyles)
dubvfan87

Odpowiedzi:

10

Zgadzam się z Moylesem, że próbki to tylko próbki, a płyta grzewcza dojo jest świetnym źródłem, jednak w obecnych czasach płyta snovers nie jest realnym rozwiązaniem. Działają tam dwie różne wersje dojo. Obecny interfejs API js nadal używa klasycznej składni wymaganej przez dojo 1.6.1 i nie obsługuje AMD. Jestem pewien, że nowszy interfejs js zostanie zbudowany w wersji 1.7.x, a ponieważ konwersja klasycznych modułów dojo.defined na AMD jest w większości trywialna, wybrałbym tę trasę.

Jeśli zaczynasz projekt teraz , wybrałbym dowolne środowisko po stronie serwera, którego chcesz użyć (jeśli jest to konieczne dla twojej aplikacji. Jeśli jest to tylko jedna strona przeglądarki bez wymagań po stronie serwera, nie komplikuj zbytnio). Mogą to być szyny, php, bolenie, cokolwiek. Postępuj zgodnie z najlepszymi praktykami dla swojego frameworka / języka.

Następnie, ponieważ esri jest oparty na dojo, ładujesz już świetny framework js do tworzenia aplikacji internetowych na dużą skalę. Ustrukturyzuj swój kod, aby moduł ładujący dojo mógł załadować widżety i moduły wymagające składni dojo. Pisz widżety i moduły dojo, w razie potrzeby używaj dijits i narzędzi 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 ). Nie pisz wbudowanych plików js jak próbki. Stwórzbuduj profil, aby zoptymalizować cały swój kod, gdy nadejdzie czas jego produkcji.

Musisz do pewnego stopnia oddzielić kod esri i kod niestandardowy, ponieważ nie oferują one źródła do kompilacji - jest już zbudowany i zminimalizowany. Narzędzie do budowania tak bardzo tego nie lubi.

EDYTOWAĆ

Zbudowałem narzędzie grunt, esri_slurp, aby pobrać interfejs esri js api, abyś mógł używać go jako pakietu w swoich aplikacjach. Pozwala to uruchomić kompilację i uzyskać pojedynczy plik.

Steve
źródło
3

Powinno być całkiem oczywiste, że próbki nie są przeznaczone do poważnych zastosowań: są to próbki.

To powiedziawszy, o wiele rzadziej w typowym świecie Internetu jest używanie czegoś takiego jak Backbone niż używanie dojo, które znane jest z ekspansywności i złożoności, ale często niepotrzebne.

Gdybyś mógł bardziej opisać swój cel, łatwiej byłoby sformułować solidną rekomendację. Rzeczy takie jak Backbone są napisane dla pełnych aplikacji po stronie klienta - więc jeśli faktycznie wykonujesz większość pracy w PHP, ASP lub nodejs, jest to mniej konieczne. Lub jeśli nie potrzebujesz wielu stron i widoków połączonych, możesz łatwo obejść się z jQuery lub w ogóle bez frameworka.

tmcw
źródło
1
jeśli kod esri jest zbudowany na dojo, dlaczego miałbyś używać czegoś innego niż dojo? Dojo może wykonywać wszystkie czynności związane z kręgosłupem i zadaniami. Ładujesz już bardzo zdolny framework, dlaczego miałbyś polecać ładowanie innych?
Steve,
@tmcw jest na tyle sprawiedliwy, że próbka narzędzia identyfikacji nie powinna być używana do opracowywania aplikacji - ale co z bardziej kompletnymi próbkami opartymi na ArcGIS.com ? Czy Esri jest na niewłaściwym torze?
Stephen Lead
@tmcw Jeśli chodzi o mój cel, oto przykład witryny, nad którą pracowałem, przy użyciu podejścia Esri Dojo. Jeśli miałbym zacząć to jutro od nowa, czy powinienem to zrobić inaczej?
Stephen Lead
2
@ Steve tak, tutaj jest nagranie rozmowy , jeśli jesteś zainteresowany.
Stephen Lead
1
@StephenLead byłem tam :)
Steve
-3

Kompletnie się zgadzam. ESRI to javascript api, wydaje mi się, że konkurują z ArcGIS Viewer dla Flex. Próbki są niczym innym, jak tylko dowodem na to, jak można korzystać z ich dijitów ... Chciałbym, aby zapewniały one prosty interfejs API języka javascript i pozwalały użytkownikowi decydować, z których frameworków korzystać będą ludzie, takich jak Bing, Google, Openlayers i kilka innych. ..

Zahid Chaudhry
źródło
-4

jsRevolution, nowe narzędzie JavaScript Framework i narzędzie do budowania OmniStation, to najsolidniejszy dostępny na rynku framework na rynku. Jest przeznaczony do wdrażania na dużą skalę nietrywialnych aplikacji. Reprezentuję OmniStation. Nasi klienci mogą mieć 100 lub 1000 klas, 10 a nawet 100 programistów. Chociaż klienci ci uznają ten framework za niezbędny, jsRevolution jest praktyczny w przypadku niektórych aplikacji z zaledwie 25 klasami.

Wiele funkcji jsRevolution to: Asynchroniczne ładowanie, Bezkodowa przestrzeń nazw, Widok kodu z możliwością przełączania adresów URL (od dewelopera do wdrożenia), Bezkodowe dziedziczenie z weryfikacją czasu kompilacji, Bezkodowy interfejs z weryfikacją czasu ładowania, Bezkodowa abstrakcja (czasami określana jako Mixin), możliwość w celu zidentyfikowania zasobu jako klasy instancji, wielu wersji (wiele wersji klas w ramach tej samej aplikacji - proste do wykonania) i wielu innych funkcji.

K. Ryan Hasse
źródło
Cześć Ryan, witamy na naszej stronie! Wprowadziłem niewielkie zmiany w Twojej odpowiedzi, aby zachować zgodność z naszą polityką dotyczącą postów komercyjnych. Aby uzyskać więcej informacji, zapoznaj się z naszym FAQ . Jeśli chcesz, aby ludzie się z tobą skontaktowali, możesz użyć swojego profilu użytkownika do przedstawienia informacji kontaktowych.
whuber
1
Czy masz link do strony mapowania interfejsu API ArcGIS JS przy użyciu swojej technologii? W przeciwnym razie ta odpowiedź będzie po prostu zbyt przypominała spam.
Devdatta Tengshe,