cta quote button

Best Socket.io Books to Master the Technology

Read More

How Much Does It Cost to Hire Web Developers in Ukraine?

Our pricing is completely transparent: you pay your engineers’ salaries and a flat monthly fee for our services. No hidden charges.

Read More

1. Socket.IO Cookbook (2015)

Over 40 recipes to help you create real-time JavaScript applications using the robust Socket.IO framework

About This Book

  • Create secure WebSocket connections and real-time mobile applications using Socket.IO
  • Devise efficient messaging systems between the server side and the client side
  • A step-by-step implementation guide to help you create elements of Socket.IO application

Who This Book Is For

If you have some knowledge of JavaScript and Node.js and want to create awe-inspiring application experiences using real time communication, then this book is for you. Developers with knowledge of other scripting languages should also be able to easily follow along.

What You Will Learn

  • Build rich and interactive real-time dashboards using Socket.IO to pipe in data as it becomes available
  • Design chat and multiple-person interfaces that leverage Socket.IO for communication
  • Segment conversations to rooms and namespaces so that every socket doesn’t have to receive every message
  • Secure your data by implementing various authentication techniques, locking down the HTTP referrer and using secure WebSockets
  • Load balance across multiple server-side nodes and keep your WebSockets in sync using Redis, RabbitMQ or Memcached
  • Stream binary data such as audio and video in real-time over a Socket.IO connection
  • Create real-time experiences outside of the browser by integrating Socket.IO with hybrid mobile applications

In Detail

Socket.IO is a JavaScript library that provides you with the ability to implement real-time analytics, binary streaming, instant messaging, and document collaboration. It has two parts: a client-side library that runs in the browser, and a server-side library for node.js. Socket.IO is event-driven and primarily uses the WebSocket protocol that allows us to emit data bi-directionally from the server and the client. Socket.IO

This book is a complete resource, covering topics from webSocket security to scaling the server-side of a Socket.IO application and everything in between.

This book will provide real-world examples of how secure bi-directional, full-duplex connections that can be created using Socket.IO for different environments. It will also explain how the connection vulnerabilities can be resolved for large numbers of users and huge amounts of data/messages.

By the end of the book, you will be a competent Socket.IO developer. With the help of the examples and real-world solutions,you will learn to create fast, scalable, and dynamic real-time apps by creating efficient messaging systems between the server side and the client side using Socket.IO.

Style and approach

This book is written in a cookbook-style format and provides practical, immediately usable task-based recipes that show you how to create the elements of a Socket.IO application.

Author(s): Tyson Cadenhead

2. WebSocket: Lightweight Client-Server Communications (2015)

Until recently, creating desktop-like applications in the browser meant using inefficient Ajax or Comet technologies to communicate with the server. With this practical guide, you’ll learn how to use WebSocket, a protocol that enables the client and server to communicate with each other on a single connection simultaneously. No more asynchronous communication or long polling!

For developers with a good grasp of JavaScript (and perhaps Node.js), author Andrew Lombardi provides useful hands-on examples throughout the book to help you get up to speed with the WebSocket API. You’ll also learn how to use WebSocket with Transport Layer Security (TLS).

  • Learn how to use WebSocket API events, messages, attributes, and methods within your client application
  • Build bi-directional chat applications on the client and server with WebSocket as the communication layer
  • Create a subprotocol over WebSocket for STOMP 1.0, the Simple Text Oriented Messaging Protocol
  • Use options for older browsers that don’t natively support WebSocket
  • Protect your WebSocket application against various attack vectors with TLS and other tools
  • Debug applications by learning aspects of the WebSocket lifecycle

Author(s): Andrew Lombardi

3. Socket.IO Real-time Web Application Development (2013)

Build modern real-time web applications powered by Socket.IO

Overview

  • Understand the usage of various socket.io features like rooms, namespaces, and sessions.
  • Secure the socket.io communication.
  • Deploy and scale your socket.io and Node.js applications in production.
  • A practical guide that quickly gets you up and running with socket.io

In Detail

The expectations of users for interactivity withweb applications have changed over the past few years. No more does the user want to press the refresh button to check if new messages have arrived in their inbox; people expect to see updates in their applications in real-time. Mass multiplayer online games have given up the requirement of plugins and are built entirely in JavaScript. Socket.io enables you to build these highly interactive applications that work cross-browser.

“Socket.io Real-time Web Application Development” is a guide to building, deploying, and scaling highly interactive real-time web applications using socket.io. This book will guide you through the building of a chat system using Node.js and socket.io, helping you get familiar with various features of the framework. Going further it will empower you to deploy and scale your applications in production.

