What You Will Learn |
Course Highlights |
Course Details |
Dates & Locations |
Essential JavaScript + jQuery provides an introduction to and experience working with the JavaScript programming language in the environment it's used in the most: the browser. JavaScript is simple and elegant, but is often difficult to work with because it's so different from the programming languages most developers are used to working with.
This course also covers jQuery and provides practical and hands-on experience with the preferred JavaScript library for building rich web applications. If you are building for the web, learning jQuery will change the way you write JavaScript, working across multiple browsers and platforms.
You'll get answers to these questions:
Come and learn how to utilize JavaScript to the max!
DevelopMentor's Essential courses provide two days of instructor-led training for the experienced developer. Gain deep understanding of your development platform. Acquire skills you need to be productive today. Build a solid foundation for more advanced topics.
.
What You Will Learn |
Course Highlights |
Course Details |
Dates & Locations |
What You Will Learn |
Course Highlights |
Course Details |
Dates & Locations |
This course covers JavaScript and jQuery and is intended for web developers who are targeting modern web browsers (Chrome, Firefox, Safari, and IE9) on any platform (Windows, Mac OS X, Linux, iOS, Android).
Day 1
The JavaScript Programming Language
This module introduces the JavaScript programming language. Its history, syntax, built-in data types, and control flows, will be covered. The parts of JavaScript that developers should avoid will also be discussed but still covered so that you'll know what to do when you encounter them. Even though this module doesn't assume any prior JavaScript knowledge, it doesn't treat you like you've never programmed before and even developers who've worked with the language should be able to walk away from this module with a much more solid understanding of JavaScript fundamentals.
The Document Object Model
The DOM is the API that all JavaScript programmers have to be familiar with in order to do any sort of non-trivial task. Unfortunately, the DOM is also the API that causes the most about of frustration and pain. We'll talk discuss how to traverse the DOM, manipulate it, and handle its events in a cross-browser way. We'll also take a look at the jQuery framework to see how it can make some of these tasks easier, but still requiring you to be familiar with the underlying DOM API it tries to hide.
Ajax
Communicating with remote servers from the browser using JavaScript is what Ajax is all about. We'll learn how to use Microsoft's (now standardized and present in all modern browsers) XMLHttpRequest object to communicate with the server. We'll see how easy it is to dynamically download and inject HTML and JavaScript into our pages as well as send data to and from the server in the ubiquitous JSON format.
Day 2
Functions and Closures
JavaScript treats functions as first-class objects. What does that even mean? This module talks about the refreshing nature of functions in JavaScript and how closures enable a style of expressiveness that can seem completely alien to developers who have only worked with strictly imperative languages. By the end of this module, you'll be familiar with and confident in using functional programming techniques to take your JavaScript skills to the next level.
Objects and Prototypes
JavaScript is a language that's full of objects and yet, seemingly paradoxically, has no classes. Defining constructor functions, inheriting properties from prototypes, and how to manage the elusive "this" reference are covered in this module. We'll see how to simulate classes using prototypes, but will try to reinforce JavaScript's native object model so that those crutches won't be necessary.
Day 3
Introduction to jQuery
To get things started, we'll talk about what jQuery is, what it can do, where to get it, and how to include it into both existing and new pages. We'll introduce the famous $ function and do some simple selections with it, modifying the DOM, and handling some events. This introduction will be light enough to get started using jQuery quickly, but show enough of what it's capable of so that we have some context in the modules that follow.
Selecting Elements
jQuery gets its name for its ability to query the DOM for elements in an amazing variety of ways. This module will cover the many different selectors that jQuery supports, but also the methods the jQuery object supports that allow you to refine and extend the results of your queries. The style of method chaining that jQuery made popular will be covered, allowing you to truly write less, but do more.
Manipulating the Document
You've selected the correct elements, what's next? This module demonstrates how easy jQuery makes it to manipulate the DOM by creating new elements and updating existing ones. You'll see how jQuery makes programmatic CSS manipulation a breeze. You'll also get to explore jQuery's support for "animating" the properties of your elements in order to create impressive visual and functional effects for when the user is interacting with your pages.
Day 4
Event Handling
Users do stuff with your pages. jQuery makes handling events in a cross-browser manner so easy that you'll want to do all of your development in JavaScript. You'll see how to bind and unbind handlers to events (both DOM and custom) and the gotchas you need to keep in mind managing the event context properly. You'll also see how to use "live" events which automatically detect when new elements are added to the DOM and handle events for them.
Ajax with jQuery
No JavaScript library would be complete without some sort of support for making requests from the client to the server. jQuery makes it trivial to download and inject HTML into an existing DOM. It's just as easy to send data to and receive data from "web services" located on the server, allowing complex logic to be authored in JavaScript and run on the client. jQuery's Deferred objects will also be covered, greatly easing the burden of working with asynchronous data sources.
Plugins
Even if "core" jQuery were all you could use, it would still be worth it. Fortunately, the jQuery community has written hundreds, if not thousands, of plugins (mostly free) that can take your applications to the next level with barely any code to write on your part. This module will cover some of the more popular plugins (color, validation, form, and more) and demonstrate how to write your own (this is often useful even if you don't plan on sharing your plugins with anybody else).
Day 5
jQuery UI
The jQuery UI project is a standard set of widgets and effects, put together by the jQuery team by selecting from and improving upon some of the most popular plugins developed by the community. These feature-rich widgets (autocomplete, datepicker, dialog, tabs, and more) can make your web pages seem as rich as traditional applications. You'll also learn how to use the jQuery UI CSS Framework.
Templates and Data Binding
As more code is written in JavaScript for execution in the browser, developers are discovering that they need to change the way they write JavaScript to keep it manageable. The "official" template and data link plugins you'll discover in this module will demonstrate one way of taking your JavaScript development to the next level.
Testing
The core jQuery library comes with thousands of tests ensuring it works in all modern browsers. How many tests do you have for the JavaScript in your application? This module highlights the qUnit testing framework used by the jQuery team which you can use for your own code and also demonstrates how to use tools like Selenium and WatiN to do full, end-to-end testing for your web applications.
Ronald Sumida is VERY knowledgeable of the material and .NET in general. I learned an extraordinary amount. Smith D.