Node.js

Learn how to build scalable APIs using the Node.js platform and ES6 (EcmaScript 2015) with this quick, informative guide.
Developing systems for the wide range of devices available in the modern world requires the construction of APIs designed to work only with data in a centralized manner, allowingmore » client-side applications to be developed separately and have a unique interface for the final user.
Node.js has proven itself to be an excellent platform for building REST APIs because of its single-thread architecture. It has a low learning curve and can be understood by anyone who has a basic understanding of the JavaScript language.
UseBuilding APIs with Node.jstoday to understand how Node.js APIs work, and how you can build your own.
What You Will Learn
Build scalable APIs using the Node.js platform
Use ES6, Express, Passport, ApiDoc, Mocha, Helmet and more
Integrate an SQL database through Sequelize.js and build a single page application using Vanilla.js
Who This Book Is For
Ideal for developers who have a basic understanding of JavaScript and Node.js. « less

KEY FEATURES
* Learn the concepts of Node.js to gain a high-level understanding of the Node.js execution model
* Build an interactive web application with MongoDB and Redis and create your own JavaScript modules that work both on the client side and server side
* Familiarize yourself with the newmore » features of Node.js and JavaScript with this exclusive step-by-step guide
BOOK DESCRIPTION
Node.js is an open source, cross-platform runtime environment that allows you to use JavaScript to develop server-side web applications.
This short guide will help you develop applications using JavaScript and Node.js, leverage your existing programming skills from .NET or Java, and make the most of these other platforms through understanding the Node.js programming model. You will learn how to build web applications and APIs in Node, discover packages in the Node.js ecosystem, test and deploy your Node.js code, and more. Finally, you will discover how to integrate Node.js and .NET code.
WHAT YOU WILL LEARN
* Understand which problems Node.js best solves
* Write idiomatic JavaScript and Node.js code
* Build web applications and command-line tools
* Minimise complexity and efficiently solve difficult problems
* Test and deploy Node.js applications
* Work with persistent data
* Implement real-time client-server applications
* Integrate .NET and Node.js code
ABOUT THE AUTHOR
Harry Cummings has been working in software development for 8 years, and for the past few years, he has performed the role of technical lead across a variety of projects for varied clients. He has, in the past, also worked as a developer, project manager, and consultant. This gives him an excellent all-round view of the role of a technical lead and its relationship with other roles as well as insight into every stage of project delivery, from initial analysis to long-term maintenance.
Harry has extensive experience in C#/.NET, Java and Scala, and JavaScript/Node.js. He continues to work directly with these technologies on a regular basis in the teams that he leads. His broader interests and expertise lie in sharing and nurturing software development best practices through training and mentoring. He has appeared at conferences such as NDC London and SDD Conf, speaking about diverse topics, ranging from introductory Node.js through to automated test strategies and long-term project maintainability.
TABLE OF CONTENTS
1. Why Node.js?
2. Getting Started with Node.js
3. A JavaScript Primer
4. Introducing Node.js Modules
5. Creating Dynamic Websites
6. Testing Node.js Applications
7. Setting up an Automated Build
8. Mastering Asynchronicity
9. Persisting Data
10. Creating Real-time Web Apps
11. Deploying Node.js Applications
12. Authentication in Node.js
13. Creating JavaScript Packages
14. Node.js and Beyond « less

This book has complete source code with all required features of websites, registration, login, edit, delete and session management
working source code with explanation, so that you can build upon it your dream web app.
This book also explains how to build webapps and host it on windows iis, usingmore » iis node « less

This book teaches you how to utilize Reactive Programming (RP) for your back-end development with Node.js. Up to now, RP has most often been used in front-end development, but its revolutionary approach can also transform your back-end programming.
UsingReactive Programming with Node.jsyou will understandmore » the paradigms of RP, why you should use it, and the variations available to you. You will learn how to use the main libraries necessary to provide this development experience in Node.js, including RxJS, Bacon.js, Kefir.js, and Highland.js. You will also create a custom library that provides the main features, and learn how to scale up a system developed using RP in Node.js.
Ideal for back-end developers with knowledge of Node.js or JavaScript, this book enables you to get up and running with RP in Node.js, and revolutionize your back-end development.
What You Will Learn< * What Reactive Programming is, and all the variations there are.
* How to use the main libraries that provide this type of development experience in Node.js.
* How to create a custom library.
* How to scale up a system developed using RP in Node.js.
Who This Book Is For
Any back-end developers who understand Node.js or are advanced enough to pick up the basics along the way. Ideal for developers who have an interest in learning about this different programming paradigm that's being used more and more every day. « less

