Wednesday, January 9, 2019

Learning JavaScript

JavaScript is the world's most popular programming language.  With the advent of ECMA standard 6 (ES6), the JavaScript language also got a pretty modern facelift.  Since JavaScript integrates with a lot of different concerns, from web pages to servers, there are a lot of ways to get started.

Here are a few pathways along with tutorials or readings

http://www.tothenew.com/blog/how-to-test-google-apps-script-using-qunit/
https://github.com/simula-innovation/qunit/tree/gas/gas

Useful Intro Reference for All JavaScript paths

Everyone works with strings, arrays, sets, and functions.  Become familiar with these libraries:

Google Docs Automation:

Google uses a version of JavaScript for automating Google applications.  This language has become known as GAS.
  • Your first time: https://www.benlcollins.com/spreadsheets/starting-gas/
  • https://developers.google.com/apps-script/overview
Here is a simple and easy to get started micro test library so you can do Test Driven Development or micro testing of your GAS code:
  • https://github.com/huan/gast

Advanced:

Sending your form data into a database:
  • https://www.youtube.com/watch?v=or78bBOeFU0
  • https://www.dataeverywhere.com/use-database-forms

Basic HTML and JavaScript route:

  • https://dev.to/programliftoff/create-a-basic-webpage-with-css-and-javascript--104i
  • https://medium.com/@blondiebytes/how-to-create-interactive-websites-with-javascript-627a6d998fed

Advanced Web App development

Pick a framework and start learning.  I recommend going "the long road" by investing in learning NodeJS instead of going straight to a web UI library such as ReactJS.  Learning how to build and create with NodeJS pays dividends for everything else you learn with javascript.  The information below suggests how to "discover" a link because most direct links I can provide will get out of date in twelve to twenty-four months.

NodeJS: for building a service

    ReactJS: for building a web UI
  • Install React JS environment 
  • Learn how to make a single page application.  
    • ReactJS getting started and get something working that creates a simple UI.  If you get stuck in installing your own development environment, you can also use online Playgrounds until you work out what's wrong with your own environment.
    • Another source of tutorials is to search youtube for "Single Page App React" and find something less than two years old.
  • Learn how to connect your single page application to a web service.  You can find tutorials on Youtube by searching for "react connect to webservice."  You can connect to existing web services.  NodeJS is a good way to build your own web service.
  • Learn how to connect your application to a datasource.  Search Youtube for : React connect to database getting started.
  • Redux for managing your view updates with a datasource.  Search Youtube for : React Redux getting started and find something less than two years old.

General JavaScript programming:

Unless you're writing Google Application Scripts, learn how to form your code with the latest standard (ES6 at this moment).  I'm a fan of using NodeJS for general JavaScript programming.