SlideShare una empresa de Scribd logo
1 de 52
European Developer Summit
                                      Rotterdam, Nov. 9, 2012




Getting Started with the ArcGIS API
           for JavaScript

        Julie Powell, Antoon Uijtdehaag
Agenda


 •   Overview
 •   Best Practices
     -   Maximizing Performance
     -   Building expressive web applications with the latest features
 •   HTML5
 •   Tips & Tricks
 •   What’s next?
 •   Resources
ArcGIS for Server Is a Platform for Web GIS
 •   Comprehensive GIS Accessible from the Web, Desktop,
     and Mobile
                                                          Open
 •   Server Oriented          Desktop   Web   Mobile
                                                          APIs
     Architecture                                         OGC
                                                                           USE
                                                                 KML
                                                                       Applications
                                                         SOAP
                                                                         (clients)
 •   Enabling Web GIS                                           SQL




 •   Rich Application
     Clients
 •   High Performance and                                SERVE
     scalable               Enabled                     ArcGIS for
                            System                        Server
 •   Interoperable                                        (Services)

 •   Dissemination and
     collaboration
                                                          AUTHOR
                                                       ArcGIS Desktop
ArcGIS for Server Services

       Map (including WMS, WMTS)
       •   View or query a 2D map on the server
       Globe
       •   View or query a 3D globe on the server
       Geocode
       •   Perform address matching on the server
       Geodata
       •   Perform data replication, extraction, or query
       Geoprocessing
       •   Run a tool or model on the server and get results
       Image
       •   Provide access to raster data though a Web service
ArcGIS JavaScript APIs – Why JavaScript?
It’s your future ;-)


     •   Lightweight web GIS


     •   Pervasive


     •   Cross-platform, cross-browser, plugin-less


     •   JS Frameworks abstract away the browser complexity
           - YUI, Dojo, EXTJS, jQuery



     •   IDE’s are getting better. Aptana, Notepad ++, Visual
         Studio
JavaScript Considerations



 •   Can be a longer development cycle


 •   Mobile: limitations with interacting with device,
     using local storage


 •   Performance Limitations
Race for the fastest browser – HTML5


 •   JavaScript Engine
     -   Just in time compilation to byte code
     -   Faster property access
     -   Efficient garbage collection


 •   Graphics engine improvements


 •   DOM improvements


 •   CSS3
What can you do with the API?


  •   Interactive maps
  •   ArcGIS Online basemaps
  •   Execute a task
  •   Find an address
Core Library


• Map control
• Support for Webmap
• Layers
   – Tiled, Dynamic, FeatureLayer, WMS, WMTS,
     KML, Graphics
• Graphics
• Tasks
   – GP, Network, Geometry, Query, Locator
• Geometry
• Symbology
   – ArcGIS Server Symbology
• Toolbars
   – Edit, Draw, Navigation
Widgets
JavaScript-based Application Examples

     Public Information Map


                                 Story Maps
Code Editors
Cloud-based IDEs

            JSFiddle


                       Maqetta
Get the API
Build your first app
                              Demo
   1. Reference the API
   2. Create a map
   3. Add a basemap
   4. Add operational layer
Agenda


 •   Overview
 •   Best Practices
     -   Maximizing Performance
     -   Building expressive web applications
 •   HTML5
 •   Tips & Tricks
 •   What’s next?
 •   Resources
Create a web map
Web Map ID
Working with ArcGIS Online

 Replace map with web map
 Using ArcGIS Online Templates



                       Demo
Maximizing Performance


  •   Tiled layers vs. Dynamic


  •   Feature Services
      -   With power comes responsibility 
      -   Generalizing geometries


  •   Balancing what you bring client side
      -   Image vs. features
      -   Calculating statistics


  •   Viewing performance stats
Feature Layers


  •   Purpose?


  •   Display modes
      -   Snapshot
      -   On-Demand
      -   Selection only


  •   Generalizing geometries
