Mastering JavaScript

preview_player
Показать описание
Master JavaScript best practices for designing and developing fully functional, cross-platform libraries
Use powerful design patterns for an innovative and cutting-edge approach to web development
Enhance the performance of your libraries by focusing on a new aspect in every video

Learning
Understand how to maintain code consistency by learning naming convention best practices
Get a behind-the-scenes look at the issues while targeting JavaScript version compatibility with different browsers
Lay the groundwork for creating libraries by loading scripts dynamically
Integrate Modernizr into your workflow to get rid of manual feature detection
Create and manipulate DOM elements using Sizzle
Explore the different design patterns and learn how to effectively use them with JavaScript
Make your library secure with the help of the advanced façade pattern
Add a time manager to your library using the singleton design pattern
Create, integrate, and test event dispatchers in JavaScript

About
JavaScript is the browser language that supports object-oriented, imperative, and functional programming styles, focusing on website behavior. It has a rich set of libraries and frameworks and is the most widely used client-side language with features such as asynchronous communication, controlling browsers, and editing documents. JavaScript provides web developers out there with the knowledge to program more intelligently and idiomatically—something not all programmers can do or understand.

Mastering JavaScript will immerse you in the JavaScript world, where you will mature as a developer by exploring the best practices for building an original, functional, and useful cross-platform library.

Starting off with just some basic knowledge of JavaScript and HTML, we will first lay a solid naming foundation for OOP coding by exploring the best naming conventions practices for primitive variables, constructors, methods, and properties. Then we’ll shed some light on creating global namespace, create a pure JavaScript onload script, and walk through cross-browser compatibility. We will learn how the onload and DOMContentLoaded events are actually triggered and understand how to use querySelectorAll method and dynamically load scripts using a script loader.

As the course progresses, we will start building up our own libraries by integrating codes, methods, and logic, we will also expand our library with design patterns such as module, façade, adapter, and singleton. Finally, we will create a working time manager and explore unit testing in JavaScript.

After working through this video course, you will be equipped with all the knowledge, tips, and hacks you need to stand out in the advanced world of web development.

Style and Approach
A practical, well-structured video course that gives the users hands-on experience for creating their own original libraries using a variety of design patterns.

Idiomatic JavaScript
The Course Overview
Using White Space for Readability
Declaring Variables
Declaring Complex Data Types and Functions
OOP Naming Conventions
Creating a Global Namespace
Constants (and Pseudo constants)
Smart Coercion of Data Fields
Cross-browser Development
Targeting at JavaScript Versions or Features
Creating an onload Method That Always Works
OnReady – Our First Cross-browser Script
Using Modernizr to Detect Features
Cross-browser DOM Manipulation
Building a Conditional Logic Flow
Selecting DOM Elements Natively in HTML5
Creating a Cross-browser Script Loader
Using Sizzle to Select DOM Elements
Creating a JavaScript Library
Defining a Namespace
Creating Private Variables in JavaScript
The JavaScript Module Design Pattern
Version Controlling Our Library
Building Out Our Library
Expanding Out with Design Patterns
Thinking with Interfaces
Creating an Adapter Design Pattern
Building a jQuery Adapter
Adding a Functionality Method
Mimicking the jQuery Wrapper
Exploring the Facade Design Pattern
Introducing the Facade Design Pattern
Creating a Facade Creator
Creating a New Global Function Through the Facade
Creating an Advanced Facade Pattern
Working with Time in JavaScript
Creating a Singleton
Building the Constructor for Our Ticker
Connecting Time with Our Ticker
Processing Interval groups
Exposing Our Ticker to the World
Dispatching Events in JavaScript
Creating an Event Dispatcher
Integrating the Event Dispatcher into Our Library
Removing Events from the Dispatcher
Building Test Units