JavaScript and Important JavaScript Frameworks

JavaScript Web

JavaScript, the only language that actually runs everywhere. From big servers in the cloud to tiny watches on your wrist. No wonder its gained such popularitly. Spend 5 days with this powerful scripting language, and get up to speed with all the newest web technologies in popular use today.

Pre Requisites

Attendees must have some working knowledge of JavaScript and HTML.

Day 1: Up to speed with JavaScript

The very basics of JavaScript
This module level sets everyone, it introduces you to the very basics of JavaScript, variables, language syntax, referencing files, loops, conditions, built in functions and custom functions, arrays etc. If everyone already knows this stuff, we can jump over this module quickly.

Stepping to the next level
So you know JavaScript, or do you? This module takes intermediate JavaScript levels to expert level. In this module we will talk about functions as expressions, closures to structure your code, the concept of nested scopes and the confusion around "this". We will learn all about Objects and Prototypes, and how you can mimic things in JavaScript that are fundamentally reserved for higher level languages.

Best Practices and Debugging tricks
Now that you are a JavaScript expert, it is time to solidify that knowledge with some best practices and debugging tricks. Along with common pitfalls and how to avoid them. And how can you organize your code in modules to keep it maintainable and understandable.

Day 2: jQuery
An introduction to jQuery
So you know JavaScript. It is time to learn the most popular JavaScript framework, which is jQuery. What is jQuery, what is it good for, and what can it do?

DOM and jQuery
Search and walk through the DOM with selectors and traversing. Add and remove elements from the DOM.

jQuery and Events
Listen for events, handle them, and even change default event behavior with jQuery.

Styling with jQuery
CSS can be tough! Especially when you need to style things dynamically. But jQuery make things so much easier. Also animation, everyone loves animation.

AJAX and Forms
Create responsive sites with Ajax and jQuery. Understand how jQuery helps you create responsive pages that do not refresh and make use of Ajax.
Understand promises and deferreds
Understand jQuery utility methods such as $.each, $map

Popular jQUery plugins.

Day 3: AngularJS Part 1

An introduction to AngularJS
AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. This module gets you started with AngularJS showing the basic syntax and some quick starts to get us running.

Models, Controllers and Views
Controllers in AngularJS is a fundamental building block of Angular. AngularJS encourages better code architecture by encouraging you to use MVC based patterns. There is rich support for controllers and views, and this module will familiarize you with those.

Templates and DataBinding
When working with complex forms or even reactive user interfaces, it really helps to leverage concepts such as databinding. Databinding in JavaScript is especially valuable but can be difficult to implement, unless you use something like Angular.

Day 4: AngularJS Part 2
Services in Angular, Dependency Injection
Services in Angular are substitutable objects that are wired together using dependency injection. Fancy! What the hell does that even mean. Well for one, services are a classic way of bundling together reusable code across controllers in your application, and they can be lazily instantiated or singletons. There are services that angular provides, like $http, or ones you can create, and then there is something called interceptors. This module gets in in the deep of AngularJS services.

Directives in AngularJS are markers on DOM elements that tell AngularJS HTML compiler to attach some specified behavior to that particular DOM element or its children. There are many directives, like ngBind, ngModel, ngClass, and this module shows you the most important directives.

Routing and Single Page Applications (SPA)
AngularJS routes enable you to create different URLs for different content in your application. Having different URLs for different content enables the user to bookmark URLs to specific content. Single Page applications allow you to write HTML and JavaScript code, that more or less performs and behaves like a thick client application. Its pretty neat, trust me you'll be using this.

Day 5: Breeze.js, Bootstrap and cross platform mobile apps
So you know AngularJS, but working with data is a whole another animal. When it comes to working with OData, Breeze.js, well makes it a breeze. Now whether it is caching, offline support, occasionally connected apps, it is all so easy and fits in so well with Angular.

Bootstrap allows you to build great looking responsive websites that work well in different sized devices. This module introduces you through examples various bootstrap concepts, components, page design, and JavaScript functions in Bootstrap

Cross Platform Mobile Apps: Cordova
This module requires a mac for the labs.
Yes it is possible to write Android and iOS apps without knowing ObjectiveC/Swift or Java, or let's just say you can get by with a lot. Armed with all this knowledge so far, this module will introduce you to Cordova application development, and tips and tricks you need to know to write good cross platform hybrid apps, that feel, walk, talk, and act native. Seriously, you won't be able to tell the difference!


09:00 - 16:15