
Two years ago, the world was taking an early look at WebSockets and HTML5. Today, WebSockets is a finished standard and HTML5 has been frozen as a Candidate Recommendation. It’s time to put these technologies to work!
HTML5 introduces new high-performance communications features such as WebSockets, Cross Document Messaging, XMLHttpRequest Level 2, and Server-Sent Events. These provide ways to optimize your web applications’ performance and implement real-time communication that was previously the domain of desktop applications.
And while we have plenty of best practices for deploying the older HTTP-based communications technologies (AJAX, Reverse AJAX/Comet), deploying WebSockets requires some thought in how to secure, scale, and manage the network.
In this highly practical, action-packed two-day course you’ll learn to create WebSocket applications from the people who helped create the standard. You’ll design and build modern client-server applications for the web, deploy your application securely, and make it work with common Enterprise messaging architectures. You’ll also be ready to build communicating applications for mobile!
At the end of this class, you will be ready to build applications such as:
- Trading System Clients
- Online Betting Applications
- Social Chat Solutions
- Performance Monitoring Applications
- Sports and News Broadcasting Applications
Upon completion of this course you will know how to create your own scalable, real-time Web applications using the Kaazing WebSocket Gateway and other WebSocket platforms. In particular, you will be able to:
- Design complete client-server applications using WebSockets.
- Use modern JavaScript techniques to construct and manipulate client-side user interfaces.
- Write code to fetch data using either HTTP or WebSockets.
- Write code to fetch data across multiple origins.
- Debug client behaviors and the network messaging.
- Use tools to analyze web application performance.
- Build clients for a typical enterprise message bus.
- Decide when and why to use HTML5 Communication and its implications on your architecture.
- Secure your application deployment.
- Implement reliable communications for mobile applications, even under less than ideal network conditions.
- Prepare your deployment for high availability and scalability.
- Deploy your application even on legacy browsers.
The following is a detailed breakdown of all the course modules. Attendees will receive electronic copies of the presentations, lab files, and starter code.
Part 1: Core Skills for Application Development
- The new world of client-side web applications
- Lab: Examining a non-communicating client application
- Core Javascript review
- Lab: Working with modern JavaScript features
- Enhancing interactivity: DOM changes and visual transitions
- Lab: Manipulating the client UI
- Lab: JavaScript debugging techniques
Part 2: Communications approaches for client-server web applications
- Using HTTP and XMLHttpRequest
- Lab: Fetching data via AJAX
- HTTP Security
- Lab: Fetching data cross-origin
- Introducing WebSockets
- Lab: Receiving data via WebSockets
- Lab: WebSocket and HTTP debugging
Part 3: Simple client-server apps with WebSocket
- Setting up your WebSocket development environment
- Lab: Deploying a WebSocket client app
Part 4: Enterprise application architecture
- Enterprise Messaging overview
- Lab: Installing and running the Kaazing Web Gateway locally (to extend an enterprise message bus)
- Lab: Assembling a messaging client for an existing service
- Implementing two-way communications
- Lab: Assembling a command-driven client and server
Part 5: Securing your application
- Designing secure applications
- Security: Authentication and Authorization
- Lab: Adding basic authentication for a service
- Lab: Adding Cross-Origin Resource Sharing
Part 6: Using WebSockets in mobile applications
- Deploying WebSockets on mobile networks
- Securing communications
- Lab: Enabling secure WebSockets
- Implementing Mobile Communications
- Lab: Handling intermittent connectivity
Part 7: Deployment for production
- Compatibility strategies
- High Availability
- Lab: High Availability
- Integrating an alternate web server
- Lab: Web Server Integration
- Review and Summary