Query Statistics


  •   Calculate statistics server-side
      -   DB does the heavy lifting


  •   Large # features: Only send statistic results to client


  •   Types of calculations
Interactive Application

   Optimizing Performance



                        Demo
Agenda


 •   Overview
 •   Best Practices
     -   Maximizing Performance
     -   Building expressive web applications with the latest features
 •   HTML5
 •   Tips & Tricks
 •   What’s next?
 •   Resources
HTML5: 5 Facts


   1.   It’s not one big thing
   2.   You don’t need to throw anything away
   3.   It’s easy to get started
   4.   It already works
   5.   It’s here to stay




         •   MARK PILGRIM, Dive into HTML5
Evolution of HTML5




By Sergey Mavrody 2011 | CC Attribution-ShareAlike 3.0
Can I Use?




             http://www.caniuse.com/
HTML5 components in (or soon to be in) the JSAPI




                                                  Cross Origin Resource
Canvas (pixel control          CSS3 Transitions          Sharing
and android graphics)




                                         High performance browsers!




CPU Intensive Operations
(asynch data processing,
client geometric operations)
                                              CSS 3D Transforms
Example: Store Bookmarks Locally



                                   •   Try to store bookmark in
                                       local storage.

                                   •   If not supported: Cookie
Example: Offline Tiling



                          •   Web Workers
                          •   Use Web Storage for Tiles
HTML5 File Access
Using Drag and Drop
Agenda


 •   Overview
 •   Best Practices
     -   Maximizing Performance
     -   Building expressive web applications with the latest features
 •   HTML5
 •   Tips & Tricks
 •   What’s next?
 •   Resources
JS Beautifier
JSHint / JSLint
Plug-ins
Extents




          Demo
What if I don’t want to use Dojo?


  •   Compatability with other JavaScript frameworks, for
      example:
      -   jQuery
      -   ExtJS
      -   Multiple versions of Dojo
      -   Leaflet
Where to get help…

 •   Getting Started
 •   Working with Dojo
Agenda


 •   Overview
 •   Best Practices
     -   Maximizing Performance
     -   Building expressive web applications with the latest features
 •   HTML5
 •   Tips & Tricks
 •   What’s next?
 •   Resources
ArcGIS API for JavaScript Roadmap


  •   Simplified API
  •   New Widgets such as Placefinder widget
  •   Dojo 1.8
  •   More build profiles
  •   AMD compliance
  •   Full touch support IE 10


  Research
  •   Web Workers
  •   Socket Connections
  •   CityEngine WebScenes
Coming soon… Interactive Sandbox
Layers
Configure Development Environment


  •   Set up web server
  •   IDEs
  •   Debugging & Tools
How to run code from web server (IIS)
Proxy




    esri.request   proxy




                                 ArcGIS Server
     Your code



     Browser       Web Server   Remote Server
CORS




       esri.request




                       ArcGIS Server
        Your code




        Browser       Remote Server

Más contenido relacionado

La actualidad más candente

ArcGIS Online seminar: Bringing GIS to a wider audience
ArcGIS Online seminar: Bringing GIS to a wider audienceArcGIS Online seminar: Bringing GIS to a wider audience
ArcGIS Online seminar: Bringing GIS to a wider audienceGeodata AS
 
Working with arcgis online
Working with arcgis onlineWorking with arcgis online
Working with arcgis onlinezmmin383
 
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...Esri Nederland
 
ArcGIS for Server, Portal for ArcGIS and the Road Ahead - Esri norsk BK 2014
ArcGIS for Server, Portal for ArcGIS and the Road Ahead - Esri norsk BK 2014ArcGIS for Server, Portal for ArcGIS and the Road Ahead - Esri norsk BK 2014
ArcGIS for Server, Portal for ArcGIS and the Road Ahead - Esri norsk BK 2014Geodata AS
 
