rocking and tooling your geodev environment · rocking and tooling your geodev environment, 2015...

30
ROCKING AND TOOLING YOUR GEODEV ENVIRONMENT GAVIN REHKEMPER & JOSH PETERSON

Upload: others

Post on 05-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

ROCKING AND TOOLINGYOUR GEODEVENVIRONMENT

GAVIN REHKEMPER & JOSH PETERSON

Page 2: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

“Always code as if the guy who ends upmaintaining your code will be a violent

psychopath who knows where you live.” - Martin Golding

Work faster, smarter, and with quality.

Page 3: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

"SOFTWARE CRAFTSMANSHIP"

Page 4: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

Javascript and Python are the

Batman and Robin of geo dev.

Page 5: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

IDETASK AUTOMATION

DEV TOOLS

Page 6: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

I use IDLE & Dreamweaver....opens PyCharm & Sublime Text

THEME ITSeti UI (file icons, clean interface/colors)

Page 7: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation
Page 8: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

EXTEND IT

ColorHighlighter

Supports variables!

Page 9: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

GitGutter for repo comparisonEmmet for text expansion

Page 10: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

SublimeLinter

Page 11: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

JSFormat enforces syntax

Protip: project-specific configs

Page 12: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

Anaconda for Python

Page 13: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

Imports Validator

Page 14: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

Autocomplete - Even for Arcpy!

Page 15: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

IDE

TASK AUTOMATIONDEV TOOLS

Page 16: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation
Page 17: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

npm to install plugins

package.json to manage them

Page 18: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

Configure tasks in Gruntfile.js

Page 19: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

grunt.registerTask

Chain tasks for common workflows

Page 20: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

grunt-contrib-connect

start a web server

grunt-concurrent

run tasks concurrently

Page 21: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

grunt-autoprefixer

add vendor prefixes

grunt-uncss

remove unused CSS

Page 22: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

grunt-shell

run shell commands

grunt-zip

zip and unzip files

Page 23: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

AUTOMATION FOR PYTHON

Page 24: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation
Page 25: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

THE PLAN*1. Use 2. Grunt task to copy files from working directory to:

3. Grunt task to restart ArcGIS Server:

Python Toolbox

arcgissystem\arcgisinput\[folder]\[tool name].GPServer\extracted\v101\

grunt-ags-admin* Use for development only, and at your own risk!

Page 26: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

2:23

Page 27: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

IDE

TASK AUTOMATION

DEV TOOLS

Page 28: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

All modern browsers have dev tools

Chrome Firefox Safari Internet Explorer

Page 29: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

Basics are boring, let's see some...advanced techniques

Page 30: Rocking and Tooling your GeoDev Environment · Rocking and Tooling your GeoDev Environment, 2015 Esri International Developer Summit, 2015 Esri International Developer Summit--Presentation

THANK YOU!JOSH PETERSON

/jpeterson/jm_peterson

GAVIN REHKEMPER/gavinr

/gavinrehkemper

Please rate this session:http://www.esri.com/events/session-rater?id=90#18940