Exploring Esri Github

Blog Post created by odoe on Apr 24, 2015


So about two years ago or so Esri joined the world of developers who are using github on a regular basis to host and share code. As a developer, I'm sure there were many at Esri who were just ecstatic about being able to share their code and maybe more importantly get the community of current and new GIS developers involved. If you haven't yet gone through the Esri Github pages, you really should check it out.


So of course, there is an Esri Github page you can search by programming language to find a wealth of samples and projects.

I'm mainly a JavaScript guy, so some of my recommended projects to check out are as follows in no particular order:

Esri/jsapi-resources · GitHub

Esri/Terraformer · GitHub

Esri/esri-leaflet · GitHub

Esri/bootstrap-map-js · GitHub

Esri/angular-esri-map · GitHub

Esri/dojo-bootstrap-map-js · GitHub


There's also quite a few in the weeds projects that do some heavy lifting or are just plain interesting.

Esri/koop · GitHub

Esri/pushlet · GitHub

Esri/wind-js · GitHub


Then you can start delving into other languages and some pretty neat spatial tools.

Esri/geometry-api-java · GitHub

Esri/rabbitmq-for-geoevent · GitHub

Esri/spatial-framework-for-hadoop · GitHub

Esri/R-toolbox-py · GitHub


That's just a small sampling of the projects available via the Esri repos. Some of the widgets using the ArcGIS API for JavaScript are available in the repo and since they are on github, you could even contribute to them. That's the beauty of having code on github. There are plenty of samples and templates in their repo that you can use.


Going through the repos, I see plenty of Esri people submitting issues and pull-requests, but I also see a lot of regular users doing the same thing and contributing to projects. It can be as simple as submitting an update to the documentation or updating an project to use the latest version of an API. It is after all, all about community.


For more geodev tips and tricks, check out my blog.