Portal vs. ArcGIS Online
Portal vs. ArcGIS OnlinePortal vs. ArcGIS Online
Portal vs. ArcGIS OnlineSSP Innovations
 
NDGeospatialSummit2019 - ArcGIS Pro – Next-Generation Desktop GIS
NDGeospatialSummit2019 - ArcGIS Pro – Next-Generation Desktop GISNDGeospatialSummit2019 - ArcGIS Pro – Next-Generation Desktop GIS
NDGeospatialSummit2019 - ArcGIS Pro – Next-Generation Desktop GISNorth Dakota GIS Hub
 
Esri South Africa ArcGIS 10.2 Rollout
Esri South Africa ArcGIS 10.2 Rollout Esri South Africa ArcGIS 10.2 Rollout
Esri South Africa ArcGIS 10.2 Rollout Esri South Africa
 
NDGeospatialSummit2019 - ArcGIS Enterprise – Power Your Location Intelligence
NDGeospatialSummit2019 - ArcGIS Enterprise – Power Your Location IntelligenceNDGeospatialSummit2019 - ArcGIS Enterprise – Power Your Location Intelligence
NDGeospatialSummit2019 - ArcGIS Enterprise – Power Your Location IntelligenceNorth Dakota GIS Hub
 
Working with ArcGIS Online
Working with ArcGIS OnlineWorking with ArcGIS Online
Working with ArcGIS OnlineEsri
 
NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC
NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC
NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC North Dakota GIS Hub
 
Building ArcGIS Mobile Solutions in the Cloud
Building ArcGIS Mobile Solutions in the CloudBuilding ArcGIS Mobile Solutions in the Cloud
Building ArcGIS Mobile Solutions in the CloudAllan Laframboise
 
Navteq Developer Days - ArcGIS + POI
Navteq Developer Days - ArcGIS + POINavteq Developer Days - ArcGIS + POI
Navteq Developer Days - ArcGIS + POIAllan Laframboise
 
NDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNorth Dakota GIS Hub
 
Building good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris BakBuilding good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris BakEsri Nederland
 
Esri 2016 User Conference - ArcGIS Online steps for success
Esri 2016 User Conference - ArcGIS Online steps for successEsri 2016 User Conference - ArcGIS Online steps for success
Esri 2016 User Conference - ArcGIS Online steps for successBern Szukalski
 
Arcgis for Server
Arcgis for ServerArcgis for Server
Arcgis for ServerEsri
 
Evolution of Esri Data Formats Seminar
Evolution of Esri Data Formats SeminarEvolution of Esri Data Formats Seminar
Evolution of Esri Data Formats SeminarEsri South Africa
 
Portal for ArcGIS – beste praksis - BK2016
Portal for ArcGIS – beste praksis - BK2016Portal for ArcGIS – beste praksis - BK2016
Portal for ArcGIS – beste praksis - BK2016Geodata AS
 

La actualidad más candente (20)

ArcGIS Online seminar: Bringing GIS to a wider audience
ArcGIS Online seminar: Bringing GIS to a wider audienceArcGIS Online seminar: Bringing GIS to a wider audience
ArcGIS Online seminar: Bringing GIS to a wider audience
 
Working with arcgis online
Working with arcgis onlineWorking with arcgis online
Working with arcgis online
 
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...
 
Esri Map App Builders
Esri Map App BuildersEsri Map App Builders
Esri Map App Builders
 
ArcGIS for Server, Portal for ArcGIS and the Road Ahead - Esri norsk BK 2014
ArcGIS for Server, Portal for ArcGIS and the Road Ahead - Esri norsk BK 2014ArcGIS for Server, Portal for ArcGIS and the Road Ahead - Esri norsk BK 2014
ArcGIS for Server, Portal for ArcGIS and the Road Ahead - Esri norsk BK 2014
 
Portal vs. ArcGIS Online
Portal vs. ArcGIS OnlinePortal vs. ArcGIS Online
Portal vs. ArcGIS Online
 