Introducing web application development with Node.js, this book walks you through developing of a full-fledged chat system built with socket.io and introducing all the concepts of socket.io and its usage in the process.

It introduces you to the different approaches of bidirectional communication between the browser and the web server and will show you how socket.io abstracts all this for you to provide a single unified and uniform API for messaging and eventing to develop cross-browser applications. It explains how to authenticate your users, segregate the communication to channels, build chat rooms, and handle and scale sessions. It explains the mechanics behind socket.io and it also introduces you to what is involved in deploying the application to production and the intricacies involved in scaling it

This book will introduce you to all that is needed in browser-server communication to develop the next generation of interactive applications and games.

What you will learn from this book

  • Establish a bidirectional connection in the browser to the web server.
  • Develop a chat system using Node.js and socket.io.
  • Various methods of pushing information from the server to the browser.
  • Get familiar with socket.io API for cross-browser bidirectional communication.
  • Understand the socket.io protocol and its mechanics behind the scenes.
  • Get to know Socket.io messaging, events, sessions, authorization, namespaces, and rooms.
  • Cluster and distribute the socket.io sessions using redis session store.

Approach

Written in an engaging, easy-to-follow style, “Socket.io Real-time Web Application Development” is a practical guide for developing real-time web applications with Node.js and socket.io.

Who this book is written for

This book is aimed at developers who want to start developing highly interactive and real-time web applications like chat systems or online multiplayer games, or want to introduce real-time updates or server push mechanisms in their existing applications. Knowledge of developing in JavaScript and web applications in general is expected. Though there is a chapter on introducing Node.js, prior knowledge of Node.js will be a plus..

Author(s): Rohit Rai

4. Express in Action: Writing, building, and testing Node.js applications (2016)

Summary

Express in Action is a carefully designed tutorial that teaches you how to build web applications using Node and Express.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

Express.js is a web application framework for Node.js. Express organizes your server-side JavaScript into testable, maintainable modules. It provides a powerful set of features to efficiently manage routes, requests, and views along with beautiful boilerplate for your web applications. Express helps you concentrate on what your application does instead of managing time-consuming technical details.

About the Book

Express in Action teaches you how to build web applications using Node and Express. It starts by introducing Node’s powerful traits and shows you how they map to the features of Express. You’ll explore key development techniques, meet the rich ecosystem of companion tools and libraries, and get a glimpse into its inner workings. By the end of the book, you’ll be able to use Express to build a Node app and know how to test it, hook it up to a database, and automate the dev process.

What’s Inside

  • Simplify Node app setup with Express
  • Testing Express applications
  • Use Express for easy access to Node features
  • Data storage with MongoDB
  • Covers Express 4 and Express 5 alpha

About the Reader

To get the most out of this book, you’ll need to know the basics of web application design and be proficient with JavaScript.

About the Author

Evan Hahn is an active member of the Node and Express community and contributes to many open source JavaScript projects.

Table of Contents

    PART 1 INTRO

  1. What is Express?
  2. The basics of Node.js
  3. Foundations of Express
  4. PART 2 CORE

  5. Middleware
  6. Routing
  7. Building APIs
  8. Views and templates: Pug and EJS
  9. PART 3 EXPRESS IN CONTEXT

  10. Persisting your data with MongoDB
  11. Testing Express applications
  12. Security
  13. Deployment: assets and Heroku
  14. Best practices

Author(s): Evan Hahn

5. Node.js in Action (2013)

Summary

Node.js in Action is an example-driven tutorial that starts at square one and guides you through all the features, techniques, and concepts you’ll need to build production-quality Node applications. You’ll start by learning how to set up your Node development environment, including loading the community-created extensions. Next, you’ll run several simple demonstration programs where you’ll learn the basics of a few common types of Node applications. Then you’ll dive into asynchronous programming, a model Node leverages to lessen application bottlenecks.

About this Book

JavaScript on the server? You bet. Node.js is a JavaScript server capable of supporting scalable, high-performance web applications. Using asynchronous I/O, the server can do more than one thing at a time, a key requirement for real-time apps like chat, games, and live statistics. And since it’s JavaScript, you use the same language end to end.

Node.js in Action shows you how to build production-quality applications. Clear introductions of key concepts and example-by-example coverage take you from setup to deployment. You’ll dive into asynchronous programming, data storage, and output templating, and interact with the filesystem to create non-HTTP applications like TCP/IP servers and command-line tools. Perfect for a web developer transitioning from Rails, Django, or PHP. Requires basic knowledge of JavaScript. No prior experience with Node.js needed.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

