TT4110: Introduction to JavaScript | Modern JavaScript Essentials
About this Course
Introduction to JavaScript | Modern JavaScript Essentials is a hands-on geared for web developers who need to learn basic JavaScript to use with today’s systems and architectures to build sophisticated web interfaces. The training will guide students through a balanced mixture of theory and practical labs to gain core JavaScript development skills and have them explore its related technologies through to the use of tools and libraries to ease the development of advanced web applications. Course attendees will be able to hit the ground running right after class, applying essential JavaScript to projects at both an architectural as well as a line by line coding level.
Audience Profile
This Introductory-level course is targeted for aspiring web developers who have software development experience or background. The course can also be adjusted for non-developers upon request.
At Course Completion
Throughout this course, students will explore the practical use of the umbrella of technologies that work in conjunction with JavaScript as well as some of the tools, toolkits, and frameworks that can be used in conjunction with web development and deployment. The course thoroughly explores JavaScript and how it is used within the context of web applications, walking students through the different technologies that are used with JavaScript and exploring core aspects of JavaScript in terms of web applications, security, tools, and frameworks.
Working within in a hands-on learning environment guided by our expert team, attendees will learn to:
· Understand what JavaScript is and how it is used within the context of web applications
· Work with the different technologies that are the foundation for web applications.
· Understand and work with the fundamental aspects of JavaScript in terms of web applications, security, tools, and frameworks
· Learn to how to effectively work with the newest advances in JavaScript such as ES6 and TypeScript
· Develop code using conventions and optimal constructs for performance
Outline
Session: HTML Refresher (optional)
Lesson: HTML
· Define HTML and review its history
· Look at XHTML and its relationship to HTML
· Identify HTML limitations and improvements
Lesson: HTML5
· HTML5 Overview
· HTML5 Semantic Structure
· HTML5 Forms
· HTML5 Media Delivery
Session: CSS Refresher (optional)
Lesson: CSS
· Learn the basics of CSS
· Meaning of cascading in CSS
· Declaring CSS within your HTML page
· Creating styles in an external CSS file
· Control how to display and position HTML elements
· Overriding standard tag behavior
· Adding new classes
· Using custom classes in your page
Lesson: CSS3 Overview
· What is new in CSS3
· The Advantages of CSS3
· Browser Support for CSS3
Session: Introduction to JavaScript
Lesson: JavaScript Basics
· JavaScript Defined
· Variables and Operators
· Flow Control and Conditionals
Lesson: Debugging Tools
· Using the strict mode and setting breakpoints
· Browser debugging tools
· Monitoring resource usage and performance
· Emulating devices Exceptions in JavaScript
Lesson: JavaScript Functions
· Functions in JavaScript
· Invoking Functions
· Function Constructor
· Function Scope and Closures
Lesson: JavaScript Arrays, Math and Date
· JavaScript Literals
· JavaScript Arrays
· Working with Numbers and Dates
Lesson: JavaScript Event Handling and the DOM
· Events and Event Handling
· HTML Document Object Model
· Accessing the DOM
· Dynamically Working with the DOM
· DOM Challenges
Lesson: Object-Oriented JavaScript
· JavaScript “Objects” and “Classes”
· Constructors and Prototypes
· Prototypes
· Extending Classes with Prototype
· Reusable, Flexible Classes
Session: Advanced JavaScript Topics
Lesson: ES6: The Next Step
· ES6 Defined
· ES6 Default and Rest Parameters
· IIFE and Closures
· ES6 Importing/Exporting Modules
· Arrays, ES6 Maps, and ES6 Sets
· Working Arrays with ES6
· Working Strings with ES6 Strings
· ES6 Constructs and Inheritance
· ES6: Getters and Setters
Lesson: TypeScript
· Strong Data Typing
· Compiling TypeScript to JavaScript
· TypeScript Datatypes
· TypeScript Classes and Interfaces
Lesson: Introduction to JSON and Ajax
· JavaScript Object Notation
· AJAX: Load Once and Change Data
· XMLRequestObject is at the Center
· Calling the Service
· The Callback
Lesson: JavaScript Best Practices
· Code Conventions for the Lifecycle
· Resolving Shared Resources
· Constructs to Use
· Constructs to Avoid
· Memory Considerations
Lesson: JavaScript Scheduling, Execution, and Security
· Timers and Scheduling
· Execution Contexts
· Same Origin Policy and JavaScript
· Security Considerations
Lesson: HTML5 JavaScript API
· Cross-Domain Messaging
· Working with Web Storage
· Offline with Application Cache
· Geolocation: What, Why, and How
Bonus Content / Time Permitting
Session: Working with XML
Lesson: XML DOM Mechanics
· HTML vs XML DOM
· Building an XML DOM
· Integrating XML into HTML
· XML Response Processing
Lesson: XSLT Applied
· XSLT in the Browser
· XSLT in Specific Browsers
· Sarissa Assistance
· XSLT Pluses and Minuses
Prerequisites
This is an introductory level course for experienced software developers seeking to enhance and extend their core web development skillset leveraging JavaScript. Attendees should have practical experience developing basic software applications. This course provides an excellent foundation for continued learning to gain in-demand skills in in-demand skills and technologies such as NodeJS, Angular, React, Redux and more. This course can also be tailored for less experienced or non-developers as needed. Please inquire for details.