NDGeospatialSummit2019 - ArcGIS Pro – Next-Generation Desktop GIS
NDGeospatialSummit2019 - ArcGIS Pro – Next-Generation Desktop GISNDGeospatialSummit2019 - ArcGIS Pro – Next-Generation Desktop GIS
NDGeospatialSummit2019 - ArcGIS Pro – Next-Generation Desktop GIS
 
Esri South Africa ArcGIS 10.2 Rollout
Esri South Africa ArcGIS 10.2 Rollout Esri South Africa ArcGIS 10.2 Rollout
Esri South Africa ArcGIS 10.2 Rollout
 
NDGeospatialSummit2019 - ArcGIS Enterprise – Power Your Location Intelligence
NDGeospatialSummit2019 - ArcGIS Enterprise – Power Your Location IntelligenceNDGeospatialSummit2019 - ArcGIS Enterprise – Power Your Location Intelligence
NDGeospatialSummit2019 - ArcGIS Enterprise – Power Your Location Intelligence
 
Working with ArcGIS Online
Working with ArcGIS OnlineWorking with ArcGIS Online
Working with ArcGIS Online
 
NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC
NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC
NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC
 
Building ArcGIS Mobile Solutions in the Cloud
Building ArcGIS Mobile Solutions in the CloudBuilding ArcGIS Mobile Solutions in the Cloud
Building ArcGIS Mobile Solutions in the Cloud
 
Navteq Developer Days - ArcGIS + POI
Navteq Developer Days - ArcGIS + POINavteq Developer Days - ArcGIS + POI
Navteq Developer Days - ArcGIS + POI
 
NDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS ProNDGISUC2017 - Introducing ArcGIS Pro
NDGISUC2017 - Introducing ArcGIS Pro
 
Internet GIS
Internet GISInternet GIS
Internet GIS
 
Building good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris BakBuilding good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris Bak
 
Esri 2016 User Conference - ArcGIS Online steps for success
Esri 2016 User Conference - ArcGIS Online steps for successEsri 2016 User Conference - ArcGIS Online steps for success
Esri 2016 User Conference - ArcGIS Online steps for success
 
Arcgis for Server
Arcgis for ServerArcgis for Server
Arcgis for Server
 
Evolution of Esri Data Formats Seminar
Evolution of Esri Data Formats SeminarEvolution of Esri Data Formats Seminar
Evolution of Esri Data Formats Seminar
 
Portal for ArcGIS – beste praksis - BK2016
Portal for ArcGIS – beste praksis - BK2016Portal for ArcGIS – beste praksis - BK2016
Portal for ArcGIS – beste praksis - BK2016
 

Similar a Getting Started with the ArcGIS API for JavaScript, Esri, Julie Powell, Antoon Uijtdehaag

6 weeks 6 months live project summer industrial training in cmc limited 2012
6 weeks  6 months live project summer industrial training in cmc limited  20126 weeks  6 months live project summer industrial training in cmc limited  2012
6 weeks 6 months live project summer industrial training in cmc limited 2012CMC Limited
 
webgis architecture and practices patterns
webgis architecture and practices patternswebgis architecture and practices patterns
webgis architecture and practices patternsNguyenVanTuan33
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5John Reiser
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!Michael Collier
 
NDGeospatialSummit2022 - ArcGIS Solutions: A tour for Water Utilities
NDGeospatialSummit2022 - ArcGIS Solutions: A tour for Water UtilitiesNDGeospatialSummit2022 - ArcGIS Solutions: A tour for Water Utilities
NDGeospatialSummit2022 - ArcGIS Solutions: A tour for Water UtilitiesNorth Dakota GIS Hub
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Adam Mokan
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Dockervisual28
 
Esri Scotland Conf 2016 Glasgow City Council
Esri Scotland Conf 2016   Glasgow City CouncilEsri Scotland Conf 2016   Glasgow City Council
Esri Scotland Conf 2016 Glasgow City CouncilEsri UK
 
