Introduction to Modern JavaScript | 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.
Skills Gained
Working within in an engaging, 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
Who Can Benefit
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.
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
- Lab: Working with HTML
Lesson: HTML5
- HTML5 Overview
- HTML5 Semantic Structure
- HTML5 Forms
- HTML5 Media Delivery
- Exercise: Writing a Valid HTML5 Document
- Exercise: Writing HTML5 Forms
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
- Lab: Working with CSS
Lesson: CSS3 Overview
- What is new in CSS3
- The Advantages of CSS3
- Browser Support for CSS3
- Lab: Working with CSS3
Session: Introduction to JavaScript
Lesson: JavaScript Basics
- JavaScript Defined
- Variables and Operators
- Flow Control and Conditionals
- Lab: JavaScript Basics
Lesson: Debugging Tools
- Using the strict mode and setting breakpoints
- Browser debugging tools
- Monitoring resource usage and performance
- Emulating devices Exceptions in JavaScript
- Lab: JavaScript Debugging
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
- Lab: JavaScript Built-in Objects
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
- Lab: Using Events and the DOM
Lesson: Object-Oriented JavaScript
- JavaScript “Objects” and “Classes”
- Constructors and Prototypes
- Prototypes
- Extending Classes with Prototype
- Reusable, Flexible Classes
- Lab: Working with 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
- Lab: Working with ES6
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
- Lab: Implementing JSON
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
- Lab: Using the Web Storage API
- Lab: Using the ApplicationCache API
Session: Working with XML (Optional)
Lesson: XML DOM Mechanics
- HTML vs XML DOM
- Building an XML DOM
- Integrating XML into HTML
- XML Response Processing
- Lab: Loading XML Data into an HTML Page
Lesson: XSLT Applied
- XSLT in the Browser
- XSLT in Specific Browsers
- Sarissa Assistance
- XSLT Pluses and Minuses
- Lab: XSLT Transformations with Sarissa