What’s Inside

  • Set up Node and extensions
  • Grok asynchronous programming and the event loop
  • Examples including microblogging, IM, games, and more

About the Authors

As skilled practitioners, expert teachers and trainers, and contributors to the core framework, authors Mike Cantelon, Marc Harter, T.J. Holowaychuk, and Nathan Rajlich represent the best of the Node.js development community.

Table of Contents

    PART 1 NODE FUNDAMENTALS
  1. Welcome to Node.js
  2. Building a multiroom chat application
  3. Node programming fundamentals
  4. PART 2 WEB APPLICATION DEVELOPMENT WITH NODE
  5. Building Node web applications
  6. Storing Node application data
  7. Connect
  8. Connect’s built-in middleware
  9. Express
  10. Advanced Express
  11. Testing Node applications
  12. Web application templating
  13. PART 3 GOING FURTHER WITH NODE
  14. Deploying Node applications and maintaining uptime
  15. Beyond web servers
  16. The Node ecosystem

Author(s): Mike Cantelon, Marc Harter

6. BEANS: Bootstrap, ExpressJS, AngularJS, NodeJS, Socket.IO-How to Write Real-time Features in JavaScript (2014)

Overview

How to write real-time features in JavaScript. Create your own Chat Messenger the easy way using NodeJS. Node.js is a powerful and popular new framework for writing scalable network programs using JavaScript.
Who this book is written for
This book is intended for beginner to intermediate JavaScript developer who are curious about the power of NodeJS and AngularJS for designing and building real-time features in JavaScript.

Author(s): Brendon Co

7. Single Page Web Applications: JavaScript end-to-end (2013)

Summary

In Single Page Web Applications you’ll learn to build modern browser-based apps that take advantage of stronger client platforms and more predictable bandwidth. You’ll learn the SPA design approach, and then start exploring new techniques like structured JavaScript and responsive design. And you’ll learn how to capitalize on trends like server-side JavaScript and NoSQL data stores, as well as new frameworks that make JavaScript more manageable and testable as a first-class language.

About this Book

If your website is a jumpy collection of linked pages, you are behind. Single page web applications are your next step: pushing UI rendering and business logic to the browser and communicating with the server only to synchronize data, they provide a smooth user experience, much like a native application. But, SPAs can be hard to develop, manage, and test.

Single Page Web Applications shows how your team can easily design, test, maintain, and extend sophisticated SPAs using JavaScript end-to-end, without getting locked into a framework. Along the way, you’ll develop advanced HTML5, CSS3, and JavaScript skills, and use JavaScript as the language of the web server and the database.

This book assumes basic knowledge of web development. No experience with SPAs is required.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

What’s Inside

  • Design, build, and test a full-stack SPA
  • Best-in-class tools like jQuery, TaffyDB, Node.js, and MongoDB
  • Real-time web with web sockets and Socket.IO
  • Touch controls for tablets and smartphones
  • Common SPA design mistakes

About the Authors

The authors are architects and engineering managers. Michael Mikowski has worked on many commercial SPAs and a platform that processes over 100 billion requests per year. Josh Powell has built some of the most heavily trafficked sites on the web.

Table of Contents

    PART 1: INTRODUCING SPAS
  1. Our first single page application
  2. Reintroducing JavaScript
  3. PART 2: SPA CLIENT
  4. Develop the Shell
  5. Add feature modules
  6. Build the Model
  7. Finish the Model and Data modules
  8. PART 3: THE SPA SERVER
  9. The web server
  10. The server database
  11. Readying our SPA for production

Author(s): Michael Mikowski, Josh Powell

8. Get Programming with JavaScript (2016)

Summary

Get Programming with JavaScript is a hands-on introduction to programming for readers who have never programmed. You’ll be writing your own web apps, games, and programs in no time! Foreword by Remy Sharp.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Book

Are you ready to start writing your own web apps, games, and programs? You’re in the right place! Get Programming with JavaScript is a hands-on introduction to programming for readers who have never written a line of code. Since you’re just getting started, this friendly book offers you lots of examples backed by careful explanations. As you go along, you’ll find exercises to check your understanding and plenty of opportunities to practice your new skills. You don’t need any­thing special to follow the examples—just the text editor and web browser already installed on your computer. We even give you links to working online code so you can see how everything should look live on your screen.

What’s Inside

  • All the basics—objects, functions, responding to users, and more
  • Think like a coder and design your own programs
  • Create a text-based adventure game
  • Enhance web pages with JavaScript
  • Run your programs in a web browser
  • Four bonus chapters available online