A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)Ralf Sternberg
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksFITC
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessChris Schalk
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopNitin Bhojwani
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017Steef-Jan Wiggers
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 

Similar a Getting Started with the ArcGIS API for JavaScript, Esri, Julie Powell, Antoon Uijtdehaag (20)

6 weeks 6 months live project summer industrial training in cmc limited 2012
6 weeks  6 months live project summer industrial training in cmc limited  20126 weeks  6 months live project summer industrial training in cmc limited  2012
6 weeks 6 months live project summer industrial training in cmc limited 2012
 
webgis architecture and practices patterns
webgis architecture and practices patternswebgis architecture and practices patterns
webgis architecture and practices patterns
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5
 
PaaS with Java
PaaS with JavaPaaS with Java
PaaS with Java
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 
NDGeospatialSummit2022 - ArcGIS Solutions: A tour for Water Utilities
NDGeospatialSummit2022 - ArcGIS Solutions: A tour for Water UtilitiesNDGeospatialSummit2022 - ArcGIS Solutions: A tour for Water Utilities
NDGeospatialSummit2022 - ArcGIS Solutions: A tour for Water Utilities
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Esri Scotland Conf 2016 Glasgow City Council
Esri Scotland Conf 2016   Glasgow City CouncilEsri Scotland Conf 2016   Glasgow City Council
Esri Scotland Conf 2016 Glasgow City Council
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
 
Osgis sept2012 cartogrammar
Osgis sept2012  cartogrammarOsgis sept2012  cartogrammar
Osgis sept2012 cartogrammar
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for Business
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 

Más de Esri Nederland

Het verhaal achter kaarten
Het verhaal achter kaartenHet verhaal achter kaarten
Het verhaal achter kaartenEsri Nederland
 
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn BoogaardFlex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn BoogaardEsri Nederland
 
Open data workshop modellen
Open data workshop modellenOpen data workshop modellen
Open data workshop modellenEsri Nederland
 

Más de Esri Nederland (6)

Het verhaal achter kaarten
Het verhaal achter kaartenHet verhaal achter kaarten
Het verhaal achter kaarten
 
EGC2013 Mark Herbold
EGC2013 Mark HerboldEGC2013 Mark Herbold
EGC2013 Mark Herbold
 
Gin presentatie
Gin presentatieGin presentatie
Gin presentatie
 
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn BoogaardFlex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard
 
Open data, nu!
Open data, nu!Open data, nu!
Open data, nu!
 
