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?
źródło
Odpowiedzi:
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.
źródło
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.
źródło
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. ..
źródło
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.
źródło