About the Reader

No experience required! All you need is a web browser and an internet connection.

About the Author

John Larsen is a mathematics and computing teacher with an interest in educational research. He has an MA in mathematics and an MSc in information technology. He started programming in 1982, writing simple programs for teaching mathematics in 1993, building websites in 2001, and developing data-driven web-based applications for education in 2006.

Table of Contents

    PART 1 CORE CONCEPTS ON THE CONSOLE

  1. Programming, JavaScript, and JS Bin
  2. Variables: storing data in your program
  3. Objects: grouping your data
  4. Functions: code on demand
  5. Arguments: passing data to functions
  6. Return values: getting data from functions
  7. Object arguments: functions working with objects
  8. Arrays: putting data into lists
  9. Constructors: building objects with functions
  10. Bracket notation: flexible property names
  11. PART 2 ORGANIZING YOUR PROGRAMS

  12. Scope: hiding information
  13. Conditions: choosing code to run
  14. Modules: breaking a program into pieces
  15. Models: working with data
  16. Views: displaying data
  17. Controllers: linking models and views
  18. PART 3 JAVASCRIPT IN THE BROWSER

  19. HTML: building web pages
  20. Controls: getting user input
  21. Templates: filling placeholders with data
  22. XHR: loading data
  23. Conclusion: get programming with JavaScript
  24. BONUS ONLINE CHAPTERS

  25. Node: running JavaScript outside the browser
  26. Express: building an API
  27. Polling: repeating requests with XHR
  28. Socket.IO: real-time messaging

Author(s): John Larsen

9. Smashing Node.js: JavaScript Everywhere (2012)

Learn to make more efficient apps, with just one language!

Smashing Node.js: JavaScript Everywhere equips you with the necessary tools to understand Node.js and its uses in developing efficient web apps. With more traditional web servers becoming obsolete, having knowledge on servers that achieve high scalability and optimal resource consumption using Node.js is the key to your app development success. Teaching you the essentials to making event-driven server-side apps, this book demonstrates how you can use less space and take less time for communication between web client and server.

  • Contains numerous hands-on examples
  • Explains implementation of real-time apps including Socket.IO and HTML5, and WebSockets
  • Addresses practical Node.js advantages from specific design choices
  • Demonstrates why knowledge and use of JavaScript is beneficial
  • Includes an interactive online component with sample chapters
  • Explains components of stand out apps including brevity and benchmarks

Looking to enhance your abilities even further? Smashing Node.js: JavaScript Everywhere makes developing server-side apps accessible with its focus on JavaScript, open source, and easy-to-use language.

Author(s): Guillermo Rauch

10. Sails.js Essentials (2016)

Key Features

  • Gain expertise in building web apps with Sails.js
  • Develop apps such as real-time chat app and more in no time
  • Helps you understand how MVC framework works in Node.js and how to make it work for you

Book Description

Sails.js makes it easy to build custom, enterprise-grade Node.js apps. It is designed to emulate the familiar MVC pattern of frameworks, but with support for the requirements of modern apps: data-driven APIs with a scalable, service-oriented architecture.

This book will provide practical examples to get you started with Sails.js and get you develop production-ready apps in no time. We will take you from a Node.js web server and single threading system to a general MVC architecture. You will then learn to develop applications that you might be already familiar with using Sails.js. Finally, we will show you how to create a chat app and a to-do application, and improve code quality using JSHINT and JSCS.

What you will learn

  • Find out to quick-start Sails.js and develop production-ready apps
  • Understand how to apply the MVC model of software development in Node.js using Sails.js
  • Discover how to write quality code using Sails.js
  • Integrate third-party APIs and databases such Mongo and MySQL in Sails.js
  • Get to know the advantages and importance of the MVC framework in software development

About the Author

Shaikh Shahid has been a product developer for over two years. He has the experience of working on Node.js for more than two years. He loves to spread the word about Node.js and its various packages via his programming blog. Shahid is also very interested in software architecture and design and loves to develop software system from the core.

When he is not playing with Node.js or helping people, he watches movies, reads books, or travels to Goa.

Table of Contents

  1. Revisiting Node.js Concepts
  2. Developing Node.js Web Server
  3. Introduction to Sails.js and MVC Concepts
  4. Developing REST API Using Sails.js
  5. Build a Chat System Using Sails.js
  6. Building a Real-Time News Feed App Using Sails.js
  7. Creating a TODO Single-Page Application
  8. Sails.js Production Checklist

Author(s): Shaikh Shahid