Reactive Programming with Node.js


Book Description

Learn how to institute 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 with its cutting-edge approach you can also transform your back-end programming. Reactive Programming with Node.js will show you 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 an enhanced development experience in Node.js, including RxJS, Bacon.js, Kefir.js, and Highland.js. You will also create a custom library that provides a variety of key 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'll Learn: Review the variations of Reactive programming Use the main libraries that provide this type of development experience in Node.js Create a custom library 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. Ideal for developers who have an interest in learning about this different programming paradigm that's being used more and more every day.




Reactive Programming with RxJS


Book Description

Reactive programming is revolutionary. It makes asynchronous programming cleaner, intuitive, and robust. Discover how to use the RxJS library to write programs in a simpler way, unifying asynchronous mechanisms such as callbacks and promises into a single, powerful construct. Learn to think about your programs as streams of data that you can transform by expressing what should happen, instead of having to painstakingly program how it should happen. You'll be able to handle real-world concurrency and write complex flows of events in your applications with ease. Create highly concurrent applications while writing simpler code using the Reactive Extensions for JavaScript (RxJS), a set of libraries for event composition. Programming real-world applications in JavaScript involves lots of asynchronous events--you might end up spending more time coordinating asynchronous code in your program than writing its actual functionality. This book introduces concepts and tools from reactive programming that will help you write cleaner and more robust asynchronous programs. Find out about Observable sequences, a unifying data type to write highly concurrent code. Discover Schedulers and change the concept of time in your applications, making asynchronous testing sane again. Along the way you'll see real-world examples for the browser and Node.js, including a real-time earthquake visualization in 20 lines of code and a frantic shoot-'em-up space videogame. You'll also use Cycle.js - a modern, fully reactive web framework - to make a whole new breed of web applications. By the end of the book, you'll know how to apply reactive programming to solve complex problems, build efficient programs with reactive user interfaces, and write your code more declaratively. What You Need: A modern web browser, Node.JS installed in your computer, and the RxJS JavaScript library.




Mastering Reactive JavaScript


Book Description

Expand your boundaries by creating applications empowered with real-time data using RxJs without compromising performance About This Book Handle an infinite stream of incoming data using RxJs without going crazy Explore important RxJs operators that can help you improve your code readability Get acquainted with the different techniques and operators used to handle data traffic, which occurs when you receive data faster than you can process Who This Book Is For If you're a web developer with some basic JavaScript programming knowledge who wants to implement the reactive programming paradigm with JavaScript, then this book is for you. What You Will Learn Get to know the basics of functional reactive programming using RxJs Process a continuous flow of data with linear memory consumption Filter, group, and react to changes in your system Discover how to deal with data traffic Compose operators to create new operators and use them in multiple observables to avoid code repetition Explore transducers and see how they can improve your code readability Detect and recover from errors in observables using Retry and Catch operators Create your own reactive application: a real-time webchat In Detail If you're struggling to handle a large amount of data and don't know how to improve your code readability, then reactive programming is the right solution for you. It lets you describe how your code behaves when changes happen and makes it easier to deal with real-time data. This book will teach you what reactive programming is, and how you can use it to write better applications. The book starts with the basics of reactive programming, what Reactive Extensions is, and how can you use it in JavaScript along with some reactive code using Bacon. Next, you'll discover what an Observable and an Observer are and when to use them.You'll also find out how you can query data through operators, and how to use schedulers to react to changes. Moving on, you'll explore the RxJs API, be introduced to the problem of data traffic (backpressure), and see how you can mitigate it. You'll also learn about other important operators that can help improve your code readability, and you'll see how to use transducers to compose operators. At the end of the book, you'll get hands-on experience of using RxJs, and will create a real-time web chat using RxJs on the client and server, providing you with the complete package to master RxJs. Style and approach This easy-to-follow guide is full of hands-on examples of reactive programming. Each topic is explained and placed in context, and for the more inquisitive there are more details of the concepts used, ending with an application using the concepts learned through the book.




Node.js in Action


Book Description

Summary Node.js in Action, Second Edition is a thoroughly revised book based on the best-selling first edition. It starts at square one and guides you through all the features, techniques, and concepts you'll need to build production-quality Node applications. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology You already know JavaScript. The trick to mastering Node.js is learning how to build applications that fully exploit its powerful asynchronous event handling and non-blocking I/O features. The Node server radically simplifies event-driven real-time apps like chat, games, and live data analytics, and with its incredibly rich ecosystem of modules, tools, and libraries, it's hard to beat! About the Book Based on the bestselling first edition, Node.js in Action, Second Edition is a completely new book. Packed with practical examples, it teaches you how to create high-performance web servers using JavaScript and Node. You'll master key design concepts such as asynchronous programming, state management, and event-driven programming. And you'll learn to put together MVC servers using Express and Connect, design web APIs, and set up the perfect production environment to build, lint, and test. What's Inside Mastering non-blocking I/O The Node event loop Testing and deploying Web application templating About the Reader Written for web developers with intermediate JavaScript skills. About the Authors The Second Edition author team includes Node masters Alex Young, Bradley Meck, Mike Cantelon, and Tim Oxley, along with original authors Marc Harter, T.J. Holowaychuk, and Nathan Rajlich. Table of contents PART 1 - WELCOME TO NODE Welcome to Node.js Node programming fundamentals What is a Node web application? PART 2 - WEB DEVELOPMENT WITH NODE Front-end build systems Server-side frameworks Connect and Express in depth Web application templating Storing application data Testing Node applications Deploying Node applications and maintaining uptime PART 3 - BEYOND WEB DEVELOPMENT Writing command-line applications Conquering the desktop with Electron




