{"title":"Mobile App Development","description":null,"products":[{"product_id":"introduction-to-angular-2","title":"Introduction to Angular","description":"\u003cdiv\u003e\n\u003cp\u003eLearn Angular 18 and build responsive, enterprise-strength applications that run smoothly on desktop and mobile devices with this \u003cstrong\u003eAngular training\u003c\/strong\u003e course. Angular provides a robust framework that facilitates the development of richly interactive applications running on multiple platforms. Gain experience building components, creating directives, modularizing applications, and building template-driven forms. \u003c\/p\u003e\r\n\u003cp\u003eYou'll be given remote access to a preconfigured virtual machine for you to perform your hands-on exercises, develop\/test new code, and experiment with the same software used in your course. This course is compatible with older versions of Angular.\u003c\/p\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch3\u003eIntroduction to Angular Benefits\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eIn this Angular Training course, you will learn how to:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eCreate device-independent Angular applications.\u003c\/p\u003e\n\u003cp\u003eDevelop Components using TypeScript, Templates, and Decorators.\u003c\/p\u003e\n\u003cp\u003eConsume \u003cabbr title=\"representational state transfer\"\u003eREST\u003c\/abbr\u003e services using Observables.\u003c\/p\u003e\n\u003cp\u003eModularize applications with the Component Router.\u003c\/p\u003e\n\u003cp\u003eCapture and validate input with template-driven forms.\u003c\/p\u003e\n\u003cp\u003eLeverage continued support with after-course one-on-one instructor coaching and computing sandbox.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAngular Training Course Prerequisites \u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eBefore attempting this course, attendees should have the following: \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eExperience developing web pages at the level of JavaScript Essentials for Web Development.\u003c\/li\u003e\n\u003cli\u003eKnowledge of HTML (HyperText Markup Language) and CSS (Cascading Style Sheets).\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\u003ch3\u003eAngular Training Course Outline\u003c\/h3\u003e\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 1: Angular Introduction\u003c\/h4\u003e\n\u003cp\u003eArchitectural overview \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eSimplifying the development of complex modern applications\u003c\/li\u003e\n\u003cli\u003eThe organization of an Angular app\u003c\/li\u003e\n\u003cli\u003eSupporting multiple client devices\u003c\/li\u003e\n\u003cli\u003eConfiguring an Angular development environment\u003c\/li\u003e\n\u003cli\u003eBootstrapping your first Angular application\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eGetting started with TypeScript\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eTranspiling TypeScript to JavaScript\u003c\/li\u003e\n\u003cli\u003eBuilding an app with TypeScript\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 2: Constructing User Interface (UI) Components\u003c\/h4\u003e\n\u003cp\u003eDefining components\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eStructure of a component\u003c\/li\u003e\n\u003cli\u003eIntroducing the component hierarchy\u003c\/li\u003e\n\u003cli\u003eDeclaring metadata with the @Component decorator\u003c\/li\u003e\n\u003cli\u003eControlling HTML5 generation with Templates\u003c\/li\u003e\n\u003cli\u003eDisplaying repeating data with @for blocks\u003c\/li\u003e\n\u003cli\u003eConditional generation of DOM content\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eDebugging techniques and strategies\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eInterpreting framework error messages\u003c\/li\u003e\n\u003cli\u003eExploring the component hierarchy with Angular Dev Tools\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eReducing code complexity with Dependency Injection (DI)\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003ePrinciples of DI\u003c\/li\u003e\n\u003cli\u003eCreating loosely coupled applications\u003c\/li\u003e\n\u003cli\u003eConfiguring providers and declaring Injectables\u003c\/li\u003e\n\u003cli\u003eSatisfying dependencies with Provider metadata\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 3: Testing Angular Components \u0026amp; Functionality\u003c\/h4\u003e\n\u003cp\u003eStructuring test strategies\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eUnit testing vs. integration testing\u003c\/li\u003e\n\u003cli\u003eWorking with mock Angular components\u003c\/li\u003e\n\u003cli\u003eAsynchronous testing with Typescript arrow functions\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eLeveraging 3rd party tools\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefining tests with Jasmine\u003c\/li\u003e\n\u003cli\u003eAutomating tests with Angular CLI (command line interfaces) and Karma\u003c\/li\u003e\n\u003cli\u003eBuilding and running a Cypress Integration test\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 4: Adding Interactivity to Your Applications\u003c\/h4\u003e\n\u003cp\u003eCoordinating Component interaction\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003ePassing data from parent to child with Input bindings\u003c\/li\u003e\n\u003cli\u003eListening for property changes with ngOnChanges\u003c\/li\u003e\n\u003cli\u003eBinding a model to display with interpolation\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eManaging events\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDetecting and responding to user interaction\u003c\/li\u003e\n\u003cli\u003eCapturing browser events\u003c\/li\u003e\n\u003cli\u003eEmitting custom events to trigger behavior\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 5: Navigation and Data Transformation\u003c\/h4\u003e\n\u003cp\u003eCreating modular applications\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eControlling application flow with the Component Router\u003c\/li\u003e\n\u003cli\u003eBuilding Feature Modules\u003c\/li\u003e\n\u003cli\u003eParameterizing routes for dynamic navigation\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eManipulating data with Pipes\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFormatting dates for display\u003c\/li\u003e\n\u003cli\u003eChaining pipes to combine functionality\u003c\/li\u003e\n\u003cli\u003eFiltering data with custom Pipes\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 6: Building Interactive Forms\u003c\/h4\u003e\n\u003cp\u003eDisplaying and capturing data\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeveloping forms with ngFormModel and FormBuilder\u003c\/li\u003e\n\u003cli\u003eDifferentiating Template Driven and Reactive forms\u003c\/li\u003e\n\u003cli\u003eTwo-way binding between input controls and data model\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eValidating form input\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eLeveraging HTML5 and custom validation\u003c\/li\u003e\n\u003cli\u003eProviding user feedback from validators\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 7: Managing Asynchronous Behavior\u003c\/h4\u003e\n\u003cp\u003eKeeping the App Responsive\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eSubscribing to Observables\u003c\/li\u003e\n\u003cli\u003eConverting stream data types with the Observable map function\u003c\/li\u003e\n\u003cli\u003eOptimizing change detection with immutability and onPush\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eInteracting with a Web APIs\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eExchanging data with the HTTP (HyperText Transfer Protocol) object\u003c\/li\u003e\n\u003cli\u003eBidirectional communication using Web Sockets\u003c\/li\u003e\n\u003cli\u003eGracefully handling errors\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 8: Extending Angular Capabilities\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCreating a custom styling directive \u003c\/li\u003e\n\u003cli\u003eIncorporating Angular Material Components\u003c\/li\u003e\n\u003cli\u003eCustomising Material themes\u003c\/li\u003e\n\u003cli\u003eImproving layout with Sidenav and Cards\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e","brand":"Learning Tree","offers":[{"title":"269B07US \/ 2026-09-01T09:00:00 \/ Herndon, VA","offer_id":47534224867547,"sku":"US-2324-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"267C98US \/ 2026-07-21T09:00:00 \/ Herndon, VA","offer_id":48216576229595,"sku":"US-2324-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"26BA41US \/ 2026-11-17T09:00:00 \/ Herndon, VA","offer_id":48216576262363,"sku":"US-2324-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"271A43US \/ 2027-01-26T09:00:00 \/ Herndon, VA","offer_id":48216576295131,"sku":"US-2324-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"273A36US \/ 2027-03-30T09:00:00 \/ Herndon, VA","offer_id":48523465162971,"sku":"US-2324-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"276A41US \/ 2027-06-01T09:00:00 \/ Herndon, VA","offer_id":48823755669723,"sku":"US-2324-IL","price":2512.0,"currency_code":"USD","in_stock":true}]},{"product_id":"css3-responsive-web-design-training","title":"CSS3 Responsive Web Design Training","description":"\u003cdiv\u003e\n\u003cp\u003eAttend this CSS3 Responsive Web Design course \u0026amp; learn how to build accessible and responsive web applications featuring a rich UI that adapts to the widest possible range of internet-capable devices. You will gain the design skills to create collapsible navigation, liquid layout content, accessible data tables and forms, all while adhering to WCAG level A, AA and AAA checkpoints.\u003c\/p\u003e\r\n\u003cp\u003eYou will employ modern, mobile-first design techniques leveraging typography, flexbox, CSS3 functions and pseudo-selectors\/elements, and explore CSS integration with modern JavaScript frameworks like Angular and jQuery.\u003c\/p\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch3\u003eCSS3 Responsive Web Design Training Benefits\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eIn this CSS training, you will learn how to:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDesign Accessible Web Sites using industry standard Accessibility Guidelines.\u003c\/li\u003e\n\u003cli\u003eCreate Responsive Layouts that adapt to any device size or operating system.\u003c\/li\u003e\n\u003cli\u003eLeverage Web Typography and modern, responsive units of measure.\u003c\/li\u003e\n\u003cli\u003eCapture user input with responsive and accessible forms and data tables.\u003c\/li\u003e\n\u003cli\u003eImplement SASS via Ruby CLI and create a Bootstrap 4 design template.\u003c\/li\u003e\n\u003cli\u003eManage CSS within popular MVC and DOM frameworks like Angular and jQuery.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003ePrerequisites\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eHTML Experience\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\u003ch3\u003eResponsive Web Design Training Outline\u003c\/h3\u003e\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 1: Introduction to Cascading Style Sheets\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFormalize relationship between HTML, JavaScript and CSS\u003c\/li\u003e\n\u003cli\u003eDefine Modern Browser and Web Accessibility\u003c\/li\u003e\n\u003cli\u003eDevelop reusable classes\u003c\/li\u003e\n\u003cli\u003eLeverage the CSS Inheritance Model\u003c\/li\u003e\n\u003cli\u003eOptimize your code with Embedded and External CSS\u003c\/li\u003e\n\u003cli\u003eUpdate your browser with development assets\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 2: Styling the CSS Box Model\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eStyle HTML container box properties\u003c\/li\u003e\n\u003cli\u003eLeverage differences between block and inline elements\u003c\/li\u003e\n\u003cli\u003eManipulate color and transparency\u003c\/li\u003e\n\u003cli\u003eDevelop global and consistent style resets\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 3: Selecting DOM Elements and Attributes\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eTarget DOM elements and attributes for style\u003c\/li\u003e\n\u003cli\u003eMake selections based on DOM hierarchy\u003c\/li\u003e\n\u003cli\u003eSelect based on DOM element behavior\u003c\/li\u003e\n\u003cli\u003eChain selections and apply CSS functions\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 4: Positioning with Accuracy and Consistency\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eManipulate static, absolute, relative and fixed position rules\u003c\/li\u003e\n\u003cli\u003eFloat and clear floated containers\u003c\/li\u003e\n\u003cli\u003eApply flexible box model techniques\u003c\/li\u003e\n\u003cli\u003eExplore CSS columns and grids\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 5: Web Typography\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDistinguish font from typeface and apply font properties\u003c\/li\u003e\n\u003cli\u003eApply text, letter and line properties\u003c\/li\u003e\n\u003cli\u003eEmploy web fonts\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 6: Accessible and Responsive Forms and Data Tables\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eExplore regional interpretations of Accessibility\u003c\/li\u003e\n\u003cli\u003eCreate accessible and responsive forms based on WCAG\u003c\/li\u003e\n\u003cli\u003eLeverage and extend HTML5 for validation\u003c\/li\u003e\n\u003cli\u003eBuild accessible and responsive data tables based on WCAG\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 7: Templating with SASS, LESS and Bootstrap\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eQualify strengths of CSS preprocessing frameworks\u003c\/li\u003e\n\u003cli\u003eInstall Ruby and SASS on Windows and create a SCSS document\u003c\/li\u003e\n\u003cli\u003eCompile SCSS to CSS and investigate alternative pre-processing tools\u003c\/li\u003e\n\u003cli\u003eLeverage Bootstrap 4 CSS library\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 8: Styling DOM and MVC JS Frameworks\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAnimate DOM content with pure CSS\u003c\/li\u003e\n\u003cli\u003eAdd menu toggles with JavaScript\u003c\/li\u003e\n\u003cli\u003eManage CSS selector syntax with jQuery and Angular\u003c\/li\u003e\n\u003cli\u003eImplement responsive and infinite scrolling\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e","brand":"Learning Tree","offers":[{"title":"268B81US \/ 2026-08-04T09:00:00 \/ Herndon, VA","offer_id":47534220673243,"sku":"US-522-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"26AA93US \/ 2026-10-20T09:00:00 \/ Herndon, VA","offer_id":48216592220379,"sku":"US-522-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"271A97US \/ 2027-01-05T09:00:00 \/ Herndon, VA","offer_id":48216592253147,"sku":"US-522-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"273A75US \/ 2027-03-02T09:00:00 \/ Herndon, VA","offer_id":48310907207899,"sku":"US-522-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"275A75US \/ 2027-05-04T09:00:00 \/ Herndon, VA","offer_id":48738855059675,"sku":"US-522-IL","price":2512.0,"currency_code":"USD","in_stock":true}]},{"product_id":"building-web-applications-with-react-18","title":"Building Web Applications with React 19","description":"\u003cdiv\u003e\u003cp\u003eThis \u003cstrong\u003eBuilding Web Applications with React 19 Training\u003c\/strong\u003e gives you the tools to build client-side applications using React 19 to create high-performance apps running both in the browser and as native mobile applications. The course uses Hooks in React 19 to simplify coding and improve performance while leveraging Typescript, Storybook, and the Redux Toolkit to improve productivity in creating complex applications. The full development process is covered, beginning with creating the application project, architecting the solution, integrating automated testing (using the React Testing Library for both unit and end-to-end testing), and finishing with deploying the application.\u003c\/p\u003e\u003c\/div\u003e\u003cdiv\u003e\n\u003ch3\u003eBuilding Web Applications with React 19 Benefits\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eIn this React 19 training, you will learn the following:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eCreate web applications with the most popular client-side framework.\u003c\/li\u003e\n\u003cli\u003eBuild dynamic applications with multiple screens and components.\u003c\/li\u003e\n\u003cli\u003eRead, update, add, and delete server-side data using Ajax calls.\u003c\/li\u003e\n\u003cli\u003eArchitect client-side components using Storybook to speed development.\u003c\/li\u003e\n\u003cli\u003eEnd-to-End testing by simulating user interactions.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eReact Training Course Prerequisites\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eBefore attending this course, attendees should have knowledge at the level of Course 2319, JavaScript Essentials for Web Development.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\u003ch3\u003eReact Training Outline\u003c\/h3\u003e\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 1: Introduction and Overview\u003c\/h4\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eUnderstanding React\u003c\/li\u003e\n\u003cli\u003eIntegrating React and TypeScript\u003c\/li\u003e\n\u003cli\u003eAdding functionality with Modules\u003cb\u003e\u003c\/b\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 2: Designing Custom React Components\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003eLeveraging JSX for UI design\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eCreating a page with components\u003c\/li\u003e\n\u003cli\u003eCoding custom components\u003c\/li\u003e\n\u003cli\u003eUnderstanding the differences between JSX and HTML\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 3: Activating React Components\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003eParameterizing components\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003ePassing data from owner components to children\u003c\/li\u003e\n\u003cli\u003eLeveraging the children props to pass content dynamically\u003c\/li\u003e\n\u003cli\u003eLeveraging TypeScript to provide default values and data types\u003c\/li\u003e\n\u003cli\u003eIntegrating stateless functional components\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eManipulating component state\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eManaging State with UseState\u003c\/li\u003e\n\u003cli\u003eBest practices for integrating components with TypeScript and props\u003c\/li\u003e\n\u003cli\u003eIntroducing Hooks\u003c\/li\u003e\n\u003cli\u003eManaging activities with useEffect\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 4: Building Dynamic Hierarchies\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003eManaging Complex UIs\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eComposing a JSX component hierarchy with the Container\/Presentational design pattern\u003c\/li\u003e\n\u003cli\u003eCentralizing logic at the container level by passing functions as props\u003c\/li\u003e\n\u003cli\u003eImproving performance with useCallback\u003c\/li\u003e\n\u003cli\u003eDynamically building the UI at runtime\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eEnsuring quality with automated testing\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eUnit testing with Jest\u003c\/li\u003e\n\u003cli\u003eEnd-to-End testing with Enzyme\u003c\/li\u003e\n\u003cli\u003eImproving testing syntax with Testing Library\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 5 Accepting and Validating User Input\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003eExploiting Storybook\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eSpeeding development by prototyping in Storybook\u003c\/li\u003e\n\u003cli\u003eGenerating documentation from components\u003c\/li\u003e\n\u003cli\u003eEnsuring accessibility with automated analysis\u003c\/li\u003e\n\u003cli\u003eLogging component interactions\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eManipulating form input components\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eWorking with interactive properties\u003c\/li\u003e\n\u003cli\u003eCapturing form component updates with onChange\u003c\/li\u003e\n\u003cli\u003eExploiting controlled components with one-way dataflow\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eImplementing data and event binding\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eApplying the onChange \/ useState() convention\u003c\/li\u003e\n\u003cli\u003eReducing onChange clutter for cleaner code\u003c\/li\u003e\n\u003cli\u003eIntegrating functions with form events\u003c\/li\u003e\n\u003cli\u003eImproving performance with useTransition\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 6 Routing between components\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003eImplementing navigation\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eExploiting the react-router for semantic URLs\u003c\/li\u003e\n\u003cli\u003eMapping URL paths to components\u003c\/li\u003e\n\u003cli\u003eEnabling navigation with code and the Link component\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003ePassing parameters in URLs\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eCreating routes with multiple parameters\u003c\/li\u003e\n\u003cli\u003eHandling ambiguous routes\u003c\/li\u003e\n\u003cli\u003eExtracting parameters with useParams\u003c\/li\u003e\n\u003cli\u003eSharing global data with useContext\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 7: Connecting React to RESTful services\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003eGlobal State and Redux\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eMaking Ajax calls with Axios\u003c\/li\u003e\n\u003cli\u003eMapping CRUD access to React components\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eExploiting Axios\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eSimplifying code with custom Axios objects\u003c\/li\u003e\n\u003cli\u003eIntegrating asynchronous access\u003c\/li\u003e\n\u003cli\u003eLooking at Axios advanced features\u003c\/li\u003e\n\u003cli\u003eReviewing alternatives\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 8: Centralizing State with the Redux Toolkit\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003eGlobal State and Redux\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eArchitecting loosely-coupled applications for extensibility\u003c\/li\u003e\n\u003cli\u003eManaging state centrally with the Redux Toolkit\u003c\/li\u003e\n\u003cli\u003eAdding Web service updates to the global store\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eCoding a loosely coupled application\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eCreating the central store\u003c\/li\u003e\n\u003cli\u003eUnderstanding React’s one-way data flow at the application level\u003c\/li\u003e\n\u003cli\u003eSegmenting the store with slicers\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eManaging application-wide data\u003c\/b\u003e\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eCreating the reducers and slices to manage application-wide state\u003c\/li\u003e\n\u003cli\u003eExploiting useSelector and useDispatch to access the global store\u003c\/li\u003e\n\u003cli\u003eReviewing alternatives\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 9: Enhancing for Maintenance and Deploying\u003c\/h4\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eExtending your components with Higher-Order Components\u003c\/li\u003e\n\u003cli\u003eAccessing HTML with useRef\u003c\/li\u003e\n\u003cli\u003eExternalizing configuration with appsetting files\u003c\/li\u003e\n\u003cli\u003eDeploying your application to IIS\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e","brand":"Learning Tree","offers":[{"title":"268B25US \/ 2026-08-04T09:00:00 \/ Herndon, VA","offer_id":47534212382939,"sku":"US-2316-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"269A90CN \/ 2026-09-01T09:00:00 \/ Ottawa","offer_id":48216576000219,"sku":"US-2316-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"26AA52US \/ 2026-10-27T09:00:00 \/ Herndon, VA","offer_id":48216576032987,"sku":"US-2316-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"26CA37CN \/ 2026-12-01T09:00:00 \/ Ottawa","offer_id":48216576065755,"sku":"US-2316-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"271A41US \/ 2027-01-26T09:00:00 \/ Herndon, VA","offer_id":48216576098523,"sku":"US-2316-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"273A47CN \/ 2027-03-02T09:00:00 \/ Ottawa","offer_id":48310906650843,"sku":"US-2316-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"274A28US \/ 2027-04-27T09:00:00 \/ Herndon, VA","offer_id":48682046226651,"sku":"US-2316-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"276A57CN \/ 2027-06-01T09:00:00 \/ Ottawa","offer_id":48823754424539,"sku":"US-2316-IL","price":2512.0,"currency_code":"USD","in_stock":true}]},{"product_id":"blazor-course-building-web-applications","title":"Blazor Course: Building Web Applications","description":"\u003cdiv\u003e\n\u003cp\u003eIn this \u003cb\u003eBlazor course\u003c\/b\u003e, you will learn how to use Blazor, Microsoft’s recommended framework for building interactive web UIs, and C# create interactive single-page and multi-page applications.\u003c\/p\u003e\r\n\u003cp\u003eYou will also learn how to:\u003c\/p\u003e\r\n\u003cul type=\"disc\"\u003e\r\n\u003cli\u003eTake advantage of the complete .NET framework to create code that fully integrates client-side and server-side logic and resources\u003c\/li\u003e\r\n\u003cli\u003eCreate input forms that include customized validation\u003c\/li\u003e\r\n\u003cli\u003eSecure and deploy your Blazor application\u003c\/li\u003e\r\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch3\u003eBlazor Course: Building Web Applications Benefits\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eIn this course, you will:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreate interactive client-side pages that can seamlessly access server-side resources.\u003c\/li\u003e\n\u003cli\u003eImplement the container\/presentation pattern to integrate server-side and client-side resources.\u003c\/li\u003e\n\u003cli\u003eLeverage databinding, form validation, and other best practices to improve productivity.\u003c\/li\u003e\n\u003cli\u003eNavigate between components.\u003c\/li\u003e\n\u003cli\u003eSecure your application using OAuth2.0 claims.\u003c\/li\u003e\n\u003cli\u003eIntegrate JavaScript and C# code.\u003c\/li\u003e\n\u003cli\u003eTest your knowledge in the included end-of-course exam.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003ePrerequisites\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eTo succeed in this course, you should have prior experience with:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eWriting C# code in .NET 5, .NET Core, or .NET Framework\u003c\/li\u003e\n\u003cli\u003eCreating web applications (recommended)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\u003ch3\u003eBuilding Web Applications with Blazor Training Outline\u003c\/h3\u003e\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eLearning Objectives\u003c\/h4\u003e\n\u003cp\u003e\u003cb\u003eModule 1: Introduction and Overview\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eIn this module, you will learn about:\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eThe Blazor Model\u003c\/li\u003e\n\u003cli\u003eCosts, benefits, and differences of Client-Side Blazor (CSB) and Server-Side Blazor (SSB)\u003c\/li\u003e\n\u003cli\u003eCreating hybrid applications that integrate server-side and client-side processing\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eModule 2: Creating Web Pages with Blazor\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eIn this module, you will learn how to:\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eWork with Blazor in Visual Studio Code\u003c\/li\u003e\n\u003cli\u003eCreate your first Blazor component\u003c\/li\u003e\n\u003cli\u003eBuild client-side components that can access server-side databases without Web services\u003c\/li\u003e\n\u003cli\u003eLeverage .NET Standard libraries and NuGet packages\u003c\/li\u003e\n\u003cli\u003eArchitect your application to reduce maintenance costs\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eModule 3: Navigation and UI consistency\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eIn this module, you will learn how to:\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eNavigate between components to create richer applications\u003c\/li\u003e\n\u003cli\u003ePass data between components\u003c\/li\u003e\n\u003cli\u003eEnsure UI consistency and lower maintenance costs with layouts and templates\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eModule 4: Accepting User Input and Validating Data\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eIn this module, you will learn how to:\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eBuild forms and validate data in Blazor\u003c\/li\u003e\n\u003cli\u003eSupport simple data validation declaratively\u003c\/li\u003e\n\u003cli\u003eCreate custom validation to handle complex business scenarios\u003c\/li\u003e\n\u003cli\u003eImplement best practices for managing your application\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cb\u003eModule 5: JavaScript, Testing, Authentication, and Deployment\u003c\/b\u003e\u003c\/p\u003e\n\u003cp\u003eIn this module, you will learn how to:\u003c\/p\u003e\n\u003cul type=\"disc\"\u003e\n\u003cli\u003eIntegrate JavaScript and browser APIs in Blazor\u003c\/li\u003e\n\u003cli\u003eCreate and run automated tests with bUnit\u003c\/li\u003e\n\u003cli\u003eSecure your application with declarative and procedural authorizations\u003c\/li\u003e\n\u003cli\u003eDeploy your Blazor application\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e","brand":"Learning Tree","offers":[{"title":"267B66US \/ 2026-07-27T09:00:00 \/ Herndon, VA","offer_id":47534212645083,"sku":"US-2326-IL","price":1640.0,"currency_code":"USD","in_stock":true},{"title":"26AA55US \/ 2026-10-26T09:00:00 \/ Herndon, VA","offer_id":48216586846427,"sku":"US-2326-IL","price":1640.0,"currency_code":"USD","in_stock":true},{"title":"271A44US \/ 2027-01-25T09:00:00 \/ Herndon, VA","offer_id":48216586879195,"sku":"US-2326-IL","price":1640.0,"currency_code":"USD","in_stock":true},{"title":"274A29US \/ 2027-04-26T09:00:00 \/ Herndon, VA","offer_id":48669325590747,"sku":"US-2326-IL","price":1640.0,"currency_code":"USD","in_stock":true}]},{"product_id":"javascript-essentials-for-web-development","title":"JavaScript Essentials for Web Development","description":"\u003cdiv\u003e\n\u003cp\u003eAttend this JavaScript Essentials for Web Development training course and gain knowledge and skills to create modern, interactive websites. In this course, you learn how to structure code, add interactivity, and leverage JavaScript to generate dynamic HTML5. You will also benefit from the use of best practices and progressive enhancement techniques. You will grow significantly on your path to achieving the knowledge and skills of a full stack developer by accessing data asynchronously.\u003c\/p\u003e\r\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch3\u003eJavaScript Essentials for Web Development Benefits\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eIn this JavaScript Development course, you will learn how to:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrite and debug client-side JavaScript to create modern pages for a variety of devices.\u003c\/li\u003e\n\u003cli\u003eImplement dynamic HTML effects to improve interactivity.\u003c\/li\u003e\n\u003cli\u003eApply unobtrusive JavaScript programming patterns.\u003c\/li\u003e\n\u003cli\u003eCreate dynamic, interactive forms with enhanced validation.\u003c\/li\u003e\n\u003cli\u003eLeverage continued support with after-course one-on-one instructor coaching and computing sandbox.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003ePrerequisites\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eExperience developing web pages with HTML and CSS at the level of Course 2320, HTML5, CSS3, and JavaScript for Modern Web Development.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\u003ch3\u003eFull Stack JavaScript Development Course Outline\u003c\/h3\u003e\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 1: Introduction and Overview\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript versions\u003c\/li\u003e\n\u003cli\u003eApplying progressive enhancement\u003c\/li\u003e\n\u003cli\u003eAdding JavaScript to web pages\u003c\/li\u003e\n\u003cli\u003eUnobtrusive JavaScript\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 2: Learning Basic Syntax\u003c\/h4\u003e\n\u003cp\u003eCore JavaScript syntax\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCoding variables, statements, and control blocks\u003c\/li\u003e\n\u003cli\u003eWorking with objects, strings, and arrays\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eImplementation\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eControlling client-side browser objects\u003c\/li\u003e\n\u003cli\u003eAdding the behavior unobtrusively\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 3: Simplifying Code with Functions\u003c\/h4\u003e\n\u003cp\u003eDefining Functions\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeclaration\/Expression\u003c\/li\u003e\n\u003cli\u003eAnonymous\u003c\/li\u003e\n\u003cli\u003eCallback\u003c\/li\u003e\n\u003cli\u003eImmediately Invoked Function Expressions (IIFE)\u003c\/li\u003e\n\u003cli\u003ePassing optional parameters\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 4: Exploring Objects, Classes, and Modules\u003c\/h4\u003e\n\u003cp\u003e\u003cspan data-contrast=\"auto\"\u003eDeclaring objects\u003c\/span\u003e\u003cspan data-ccp-props='{\"201341983\":0,\"335559739\":200,\"335559740\":276}'\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli data-leveltext=\"\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props='{\"335552541\":1,\"335559684\":-2,\"335559685\":720,\"335559991\":360,\"469769226\":\"Symbol\",\"469769242\":[8226],\"469777803\":\"left\",\"469777804\":\"\",\"469777815\":\"hybridMultilevel\"}' aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"\u003e\u003cspan data-contrast=\"auto\"\u003eStructuring code with Object Literal Notation (OLN)\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-leveltext=\"\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props='{\"335552541\":1,\"335559684\":-2,\"335559685\":720,\"335559991\":360,\"469769226\":\"Symbol\",\"469769242\":[8226],\"469777803\":\"left\",\"469777804\":\"\",\"469777815\":\"hybridMultilevel\"}' aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"\u003e\u003cspan data-contrast=\"auto\"\u003eAugmenting functionality with the prototype\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-leveltext=\"\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props='{\"335552541\":1,\"335559684\":-2,\"335559685\":720,\"335559991\":360,\"469769226\":\"Symbol\",\"469769242\":[8226],\"469777803\":\"left\",\"469777804\":\"\",\"469777815\":\"hybridMultilevel\"}' aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"\u003e\u003cspan data-contrast=\"auto\"\u003e\u003cspan data-contrast=\"none\" xml:lang=\"EN-US\" lang=\"EN-US\" class=\"TextRun SCXW81200531 BCX8\"\u003e\u003cspan class=\"NormalTextRun SCXW81200531 BCX8\"\u003eExplore classes\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 5: Introducing Built-In Objects\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli data-leveltext=\"\" data-font=\"Symbol\" data-listid=\"17\" data-list-defn-props='{\"335552541\":1,\"335559684\":-2,\"335559685\":720,\"335559991\":360,\"469769226\":\"Symbol\",\"469769242\":[8226],\"469777803\":\"left\",\"469777804\":\"\",\"469777815\":\"hybridMultilevel\"}' aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"\u003e\n\u003cspan data-contrast=\"none\"\u003ePerform complex math with the Math object\u003c\/span\u003e\u003cspan data-ccp-props='{\"201341983\":0,\"335559739\":200,\"335559740\":276}'\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli data-leveltext=\"\" data-font=\"Symbol\" data-listid=\"17\" data-list-defn-props='{\"335552541\":1,\"335559684\":-2,\"335559685\":720,\"335559991\":360,\"469769226\":\"Symbol\",\"469769242\":[8226],\"469777803\":\"left\",\"469777804\":\"\",\"469777815\":\"hybridMultilevel\"}' aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"\u003e\n\u003cspan data-contrast=\"none\"\u003eManipulate dates with the Date\u003c\/span\u003e\u003cspan data-ccp-props='{\"201341983\":0,\"335559739\":200,\"335559740\":276}'\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli data-leveltext=\"\" data-font=\"Symbol\" data-listid=\"17\" data-list-defn-props='{\"335552541\":1,\"335559684\":-2,\"335559685\":720,\"335559991\":360,\"469769226\":\"Symbol\",\"469769242\":[8226],\"469777803\":\"left\",\"469777804\":\"\",\"469777815\":\"hybridMultilevel\"}' aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"\u003e\n\u003cspan data-contrast=\"none\"\u003eOrganize data with the Set object\u003c\/span\u003e\u003cspan data-ccp-props='{\"201341983\":0,\"335559739\":200,\"335559740\":276}'\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli data-leveltext=\"\" data-font=\"Symbol\" data-listid=\"17\" data-list-defn-props='{\"335552541\":1,\"335559684\":-2,\"335559685\":720,\"335559991\":360,\"469769226\":\"Symbol\",\"469769242\":[8226],\"469777803\":\"left\",\"469777804\":\"\",\"469777815\":\"hybridMultilevel\"}' aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"\u003e\n\u003cspan data-contrast=\"none\"\u003eManage data with the Map object\u003c\/span\u003e\u003cspan data-ccp-props='{\"201341983\":0,\"335559739\":200,\"335559740\":276}'\u003e \u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 6: Managing DOM Objects with JavaScript\u003c\/h4\u003e\n\u003cp\u003eManipulating the Document Object Model (DOM)\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCreating, reading, updating, and deleting web page markup\u003c\/li\u003e\n\u003cli\u003eTargeting elements by ID, tag name, and class name\u003c\/li\u003e\n\u003cli\u003eModifying presentational CSS for dynamic HTML effects\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eHandling events\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdding and removing event handlers unobtrusively\u003c\/li\u003e\n\u003cli\u003eInspecting event object properties\u003c\/li\u003e\n\u003cli\u003ePreventing default browser actions\u003c\/li\u003e\n\u003cli\u003eMinimizing handlers with event delegation\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eInteracting with the browser and user\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eResponding to users' actions\u003c\/li\u003e\n\u003cli\u003eGathering information\u003c\/li\u003e\n\u003cli\u003eManaging errors\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eLoading JavaScript Conditionally\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eImplementing feature testing to conditionally load required JavaScript\u003c\/li\u003e\n\u003cli\u003eOvercoming missing functionality with polyfills, and fallbacks\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 7: Processing HTML Forms\u003c\/h4\u003e\n\u003cp\u003eAssisting users in ensuring data validity\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eValidating without JavaScript\u003c\/li\u003e\n\u003cli\u003eImplementing dynamic select menus\u003c\/li\u003e\n\u003cli\u003ePreventing forms from submitting with enhanced validation\u003c\/li\u003e\n\u003cli\u003eCustomizing validation error messages\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eValidating data on the client side\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eMatching data patterns with regular expressions\u003c\/li\u003e\n\u003cli\u003eForm vs. field validation\u003c\/li\u003e\n\u003cli\u003eInvoking server-side business logic\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\u003cdiv\u003e\n\u003ch4\u003eModule 8: Asynchronous Processing and REST Calls\u003c\/h4\u003e\n\u003cp\u003eAsynchronous Processing \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eExploring Promises \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eRetrieving data \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eUsing REST to manipulate data \u003c\/li\u003e\n\u003cli\u003eUsing the XMLHttpRequest object \u003c\/li\u003e\n\u003cli\u003eUsing the Fetch API \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e","brand":"Learning Tree","offers":[{"title":"268B26US \/ 2026-08-04T09:00:00 \/ Herndon, VA","offer_id":47534219559131,"sku":"US-2319-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"26AA53US \/ 2026-10-20T09:00:00 \/ Herndon, VA","offer_id":48216590647515,"sku":"US-2319-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"26CA43US \/ 2026-12-15T09:00:00 \/ Herndon, VA","offer_id":48216590680283,"sku":"US-2319-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"273A34US \/ 2027-03-02T09:00:00 \/ Herndon, VA","offer_id":48310907142363,"sku":"US-2319-IL","price":2512.0,"currency_code":"USD","in_stock":true},{"title":"275A35US \/ 2027-05-04T09:00:00 \/ Herndon, VA","offer_id":48738853847259,"sku":"US-2319-IL","price":2512.0,"currency_code":"USD","in_stock":true}]}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0691\/4143\/0491\/collections\/QpCFYajmSOKgQKdhMkZ2_19c4d2bf-3f40-47e4-b0d9-fccc7f0800f7.webp?v=1780655618","url":"https:\/\/learningtreeinternational-dirinfosec-hhs.myshopify.com\/collections\/mobile-app-development.oembed","provider":"Learning Tree International","version":"1.0","type":"link"}