I Developing Web Applications with JavaScript, HTML5, and CSS
Course Goals I-2
Audience I-3
Course Outline I-4
Course Practices I-5
1 Introduction to Web Applications
Objectives 1-2
Introduction to Web Application 1-3
HTTP Requests Methods 1-5
HTTP GET and HEAD Methods 1-7
HTTP POST Method 1-8
HTTP PUT and PATCH Methods 1-9
HTTP DELETE Method 1-10
HTTP Responses and Status Codes 1-11
HTML Document Object Model (DOM) 1-12
HTML Document Page Layout 1-14
HTML Tables 1-15
HTML Lists 1-16
Add Style to HTML Elements 1-17
Add JavaScript to HTML Document 1-19
Associating Style Sheet with HTML Document 1-20
Associating JavaScript with HTML Document Page 1-21
HTML Forms 1-22
Implementing Navigation in an HTML Document 1-23
Summary 1-24
Practice Overview 1-25
2 Introduction to JavaScript
Objectives 2-2
Agenda 2-3
Introduction to JavaScript 2-4
JavaScript Origins 2-6
JavaScript Clones and Standards 2-7
JavaScript Standards Split 2-8
JavaScript Variants Proliferation 2-9
JavaScript New Engine and Server-Side Expansion 2-10
JavaScript Modern Evolution 2-11
Agenda 2-12
JavaScript Syntax 2-13
JavaScript Variables 2-14
JavaScript Data Types 2-15
JavaScript Types Coercion 2-18
Explicit Value Conversions 2-19
JavaScript Objects and Functions 2-20
Agenda 2-21
JavaScript Operators 2-22
Manipulate Numeric Values Using Arithmetic Operators 2-23
Extract Portions of Text from a String 2-24
Concatenate Strings 2-25
Manipulate Text Values 2-26
Compare Values 2-27
Manipulate Date Values 2-28
Agenda 2-29
Manipulate Arrays 2-30
Complex Arrays and Collections 2-31
Array Object 2-32
Agenda 2-34
Implement Flow Control with if /else 2-35
Ternary Operations 2-37
Implement Flow Control with Switch 2-38
Implement Iterations with Loops 2-39
For Loop Variants 2-40
Advanced Loops 2-41
Summary 2-42
Practice Overview 2-43
3 Functions, Classes, and Objects
Objectives 3-2
Classification of Functions, Classes, and Objects 3-3
Define and Invoke a Function 3-4
Arrow Functions 3-5
Global Object 3-6
this keyword 3-7
Define and Access an Object 3-8
Converting Objects to String 3-9
Define and Use Accessors 3-10
Define and Instantiate a Class 3-11
Constructor Functions 3-12
Define “Private" Properties 3-13
Define and Access Static Context 3-14
Dynamically Alter an Object 3-15
Interrogate Object and Its Properties 3-16
Retrieve and Populate Object Properties 3-17
Summary 3-18
Practice Overview 3-19
4 Extending Classes and Objects
Objectives 4-2
JavaScript Extensibility Mechanisms 4-3
What Is a Prototype? 4-4
Create Objects Based on a Specific Prototype 4-5
Function Object 4-6
Extending an Object vs Extending a Prototype 4-7
Implement Inheritance with Prototypes 4-8
Implement Inheritance with Classes 4-9
Spreading Arrays and Objects 4-10
Summary 4-11
Practice Overview 4-12
5 JavaScript in a Web Browser Environment
Objectives 5-2
Retrieve DOM Elements 5-3
Traverse Document Nodes 5-5
Interact with Elements and their Attributes 5-6
Interact with Selected Lists 5-7
Interact with Check Boxes 5-8
Interact with Radio Buttons 5-9
Event Handling Overview 5-10
Events and Listeners 5-11
Dispatching Events 5-12
Subscribing to Events 5-13
Prevent Default Action 5-15
React to User Input 5-16
Validate User Input 5-17
Assist User Input with Value Selectors 5-18
Display and Input a Value within a Range 5-19
Produce Image Map 5-20
Other Input Types 5-21
Button, Image, and Form Actions 5-22
Write to HTML Document 5-23
Add, Remove, and Modify HTML Document Content 5-24
Summary 5-25
Practice Overview 5-26
6 Cascading Style Sheets
Objectives 6-2
Defining Styles 6-3
Element Selectors 6-4
Attribute Selectors 6-5
Use Pseudo-Class and Pseudo-Element Selectors 6-6
Selecting Elements Based on Their State 6-7
Selecting Elements Based on Their Properties 6-8
Selecting Child Elements within a Parent 6-9
Other Selectors 6-10
Visual Properties 6-11
Setting Sizes 6-12
Setting Colors 6-13
Selecting Fonts 6-14
Positioning, Sizing and Orientation using Box Model 6-15
Box Model Example 6-16
Component Orientation 6-17
Handling Overflow 6-18
Control Display Layout 6-19
Grid Display 6-20
Flex Flow and Alignments 6-21
Flex Display 6-22
Altering Styles Based on Required Media 6-23
Media Queries 6-24
Dynamic Style Changes 6-25
Summary 6-26
Practice Overview 6-27
7 Advanced JavaScript
Objectives 7-2
Exception Handling 7-3
Producing Exceptions 7-4
Handling Exceptions 7-5
Timeouts and Intervals 7-6
Promises 7-7
Execute an Array of Promises 7-8
Async/Await 7-9
Pass Functions as Arguments and Return Functions 7-10
Modules 7-11
Export Components 7-12
Import Components 7-13
Access Modules from HTML Document 7-14
JavaScript Memory Organization and Code Execution 7-15
JavaScript Concurrency Limitations 7-16
Execute Concurrent Code with Workers 7-17
Worker Life Cycle 7-18
Worker Message Exchanges 7-19
Summary 7-21
Practice Overview 7-22
8 Exchanging Data with Servers
Objectives 8-2
What is JSON? 8-3
REST Service Conventions and Resources 8-4
Cross-Origin Resource Sharing (CORS) 8-5
Dispatch Service Request Using AJAX 8-6
Handle Service Response Using AJAX 8-7
Dispatch Service Requests Using Modern JavaScript 8-8
Handle Service Response Using Modern JavaScript 8-9
Introduction to WebSockets 8-10
WebSocket Life Cycle 8-11
Send and Receive Messages Via the WebSocket 8-12
Stateless Versus Stateful 8-13
Manage Application State 8-14
Retain State Using Parameters or Headers 8-15
HTTP Cookies 8-16
Set and Get HTTP Cookies in JavaScript 8-17
Local and Session Web Storage 8-18
Summary 8-19
Practice 8 8-20
9 JavaScript Variants, APIs, Frameworks, and the Cloud Environment
Objectives 9-2
Agenda 9-3
JavaScript Variants and Alternatives 9-4
TypeScript Type Enforcement 9-5
TypeScript Extra Types 9-6
TypeScript Enumerations 9-7
… And Many More TypeScript Features 9-8
Agenda 9-9
JavaScript Libraries and Frameworks 9-10
Manage Library References 9-12
Use jQuery Selectors and Functions 9-13
Use jQueryUI Widgets 9-14
Agenda 9-15
Implement Server-Side JavaScript with Node.js 9-16
Manage Node.js Projects 9-17
Agenda 9-18
JavaScript and Oracle Cloud Application Development 9-19
Single-Page Application Design 9-20
Visual Builder Studio Project Management 9-21
Visual Builder Application Runtime 9-22
Summary 9-23