Build Reactive Websites with RxJS


Book Description

Upgrade your skillset, succeed at work, and above all, avoid the many headaches that come with modern front-end development. Simplify your codebase with hands-on examples pulled from real-life applications. Master the mysteries of asynchronous state management, detangle puzzling race conditions, and send spaceships soaring through the cosmos. When you finish this book, you'll be able to tame the wild codebeasts before they ever get a chance to wreck your day. The front-end world can be fraught with complexity. The RxJS library offers a solution: Observables. Observables merge other JavaScript asynch mechanisms such as callbacks and promises into a new way of looking at data. Instead of dealing with objects and keeping track of their state, Observables view asynchronous events as a stream. RxJS provides you the tools to manage, manipulate, and process Observables to simplify and speed up your front-end applications. Never fear, you're in exactly the right place. Don't worry about getting stuck in a mire of theory. Start off with the basics, building small applications that illustrate deeper points. Take those building blocks and apply them to much more complex problems like handling asynchronous state and dodging race conditions before they happen. Once you've got a handle on complex problems, take a leap into architecture, discovering how to structure an Observable-based application both without a framework and in the land of Angular 2. After mastering Observables, switch gears to building a canvas-based game, demonstrating your deep understanding of the flexibility of Observables. Master the Observable with RxJS, and make your asynchronous JavaScript code that much cleaner and simpler. What You Need: Any major browser and text editor, as well as the current versions of git, NodeJS, and npm.




Get Programming with Node.js


Book Description

Summary Get Programming with Node.js teaches you to build web servers using JavaScript and Node. In this engaging tutorial, you'll work through eight complete projects, from writing the code for your first web server to adding live chat to a web app. Your hands will stay on the keyboard as you explore the most important aspects of the Node development process, including security, database management, authenticating user accounts, and deploying to production. You'll especially appreciate the easy-to-follow discussions, illuminating diagrams, and carefully explained code! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Node.js delivers the speed and reliability you need for ecommerce, social media, and gaming applications. It comes with thousands of prebuilt packages to help you get started immediately. If you want to use JavaScript on the server, Node.js is your choice. What's inside New features from ES2015 and later Writing asynchronous code Creating data models Debugging JavaScript modules About the Reader Written for front-end web developers with intermediate JavaScript skills. Table of Contents GETTING SET UP Lesson 0 - Setting up Node.js and the JavaScript engine Lesson 1 - Configuring your environment Lesson 2 - Running a Node.js application UNIT 1 - GETTING STARTED WITH NODE.JS Lesson 3 - Creating a Node.js module Lesson 4 - Building a simple web server in Node.js Lesson 5 - Handling incoming data Lesson 6 - Writing better routes and serving external files Lesson 7 - Capstone: Creating your first web application UNIT 2 - EASIER WEB DEVELOPMENT WITH EXPRESS.JS Lesson 8 - Setting up an app with Express.js Lesson 9 - Routing in Express.js Lesson 10 - Connecting views with templates Lesson 11 - Configurations and error handling Lesson 12 - Capstone: Enhancing the Confetti Cuisine site with Express.js UNIT 3 - CONNECTING TO A DATABASE Lesson 13 - Setting up a MongoDB database Lssson 14 - Building models with Mongoose Lesson 15 - Connecting controllers and models Using promises with Mongoose Lesson 16 - Capstone: Saving user subscriptions UNIT 4 - BUILDING A USER MODEL Lesson 17 - Improving your data models Lesson 18 - Building the user model Lesson 19 - Creating and reading your models Lesson 20 - Updating and deleting your models Lesson 21 - Capstone: Adding CRUD models to Confetti Cuisine Creating controllers UNIT 5 - AUTHENTICATING USER ACCOUNTS Lesson 22 - Adding sessions and flash messages Lesson 23 - Building a user login and hashing passwords Lesson 24 - Adding user authentication Lesson 25 - Capstone: Adding user authentication to Confetti Cuisine UNIT 6 - BUILDING AN API Lesson 26 - Adding an API to your application Lesson 27 - Accessing your API from your application Lesson 28 - Adding API security Lesson 29 - Capstone: Implementing an API UNIT 7 - ADDING CHAT FUNCTIONALITY Lesson 30 - Working with Socket.io Lesson 31 - Saving chat messages Lesson 32 - Adding a chat notification indicator UNIT 8 - DEPLOYING AND MANAGING CODE IN PRODUCTION Lesson 33 - Capstone: Adding a chat feature to Confetti Cuisine Lesson 34 - Deploying your application Lesson 35 - Managing in production Lesson 36 - Testing your application Lesson 37 - Capstone: Deploying Confetti Cuisine




