Programming Languages for Beginners

2843
6
07-19-2017 12:45 PM
PamelaLocke1
Occasional Contributor

Hi - new to programming and developing in general, but work in the GIS world and use ArcGIS Online and associated apps a lot!  I would like to start learning how to customize apps and web pages.  What languages should I start with - JavaScript, HTML, & Python?  Which one first?  Any recommendations on where to start would be great - thanks! 

0 Kudos
6 Replies
AdrianWelsh
MVP Notable Contributor

Hi Pamela,

I had a similar question about a year ago with some great replies. Take a look:

https://community.esri.com/message/589244 

PamelaLocke1
Occasional Contributor

Perfect thank you!  did you find any of those sites more useful than the others?  So hard to figure out where to start! 

0 Kudos
AdrianWelsh
MVP Notable Contributor

Hi Pamela,

It is hard to figure out where to start. Nearly any learning-your-self-type of sites will be useful. I used Code Academy and found it fun and useful (they kind of gamify things, making you want to get more "accomplishments" which helps me sometimes!). I like Tim Witt's answer in that thread and used that Build your first application  website.

I also found that just modifying existing stuff helped me a lot too, sort of seeing what is already there and what kind of things I can do to make good changes. Playing around in the "Sandbox" is good too.

I have the Getting to Know Web GIS but I've been too busy to read it, unfortunately. I also obtained this book: Web GIS | Principles and Applications and still need to go through it. It's a forever learning process!

I hope this is helpful!

0 Kudos
AdrianWelsh
MVP Notable Contributor
RebeccaStrauch__GISP
MVP Esteemed Contributor

 I would like to start learning how to customize apps and web pages.  

Adrian's suggestion are good places to start, in particular the Javascript and HTML for web pages.  Python would be more for geoprocessing scripts and tasks, which is a must (in my opinion) for GIS, but more advanced when talking about apps and web pages (i.e. may need ArcGIS Server for GP services).

ArcGIS Online  http://www.arcgis.com/home/index.html  gives you many options for "configuring" maps/apps/web pages without having a strong JS/HTML background.  You can sign up for a free account (start http://www.arcgis.com/features/features.html  ) if your organization doesn't have one already.  

You also have an option to configure AND customize using the Web AppBuilder developer edition.  The user comunity has quite a few custom apps that allow you to extend the out-of-the-box (OOTB) version with little or no progamming skills, and this is a great way to learn how others program. It is a great way to learn (i.e. learning to read code) and a good programmer learns to not reinvent the wheel but massage or improve on it.  I have a series of blogs that will help with WAB developer edition, and the latest version WAB 2.5 was just released today (7/19/2017), so good timing on that.

/blogs/myAlaskaGIS/2016/03/09/web-appbuilder-developer-edition-customization-resource-list?sr=search...‌  main list and has links to the other blogs,

/blogs/myAlaskaGIS/2017/03/04/web-appbuilder-the-custom-widgets-list-332017?sr=search&searchId=9944b...‌  to see some of the customization others have done.  With the 2.5 release, some of these custom widgets may now be part of the core....too early to know.

If you need a developer license, you can get a free account and Get Started with ArcGIS For Developers | ArcGIS for Developers  is a good place to start.  Ont he main page, you can find a link to the Javascript API (pulldown) with all the documentation and a bunch of samples and a "sandbox" where you can play and see your changes in realtime.  This is also a great what to learn.

Watch the recorded tech session videos, do some of the free online classes, etc.  I've been doing this development for years and I would definitely not call myself an expert and any of it...but learning where you can find the answers online, and using Geonet when you get stuck (hint...make sure to post in the correct location, include software and development environment and version,follow https://community.esri.com/people/curtvprice/blog/2014/09/25/posting-code-blocks-in-the-new-geonet?s...‌ when asking questions, etc)

DavidMartinez
Esri Regular Contributor

Hi Pamela,

Just based on your description of ArcGIS Online and associated apps, I would first start with HTML and JavaScript. There are a ton of online resources to assist you with this process. There are also some free and paid coding schools (w3schools.com,code academy) online that can help you learn the syntax and understand the language. Of course our own ArcGIS JavaScript samples, DevLabs (learn how to build an app in 15 minutes),  Esri Training courseshttps://www.esri.com/training/catalog/search/ (some are free) and the Geonet community is a great starting place to ask questions. After you get a feel for the language and syntax the best way to learn is to work on an actual project. Do you have an app that maybe uses a template that you would like to extend? Remember feel free to always ask questions, that is how we all learn.  

Cheers,

David