• Technical IT

    Solutions delivered throughout the UK
  • Business Applications

    Solutions delivered throughout the UK
  • Professional Best Practice

    Solutions delivered throughout the UK
  • Professional Development

    Solutions delivered throughout the UK

Advanced Web-Application Development in JavaScript

Advanced Web-Application Development in JavaScript
  • Price £695.00
  • Level Advanced
  • Duration 2 day(s)
All major credit cards accepted

Description

JavaScript is one of the hottest topics currently in software development, and is driving the evolution of the Web from a static-document delivery system to a dynamic application-deployment infrastructure. Moreover, the use of XMLHTTPRequest, Server-Sent Events and WebSockets, along with ever-increasing client-side complexity, introduces critical design-considerations from which traditional web-development is immune. Yet few JavaScript and AJAX courses go beyond an essentially syntax-oriented syllabus that focuses on the language itself, on the basics of communicating with the server, and on implementing a range of effects in the browser.

This course addresses the challenges of modern web-application development by taking JavaScript training to the next level. It demonstrates rigorously a fundamental set of design-principles that foster the construction of client-side systems along formal, architectural lines, to yield applications that are composed of modular components that may be extended and re-combined arbitrarily. The course shows through these overarching themes the scalable development-path to robust, secure and extensible applications that embody a very high degree of code-reuse.

The syllabus covers initially the basis of software design and the core of the JavaScript language, and follows this with an exploration of DOM manipulation and the essence of client-server communication techniques. This foundation in place, it introduces a simple, well-defined and generic approach to designing client-side software that employs ‘decorative’ principles to implement application-internals as ‘Chains of Responsibility’. It shows from there how to employ this approach in user-interface management, and client-server transaction handling to create sophisticated front-end software.
It also develops the underlying theory to show how to handle race conditions, how to implement secure applications, and how to create modal user-interfaces; and it covers techniques that may be used to instrument applications for the purposes of profiling and defect diagnosis. The design principles taught are independent of any of the popular libraries and frameworks, and this equips delegates with the ability to make objective decisions at the highest-level within a project.

The course provides delegates with a rich and detailed set of high quality training-materials, which include a comprehensive set of exercise problems that delegates attempt hands-on as the curriculum unfolds. Additionally, the course uses an existing web application (developed by the course-author) as a case-study in the techniques presented by the syllabus.

Prerequisites

This course is intended for software developers who have reasonable experience of HTML and CSS, and sound experience of JavaScript, and who wish to place their understanding of programming and JavaScript on a firm footing. It is intended particularly for those who seek deep insights into modern client-side software-architecture. Server-side issues are covered formally but comprise only a small part of the syllabus, and this renders concrete experience of PHP, ASP and other server-side technologies unnecessary.

Assumed Knowledge

Please note that this is a deeply-technical course that requires demonstrable aptitude for creating and implementing algorithms and data structures. Given this, developers who are new to programming, or who are relatively inexperienced in JavaScript will be served better by attending an introductory course on the language and on basic algorithmic-techniques before they attend this course.

Skills

See course overview for full details

Course Content

JavaScript essentials: functions, object-literal definitions, exception handling, the JavaScript object-model, native and host types; the Document Object Model, manipulating page-elements through the DOM.


Function references: using and manipulating references, closures; references, timers and user events; using function references to resolve complex conditional-logic problems simply.


Type extension: augmenting object properties, augmenting and overriding object-methods, type-extension caveats and design-guidance.


Communications: JSON, XMLHTTPRequest, Server-Sent Events and WebSockets; a transactional model of client-server interaction; managing communication with the server, managing the user interface, abstracting user-interface controls; managing multiple and concurrent transactions; handling race conditions and transaction failures.


Architecture: employing the Factory, Strategy, Decorator, Chain of Responsibility and the Null Object design patterns to construct infinitely-scalable systems comprising modular highly-reusable, application backbones; implementing modal user-interfaces, and database management front-ends; profiling and problem-diagnosis; implementing security and session control; implementing load-on-demand functionality.

Make Enquiry

Course Enquiry
  •  
  •  

Book Now

Course Enquiry
  •  
  •