Front-End Reactive Architectures


Book Description

Learn how to use reactive architectures on the front-end. There are many technologies using a reactive approach on the back end, but this book teaches you how the reactive manifesto can be used to benefit your front-end programming as well. You will discover what reactive programming is, what the current front-end ecosystem looks like, and how to use a range of frameworks and libraries. You will also apply specific reactive architectures in your own projects. Each concept is taught with a mix of technical explanations and real-world code implementations. The future of front-end programming and architecture is reactive – don’t get left behind: Add Front-End Reactive Architectures to your library today. What You'll Learn Understand when and why you should use a reactive architecture Apply a specific reactive architecture in a project Manage different reactive architectures Who This Book Is For Mid-senior front-end developers, tech leads, and solutions architects




Rediscovering JavaScript


Book Description

JavaScript is no longer to be feared or loathed - the world's most popular and ubiquitous language has evolved into a respectable language. Whether you're writing frontend applications or server side code, the phenomenal features from ES6 and beyond - like the rest operator, generators, destructuring, object literals, arrow functions, modern classes, promises, async, and metaprogramming capabilities - will get you excited and eager to program with JavaScript. You've found the right book to get started quickly and dive deep into the essence of modern JavaScript. Learn practical tips to apply the elegant parts of the language and the gotchas to avoid. JavaScript is a black swan that no one, including the author of the language, thought would become a popular and ubiquitous language. Not long ago, it was the most hated and feared language you could use to program the web. JavaScript ES6 and beyond has gone through a significant makeover. Troublesome features have been replaced with better, elegant, more reliable alternatives. This book includes many practical examples and exercises to help you learn in depth. It will not bore you with idiosyncrasies and arcane details intended for bad interview questions. Instead, it takes you into key features that you can readily use in your day-to-day projects. Whether you program the frontend or the server side, you can now write concise, elegant, and expressive JavaScript with newer features like default parameters, template literals, rest and spread operators, destructuring, arrow functions, and generators. Take it up a notch with features like infinite series, promises, async, and metaprogramming to create flexible, powerful, and extensible libraries. While the evolved features of the language will draw you in, the hundreds of examples in this book will pin the concepts down, for you to use on your projects. Take command of modern JavaScript and unlock your potential to create powerful applications. What You Need: To try out the examples in the book you will need a computer with Node.js, a text editor, and a browser like Chrome installed in it.




Beginning API Development with Node.js


Book Description

Using the same framework to build both server and client-side applications saves you time and money. This book teaches you how you can use JavaScript and Node.js to build highly scalable APIs that work well with lightweight cross-platform client applications. It begins with the basics of Node.js in the context of backend development, and ...




TypeScript Microservices


Book Description

Build robust microservice-based applications that are distributed, fault tolerant, and always available Key Features Learn to build message-driven services for effective communication Design microservices API using Reactive programming design patterns Deploy, scale and monitor microservices for consistent high performance Book Description In the last few years or so, microservices have achieved the rock star status and right now are one of the most tangible solutions in enterprises to make quick, effective, and scalable applications. The apparent rise of Typescript and long evolution from ES5 to ES6 has seen lots of big companies move to ES6 stack. If you want to learn how to leverage the power of microservices to build robust architecture using reactive programming and Typescript in Node.js, then this book is for you. Typescript Microservices is an end-to-end guide that shows you the implementation of microservices from scratch; right from starting the project to hardening and securing your services. We will begin with a brief introduction to microservices before learning to break your monolith applications into microservices. From here, you will learn reactive programming patterns and how to build APIs for microservices. The next set of topics will take you through the microservice architecture with TypeScript and communication between services. Further, you will learn to test and deploy your TypeScript microservices using the latest tools and implement continuous integration. Finally, you will learn to secure and harden your microservice. By the end of the book, you will be able to build production-ready, scalable, and maintainable microservices using Node.js and Typescript. What you will learn Get acquainted with the fundamentals behind microservices. Explore the behavioral changes needed for moving from monolithic to microservices. Dive into reactive programming, Typescript and Node.js to learn its fundamentals in microservices Understand and design a service gateway and service registry for your microservices. Maintain the state of microservice and handle dependencies. Perfect your microservice with unit testing and Integration testing Develop a microservice, secure it, deploy it, and then scale it Who this book is for This book is for JavaScript developers seeking to utilize their Node.js and Typescript skills to build microservices and move away from the monolithic architecture. Prior knowledge of TypeScript and Node.js is assumed.