Node.js is a popular choice for teams that need to design, build, test, deploy, maintain, and monitor large-scale distributed systems. Starting with a detailed overview of the Node.js architecture, this book covers topics that will help in application development, testing, deployment, and maintenance.
Youmore » will learn about concurrency, event loops, callbacks and streams. Furthermore, step-by-step instructions on deploying applications to providers such as DigitalOcean and Heroku will be provided, including information on setting up load balancers and proxies. Message queues and other techniques for managing state and session data at scale will also be covered.
A series of examples on deploying your Node.js applications in production environments are provided, including a discussion on setting up continuous deployment and integration for your team. Popular tools for testing, deploying, building, and monitoring Node.js applications are covered, helping you get up and running quickly.
***** About This Book *****
* Gain comprehensive information on scaling Node.js both vertically and horizontally in the cloud and across virtual machines
* Learn how to use Gulp, Mocha, Chai, PhantomJS, Git, Browserify, Docker, and other tools to construct a simple, fast, and intelligent build-and-deploy system
* Utilize the easy-to-understand examples to explore data caching strategies, application monitoring tips and tricks, and other professional techniques that are useful for maintaining lightweight, fast, and robust applications
***** Who This Book Is For *****
If you are an intermediate or advanced developer deploying your Node.js applications, then this book is for you. If you have already built a Node application or module and want to take your knowledge to the next level, this book will help you find your way.
***** What You Will Learn *****
* Learn the strengths of Node.js and how to optimize your code to make it ready for deployment into production
* Use Docker and Vagrant to create many virtual instances of your Node.js applications
* Deploy Node.js repositories to the cloud using Heroku, OpenShift, and DigitalOcean
* Utilize native Node.js modules, or Nginx, to load balance your applications
* Optimize your Node runtime by tweaking V8, managing memory intelligently, and using Redis to manage state data
* Discover how to use Gulp, Browserify, npm, Mocha, Chai, Sinon, and other tools to simplify your build/test/release process
* Manage your production deployments with Git, Jenkins, and Ansible « less

ABOUT THIS BOOK
* Develop scalable APIs using the Express.js framework for Node.js
* Be more productive by learning about Express.js intricacies and its supporting libraries
* Get to grips with coding best practices and Test-Driven Development to create real-world applications using Express.js
WHOmore » THIS BOOK IS FOR
This book is for beginners to Node.js and also for those who are technically advanced. By the end of this book, every competent developer will have achieved expertise in building web applications with Express.js.
WHAT YOU WILL LEARN
* Set up the Express.js framework with a basic scaffold
* Model data using Mongoose and build a CRUD API to store the data in a database
* Use promises to avoid callback hell in Node.js
* Address scalability concerns and deal with race conditions
* Apply test-driven development (TDD) by using Mocha to write tests for your apps
* Get familiar with service-oriented architecture (SOA)
* Integrate Socket.IO and dynamically push updates to the client
* Write Node.js APIs by leveraging generator functions using Koa.js
IN DETAIL
APIs are at the core of every serious web application. Express.js is the most popular framework for building on top of Node.js, an exciting tool that is easy to use and allows you to build APIs and develop your backend in JavaScript. Express.js Blueprints consists of many well-crafted tutorials that will teach you how to build robust APIs using Express.js.
The book covers various different types of applications, each with a diverse set of challenges. You will start with the basics such as hosting static content and user authentication and work your way up to creating real-time, multiplayer online games using a combination of HTTP and Socket.IO. Next, you'll learn the principles of SOA in Node.js and see them used to build a pairing as a service. If that's not enough, we'll build a CRUD backend to post links and upvote with Koa.js! « less

Gulp is a fast and powerful JavaScript task runner that is built upon the node.js platform. It allows you to create tasks that can automate common workflow processes. Gulp.js is comparatively new and has been developed keeping in mind the issues that developers have encountered with Grunt.
Gettingmore » Started with Gulp introduces you to the world of building and testing JavaScript applications using gulp. This book is a hands-on guide to get you up to speed with gulp. It will instill you with the ability to automate several common development tasks to vastly improve your development workflow. It will get you started with gulp quickly and efficiently, providing you with core concepts of gulp, node.js, and npm.
By the end of this book, you will be able to create your very own gulp environments from scratch, create and maintain tasks and project builds, and automate your workflow with plugins and custom tasks.
If you are a developer who is new to build systems and task runners but have had prior experience with web development, then this book is the right choice for you. You need to have some basic knowledge of HTML, CSS, and JavaScript. « less

