This shows you the differences between two versions of the page.
|
isi:laboratoare:02 [2024/10/14 11:39] alexandru.predescu [Plan laborator] |
isi:laboratoare:02 [2025/10/17 15:10] (current) sorin.ciolofan [Resurse] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Laboratorul 02. Aplicație web cu ArcGIS JavaScript API ===== | + | ===== Laboratorul 02. Aplicație web cu ArcGIS în JavaScript ===== |
| ==== Obiective laborator ==== | ==== Obiective laborator ==== | ||
| Line 5: | Line 5: | ||
| * Familiarizare cu servicii de date în ArcGIS, ex. un feature layer poate fi expus printr-un serviciu web (feature service) | * Familiarizare cu servicii de date în ArcGIS, ex. un feature layer poate fi expus printr-un serviciu web (feature service) | ||
| * Introducere în ArcGIS for Developers | * Introducere în ArcGIS for Developers | ||
| - | * Familiarizare cu ArcGIS JavaScript API | + | * Familiarizare cu ArcGIS Maps SDK for JavaScript |
| ==== ArcGIS Instant Apps builder ==== | ==== ArcGIS Instant Apps builder ==== | ||
| Pentru a înțelege mai bine ce presupune o aplicație web ArcGIS, vom porni de la harta creată anterior și funcția **Create app > Instant Apps** disponibilă în Map Viewer | Pentru a înțelege mai bine ce presupune o aplicație web ArcGIS, vom porni de la harta creată anterior și funcția **Create app > Instant Apps** disponibilă în Map Viewer | ||
| + | |||
| + | {{:isi:laboratoare:lab2:l2_1.png?400|}} | ||
| {{:isi:laboratoare:lab1:create_web_app.png?400|}} | {{:isi:laboratoare:lab1:create_web_app.png?400|}} | ||
| Line 17: | Line 19: | ||
| {{:isi:laboratoare:lab1:create_web_app_publish.png?400|}} | {{:isi:laboratoare:lab1:create_web_app_publish.png?400|}} | ||
| - | Aceasta este o metodă simplă și rapidă de a crea aplicații web folosind portalul ArcGIS, dar nu este cea mai versatilă în cazul aplicațiilor mai complexe, cu funcționalități și integrări specifice. Enter ArcGIS for Developers: | + | Aceasta este o metodă simplă și rapidă de a crea aplicații web folosind portalul ArcGIS, dar nu este cea mai potrivita în cazul aplicațiilor mai complexe, cu funcționalități și integrări specifice. In aceste cazuri se vor folosi API-urile ArcGIS |
| ==== ArcGIS for Developers ==== | ==== ArcGIS for Developers ==== | ||
| - | Pentru a dezvolta o aplicație web folosind direct API-urile ArcGIS, aveți nevoie de un API KEY generat pe contul [[https://developers.arcgis.com/dashboard/|ArcGIS Developer]]. | + | Pentru a dezvolta o aplicație web folosind direct SDK-ul și API-urile ArcGIS, aveți nevoie de un API KEY generat pe contul [[https://location.arcgis.com/|Location ArcGIS]]. |
| + | Dupa ce va autentificati, selectati "Content", apoi "New item" si optiunea "Developer credentials". In pop-upul care apare selectati "API Key Credentials". Selectati "Next" iar in pagina referitoare la privilegii bifati toate privilegiile. | ||
| - | <note important> | + | {{:isi:laboratoare:lab2:l2_2.png?600|}} |
| - | Pentru a accesa contul ArcGIS Developer, se poate transforma contul public în cont de developer, fără costuri suplimentare (în loc să creați un cont free trial care expiră). | + | |
| - | </note> | + | IMPORTANT! |
| + | Cand generati API Key-ul, copiati sirul respectiv de caractere si salvati-l undeva deoarece ulterior nu veti mai avea acces la acesta! | ||
| + | |||
| + | {{:isi:laboratoare:lab2:l2_3.png?600|}} | ||
| - | {{:isi:laboratoare:lab3:apikey.png?600|}} | + | /*{{:isi:laboratoare:lab3:apikey.png?600|}}*/ |
| ==== Familiarizare cu JavaScript ==== | ==== Familiarizare cu JavaScript ==== | ||
| Line 33: | Line 39: | ||
| JavaScript este un limbaj de programare aparent simplu (se poate face rapid o aplicație simplă, rulează în browser, nu necesită un toolkit avansat) dar în același timp complex (programare asincronă, multi-paradigmă). Există numeroase framework-uri de JavaScript pentru dezvoltarea aplicațiilor web, atât pe partea de front end (Angular, Vue, React), cât și de back end (Node.js). | JavaScript este un limbaj de programare aparent simplu (se poate face rapid o aplicație simplă, rulează în browser, nu necesită un toolkit avansat) dar în același timp complex (programare asincronă, multi-paradigmă). Există numeroase framework-uri de JavaScript pentru dezvoltarea aplicațiilor web, atât pe partea de front end (Angular, Vue, React), cât și de back end (Node.js). | ||
| - | Pentru acest laborator, vom realiza o aplicație simplă în browser, folosind API-ul de JavaScript pentru ArcGIS, și un tutorial pas cu pas. Nu sunt necesare cunoștințe avansate de JavaScript, dar pentru o mai bună înțelegere a limbajului de programare și a modului de organizare a unei aplicații web, puteți consulta tutoriale disponibile online: | + | Pentru acest laborator, vom realiza o aplicație simplă în browser, folosind SDK-ul ArcGIS pentru JavaScript, și un tutorial pas cu pas. Nu sunt necesare cunoștințe avansate de JavaScript, dar pentru o mai bună înțelegere a limbajului de programare și a modului de organizare a unei aplicații web, puteți consulta tutoriale disponibile online: |
| * [[https://www.freecodecamp.org/news/html-css-and-javascript-explained-for-beginners/|Learn Web Development Basics – HTML, CSS, and JavaScript Explained for Beginners]] | * [[https://www.freecodecamp.org/news/html-css-and-javascript-explained-for-beginners/|Learn Web Development Basics – HTML, CSS, and JavaScript Explained for Beginners]] | ||
| Line 40: | Line 46: | ||
| <note important>Rareori aplicațiile web de complexitate medie sunt scrise direct în JavaScript. De regulă se folosesc framework-uri pentru a gestiona structura și funcționalitățile generale ale aplicațiilor, dar toate acestea au la bază o cunoaștere bună a limbajului.</note> | <note important>Rareori aplicațiile web de complexitate medie sunt scrise direct în JavaScript. De regulă se folosesc framework-uri pentru a gestiona structura și funcționalitățile generale ale aplicațiilor, dar toate acestea au la bază o cunoaștere bună a limbajului.</note> | ||
| - | <note tip>API-ul de JavaScript pentru ArcGIS este folosit pentru a crea aplicații web customizabile, independente de tipul de browser folosit. API-ul este bazat pe Dojo, un toolkit care permite realizarea aplicațiilor modulare.</note> | + | /* |
| + | <note tip>SDK-ul de JavaScript pentru ArcGIS este folosit pentru a crea aplicații web customizabile, independente de tipul de browser folosit. Are la bază framework-ul Dojo, un toolkit care permite realizarea aplicațiilor modulare.</note> | ||
| === Dojo === | === Dojo === | ||
| - | API-ul ArcGIS are la bază toolkit-ul Dojo și este construit pe bază de module ce suportă încărcare modulară dinamică (AMD) prin require.js. | + | SDK-ul ArcGIS are la bază toolkit-ul Dojo și este construit pe bază de module ce suportă încărcare modulară dinamică (AMD) prin require.js. |
| <note tip>Găsiți [[https://dojotoolkit.org/documentation/tutorials/1.10/modules/|aici]] informații suplimentare din documentația Dojo</note> | <note tip>Găsiți [[https://dojotoolkit.org/documentation/tutorials/1.10/modules/|aici]] informații suplimentare din documentația Dojo</note> | ||
| + | */ | ||
| ==== Setup aplicație web ==== | ==== Setup aplicație web ==== | ||
| - | Pentru a începe lucrul cu JavaScript API, găsiți aici un setup minimal pentru a afișa o hartă: [[https://developers.arcgis.com/javascript/latest/display-a-map/|Display a map]] | + | Pentru a începe lucrul cu ArcGIS Maps SDK for JavaScript, găsiți aici un setup minimal pentru a afișa o hartă: [[https://developers.arcgis.com/javascript/latest/display-a-map/|Display a map]] |
| - | Structura aplicației ArcGIS are la bază sistemul modular bazat pe Dojo: | + | Incepind cu versiunea 4.27 a ArcGIS API for JavaScript se folosesc web components native (taguri precum <arcgis-map>, <arcgis-search>, <arcgis-legend> etc. sunt taguri HTML personalizate — adică Web Components create de Esri) |
| + | /* | ||
| <file javascript> | <file javascript> | ||
| require([ | require([ | ||
| Line 62: | Line 70: | ||
| { | { | ||
| </file> | </file> | ||
| + | */ | ||
| === Sandbox === | === Sandbox === | ||
| Line 68: | Line 76: | ||
| Pentru a salva proiectele realizate în CodePen este necesar să vă creați un cont gratuit. | Pentru a salva proiectele realizate în CodePen este necesar să vă creați un cont gratuit. | ||
| - | {{:isi:laboratoare:lab3:codepen.png?600|}} | + | /* |
| + | {{:isi:laboratoare:lab3:codepen.png?600|}} */ | ||
| <note important> | <note important> | ||
| - | Folosiți tab-urile corespunzătoare pentru a scrie cod HTML, CSS și JavaScript, în loc să scrieți tot codul în HTML. | + | /*Folosiți tab-urile corespunzătoare pentru a scrie cod HTML, CSS și JavaScript, în loc să scrieți tot codul în HTML.*/ |
| + | În cazul componentelor ArcGIS moderne, tot codul trebuie să rămână în tabul HTML, nemaifiind necesara separarea codului in tabul JS asa cum era la versiunile anterioare bazate pe Dojo. | ||
| - | În proiecte mai complexe, separarea fișierelor (.html, .css, .js) permite o mai bună organizare a aplicației, și facilități de formatare și verificare a sintaxei în cazul folosirii unui IDE (de ex. [[https://code.visualstudio.com/|Visual Studio Code]]).</note> | + | /*În proiecte mai complexe, separarea fișierelor (.html, .css, .js) permite o mai bună organizare a aplicației, și facilități de formatare și verificare a sintaxei în cazul folosirii unui IDE (de ex. [[https://code.visualstudio.com/|Visual Studio Code]]).*/ </note> |
| Line 81: | Line 91: | ||
| === Inițializare hartă === | === Inițializare hartă === | ||
| - | Inițializați aplicația și afișați harta folosind API-ul de JavaScript: | + | Inițializați aplicația și afișați harta folosind ArcGIS Maps SDK for JavaScript: |
| https://developers.arcgis.com/javascript/latest/display-a-map/ | https://developers.arcgis.com/javascript/latest/display-a-map/ | ||
| Line 155: | Line 165: | ||
| Adăugați un layer dintr-una din aplicațiile realizate în laboratoarele anterioare și adaptați aplicația web construită anterior. | Adăugați un layer dintr-una din aplicațiile realizate în laboratoarele anterioare și adaptați aplicația web construită anterior. | ||
| - | <note tip>Un Feature Layer poate fi partajat în secțiunea Content ca resursă web. Urmăriți secțiunea [[https://developers.arcgis.com/javascript/latest/layers-and-data/|Layers and Data]] pentru adăugarea unui layer folosind JavaScript API: | + | <note tip>Un Feature Layer poate fi partajat în secțiunea Content ca resursă web. Urmăriți secțiunea [[https://developers.arcgis.com/javascript/latest/layers-and-data/|Layers and Data]] pentru adăugarea unui layer folosind ArcGIS Maps SDK for JavaScript: |
| <file javascript> | <file javascript> | ||
| Line 172: | Line 182: | ||
| https://www.arcgis.com/home/item.html?id=<my-layer-id></note>*/ | https://www.arcgis.com/home/item.html?id=<my-layer-id></note>*/ | ||
| - | ==== Resurse ==== | + | /*==== Resurse ==== |
| * {{:isi:laboratoare:lab3:la_hub_datasets.zip|LA_Hub_Datasets.zip}} | * {{:isi:laboratoare:lab3:la_hub_datasets.zip|LA_Hub_Datasets.zip}} | ||
| + | */ | ||