Open data workshop modellen
Open data workshop modellenOpen data workshop modellen
Open data workshop modellen
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Getting Started with the ArcGIS API for JavaScript, Esri, Julie Powell, Antoon Uijtdehaag

  • 1. European Developer Summit Rotterdam, Nov. 9, 2012 Getting Started with the ArcGIS API for JavaScript Julie Powell, Antoon Uijtdehaag
  • 2. Agenda • Overview • Best Practices - Maximizing Performance - Building expressive web applications with the latest features • HTML5 • Tips & Tricks • What’s next? • Resources
  • 3. ArcGIS for Server Is a Platform for Web GIS • Comprehensive GIS Accessible from the Web, Desktop, and Mobile Open • Server Oriented Desktop Web Mobile APIs Architecture OGC USE KML Applications SOAP (clients) • Enabling Web GIS SQL • Rich Application Clients • High Performance and SERVE scalable Enabled ArcGIS for System Server • Interoperable (Services) • Dissemination and collaboration AUTHOR ArcGIS Desktop
  • 4. ArcGIS for Server Services Map (including WMS, WMTS) • View or query a 2D map on the server Globe • View or query a 3D globe on the server Geocode • Perform address matching on the server Geodata • Perform data replication, extraction, or query Geoprocessing • Run a tool or model on the server and get results Image • Provide access to raster data though a Web service
  • 5. ArcGIS JavaScript APIs – Why JavaScript? It’s your future ;-) • Lightweight web GIS • Pervasive • Cross-platform, cross-browser, plugin-less • JS Frameworks abstract away the browser complexity - YUI, Dojo, EXTJS, jQuery • IDE’s are getting better. Aptana, Notepad ++, Visual Studio
  • 6. JavaScript Considerations • Can be a longer development cycle • Mobile: limitations with interacting with device, using local storage • Performance Limitations
  • 7. Race for the fastest browser – HTML5 • JavaScript Engine - Just in time compilation to byte code - Faster property access - Efficient garbage collection • Graphics engine improvements • DOM improvements • CSS3
  • 8. What can you do with the API? • Interactive maps • ArcGIS Online basemaps • Execute a task • Find an address
  • 9. Core Library • Map control • Support for Webmap • Layers – Tiled, Dynamic, FeatureLayer, WMS, WMTS, KML, Graphics • Graphics • Tasks – GP, Network, Geometry, Query, Locator • Geometry • Symbology – ArcGIS Server Symbology • Toolbars – Edit, Draw, Navigation
  • 11. JavaScript-based Application Examples Public Information Map Story Maps
  • 13. Cloud-based IDEs JSFiddle Maqetta
  • 15. Build your first app Demo 1. Reference the API 2. Create a map 3. Add a basemap 4. Add operational layer
  • 16. Agenda • Overview • Best Practices - Maximizing Performance - Building expressive web applications • HTML5 • Tips & Tricks • What’s next? • Resources
  • 19. Working with ArcGIS Online Replace map with web map Using ArcGIS Online Templates Demo
  • 20. Maximizing Performance • Tiled layers vs. Dynamic • Feature Services - With power comes responsibility  - Generalizing geometries • Balancing what you bring client side - Image vs. features - Calculating statistics • Viewing performance stats
  • 21. Feature Layers • Purpose? • Display modes - Snapshot - On-Demand - Selection only • Generalizing geometries
  • 22. Query Statistics • Calculate statistics server-side - DB does the heavy lifting • Large # features: Only send statistic results to client • Types of calculations
  • 23. Interactive Application Optimizing Performance Demo
  • 24. Agenda • Overview • Best Practices - Maximizing Performance - Building expressive web applications with the latest features • HTML5 • Tips & Tricks • What’s next? • Resources
  • 25. HTML5: 5 Facts 1. It’s not one big thing 2. You don’t need to throw anything away 3. It’s easy to get started 4. It already works 5. It’s here to stay • MARK PILGRIM, Dive into HTML5
  • 26. Evolution of HTML5 By Sergey Mavrody 2011 | CC Attribution-ShareAlike 3.0
  • 27. Can I Use? http://www.caniuse.com/
  • 28. HTML5 components in (or soon to be in) the JSAPI Cross Origin Resource Canvas (pixel control CSS3 Transitions Sharing and android graphics) High performance browsers! CPU Intensive Operations (asynch data processing, client geometric operations) CSS 3D Transforms
  • 29. Example: Store Bookmarks Locally • Try to store bookmark in local storage. • If not supported: Cookie
  • 30. Example: Offline Tiling • Web Workers • Use Web Storage for Tiles
  • 31. HTML5 File Access Using Drag and Drop
  • 32. Agenda • Overview • Best Practices - Maximizing Performance - Building expressive web applications with the latest features • HTML5 • Tips & Tricks • What’s next? • Resources
  • 36.
  • 37.
  • 38.
  • 39. Extents Demo
  • 40.
  • 41. What if I don’t want to use Dojo? • Compatability with other JavaScript frameworks, for example: - jQuery - ExtJS - Multiple versions of Dojo - Leaflet
  • 42. Where to get help… • Getting Started • Working with Dojo
  • 43. Agenda • Overview • Best Practices - Maximizing Performance - Building expressive web applications with the latest features • HTML5 • Tips & Tricks • What’s next? • Resources
  • 44. ArcGIS API for JavaScript Roadmap • Simplified API • New Widgets such as Placefinder widget • Dojo 1.8 • More build profiles • AMD compliance • Full touch support IE 10 Research • Web Workers • Socket Connections • CityEngine WebScenes
  • 46.
  • 47.
  • 49. Configure Development Environment • Set up web server • IDEs • Debugging & Tools
  • 50. How to run code from web server (IIS)
  • 51. Proxy esri.request proxy ArcGIS Server Your code Browser Web Server Remote Server
  • 52. CORS esri.request ArcGIS Server Your code Browser Remote Server