***** About This Book *****
* Use Node.js to satisfy the core backend requirements of modern apps, including user management, security, data access, and real-time data communication
* Build practical real-world mobile applications, which will give you the necessary knowledge to build your very ownmore » mobile solutions
* Step-by-step development of projects using Ionic Framework as the frontend and Node.js for the backend supported by a MongoDB database
***** Who This Book Is For *****
This book is intended for web developers of all levels of expertise who want to deep dive into cross-platform mobile application development without going through the pains of understanding the languages and native frameworks that form an integral part of developing for different mobile platforms.
This book is also for you if you are a developer who wants to capitalize on the MobileFirst strategy and so are going to use JavaScript for your complete stack.
***** What You Will Learn *****
* Develop an API from scratch
* Set up a MongoDB Database as part of your mobile application backend
* Deploy a cross-platform mobile application from the command line
* Incorporate features within your mobile application that use native phone features such as a gyroscope, GPS, and accelerometer
* Implement mobile applications that use web-enabled APIs
* Build a mobile application with real-time chat messaging features
* Develop a secure mobile application that is capable of functioning with real-time data
***** In Detail *****
Node.js is a massively popular JavaScript library that lets you use JavaScript to easily program scalable network applications and web services. People approaching Node.js for the first time are often attracted by its efficiency, scalability, and the fact that it's based on JavaScript, the language of the Web, which means that developers can use the same language to write backend code. Also, it's increasingly being seen as a "modern" replacement for PHP in web development, which relies on fast-paced data exchange. The growing community and the large amount of available modules makes Node.js one of the most attractive development environments.
This book takes a step-wise and incremental approach toward developing cross-platform mobile technologies using existing web technologies. This will allow you to truly understand and become proficient in developing cross-platform mobile applications with Node.js, Ionic Framework, and MongoDB.
The book starts off by introducing all the necessary requirements and knowledge to build a mobile application with a companion web service. It covers the ability to create an API from scratch and implement a comprehensive user database that will give you the opportunity to offer a mobile application with a personalized experience.
Midway through the book, you will learn the basic processes to create a successful mobile application. You will also gain higher-level knowledge, allowing you to develop a functional and secure mobile application to ensure a seamless user experience for end users.
Finally, the book ends with more advanced projects, which will bring together all the knowledge and expertise developed in the previous chapters to create a practical and functional mobile-application that has useful real-world features.
***** Style and approach *****
This book is an easy-to-follow guide that takes a step-wise approach in giving expertise and knowledge to help you truly understand what is needed to create a memorable user experience for end users. Each topic is placed in the context of the bigger picture, that is, to create cross-platform mobile applications using existing technologies. « less

NODE.JS, 2ND EDITION
This book is an exploration of the Node.js platform. It begins by explaining what Node.js is, where it is used, and how it used. The next part of this book is an exploration of how to set up the environment for using Node.js.
The prerequisites for you to use this platform aremore » discussed and how to prepare them on various operating systems.
Global objects, which are a common feature in Node.js, are discussed in detail; thus, you will learn how to use them.
Utility modules are also explored. The web module in Node.js is explored in detail; thus, you will learn how to create a server and a client through use of this module.
You will also learn how to send requests to a server and have a response relayed to the client. The REPL (Read-Eval-Print Loop) terminal is discussed in detail.
You will learn how to perform mathematical expressions and declaration of variables on the terminal. The execution of multiline expressions on the REPL terminal is explored. You might need to scale your Node.js application. This book will guide you through doing this.
Streams, the RESTful API, and events in Node.js are discussed. Sometimes, the files for your Node.js project might be located separately in a particular directory. This book will guide you on how to package these files together.
HERE IS A PREVIEW OF WHAT YOU'LL LEARN:
* Setting Up the Environment
* Global Objects in Node.js
* Utility Modules in Node.js
* The Web Module in Node.js
* The Web Module in Node.js
* The REPL Terminal
* Scaling an Application in Node.js
* Streams in Node.js
* The RESTful API in Node.js
* Events in Node.js
* Node.js Packaging « less