Notas del editor

  1. Derek covers brief overview of the api
  2. JS is one of (or the) most used programming language in the worldPure client-side developmentMultiple js frameworks (dojo, yui) abstract away complexity**IDE is not even needed – you can start simple, only need a webserver & text editor like notepad.
  3. - Mobile: Advantage: Runs on every device (browser) Disadvantage: Limited local data, no camera, less accuracy - GPS, limited native interface design.- Silverlight/Flex: Advantage JS: No plugin, runs on every OS, browser, Disadvantage: Enterprise applications with larger scope, issues between browsers. Performance limitations with rendering a large data on the client side.
  4. It is a client for working with the ArcGIS Server REST API and ArcGIS Online meaning that it provides an easy way to use web services from ArcGIS Server and/or ArcGIS Online.The API has matured over its many releases and new functionality is continually added. In its current state, the API includes classes to add basemaps(cached, raster) and other layer types(vector), tasks to geocode, query and execute complex geoprocessing models, among others and widgets to provide common features such as configurable popups, map elements like a legend or scale bar and facilitate more complex operations like editing spatial data in a browser. Client to the ArcGIS Server REST API and ArcGIS OnlineFunctionality:Basemaps and Operational LayersTasksWidgets
  5. Simple and powerful core api
  6. Not just the building blocks, but functionality specific widgets which can be configured out of the box.Used in application viewers and arcgis online.
  7. http://maqetta.org/Online IDE – cloud 9 - https://c9.io/JS fiddler - http://jsfiddle.net/
  8. Recommended: Use Esri’s CDN hosted versionHigh availabilityBrowser cacheSupports httpsFreeAlternative: download and host yourselfMore controlMore effort
  9. Demo creating a simple web map No dojo just htmlResource Center: SamplesTiledMapService & feature serviceLink to the REST EndpointCSS claro.css and esri.css (html5 transforms?)What is in the esri.css? What is it for?Link to JS API
  10. Derek covers brief overview of the api
  11. Demo creating a simple web map No dojo just html The getting started map – with a feature layer, then she replaced it with a web map (and you get all the other functionality)
  12. -> Link to Blog entry: http://blogs.esri.com/esri/arcgis/2011/06/13/feature-layers-can-generalize-geometries-on-the-fly/
  13. (1) Building Interactive apps & Performance Optimization (10 Minutes) JULIEInteractive maps: selection mode vs. snapshot vs. on demandQuery statisticsTiled basemaps, get tiles from anywherehttp://help.arcgis.com/en/webapi/javascript/arcgis/samples/layers_webtiled_many/index.html Typical scenario was: Bringing all features to the client - feature limit and slower rendering.Example based on EU population data (Data & Maps DVD: Is there a service available?? - Counties and Regions) -> Firefox & Firebug
  14. Derek covers brief overview of the api
  15. 1. HTML5 is not one big thing; it is a collection of individual features. So you can’t detect “HTML5 support,” because that doesn’t make any sense. But you can detect support for individual features, like canvas, video, or geolocation. You can use this the DOM APIs to detect support for various things; example: for <video>… different video formats, play a video, pause, mute audio, track how much of the video has been downloaded, and everything else you need to build a rich user experience around the <video> tag itself.MODERNIZR, AN HTML5 DETECTION LIBRARY2. Backwards-compatible w/HTML4. Can even use HTML5 features and if not available can default to the “old way.”3. Upgrade by changing doctype.4. HTML5 is still under specification, and is currently in the Working Draft stage in the W3C, but many aspects of HTML5 are now stable and can be implemented in browsers. Firefox, Safari, Chrome, Opera, and mobile browsers already support canvas, video , geolocation , local storage ,and more.
  16. Modernizer – check compatibility, falling backScalable Vector Graphics (SVG) is a new graphics file format and Web development language based on XML. SVG enables Web developers and designers to create dynamically generated, high-quality graphics from real-time data with precise structural and visual control. With this powerful new technology, SVG developers can create a new generation of Web applications based on data-driven, interactive, and personalized graphics.
  17. Cover html 5 and provide intro to the HTML5 demos chris put together. we’ll cover the mobile stuff in the mobile session.
  18. http://help.arcgis.com/EN/webapi/javascript/arcgis/demos/exp/exp_bookmarks_stored_client_side.html
  19. http://help.arcgis.com/EN/webapi/javThis sample extends the tiled map service layer and demonstrates how to store and retrieve tiles from local storage. When this application loads it checks to see if the tiles are in local storage, if not a web worker is spawned to retrieve the current tiles. Web workers are javascript files that run in a separate thread and communicate via messages. In this example, the web worker requests tiles and stores them in local storage. ascript/arcgis/demos/exp/exp_webstorage.html
  20. Derek covers brief overview of the api
  21. Formatjavascript using a code beautifier to make it easier to read and understand.
  22. JSLint is a tool created by Douglas Crockford that allows you to check your code for errors and problems. JSHint does the same thing but is a bit more flexible in the options provided. Helps you quickly find issues in your code. For example, in this error report we can see that the first error tells us that we forgot to declare the map variable and the second line shows we have a missing semicolon.
  23. Many development environments have plug-ins that enable the use of the tools within the development environment. For example JSHint is available as a plug-in for many dev environments.
  24. Debuggers – firebug, chrome,ie 9 debugging tools Network tab (view requests)Breakpoint and watch ResourcesCome to our session
  25. Content provides such as Esri, Google and Bing Maps have standardized their services on the Web Mercator Coordinate System. Many times you want to add data to the map perhaps a user-generated location where the location is specified in latitude/longitude. In this case Esri provides client-side helper methods to convert from web mercator to geographic and back.
  26. In this case Esri provides client-side helper methods to convert from web mercator to geographic and back.
  27. Map.extent.tojsonConsoleShow how you can use the console to get the extent of the map where you want to center it.
  28. Widgets are all localized. Show a sample with another locale (changing the browser locale). Templates too…OvLegendScalebarMeasurementBookmark Gauge
  29. Widgets: Common map elements like a legend or scale bar as well as web specific things like map popups, an overview map, attribute inspector and many others.
  30. Derek covers brief overview of the api
  31. Like all Esri products, there is a resource center for the API. We’ve set up a shortlink you can use to get there. There you’ll find API class documentation, our conceptual help which contains more detailed documents on everything from best practices for working map graphics to how to write your own classes. There are also links to “What’s New” documents for each release of the API as well as system requirements.The resource center also includes over 200 samples which can be used as a starting point for apps that you build. The samples provide a great way to see what’s possible “out of the box” and how to use specific functionality. Finally, we also host a user forum specifically for the API. API ReferenceConceptual HelpSystem requirementsWalkthroughsBest practicesSamplesUser forum
  32. Layers: Traditional tiled and dynamic with more control over dynamic layers with 10.1. The API also provides classes to add WMS, WMTS, KML and other layer types to a map. You can also build your own custom layers.Add web tiled layer
  33. An easy way to view your JS apps is to double-click the file in windows explorer which opens the app in a browser using file://. While this approach may work in many situations a better approach is to setup a web server. A Web server is a computer program that delivers content (web pages) , using HTTP over the web. Demo running sample from IIS.