8 October 2015

Announcing my upcoming book "Learning Underscore.js"

  After a period of silent and sustained effort I am happy to anounce that my newest book "Learning Underscore.js" has entered its production stage and it is available to pre-order on my publisher website or on the Amazon.com website with delivery in a couple of weeks.
  In our ever changing software development landscape 2015 seems to be a great year for JavaScript. A couple of major events raised the profile of JavaScript for me: the release of its final specification ECMAScript 2015 (ES6), the stable release of Node.js 4 that reconciled the stagnant versions 0.1x with the effervescent io.js fork, the widespread adoption of the Babel.js library to facilitate ES6 adoption, and the public availability of the React Native framework that uses JavaScript for native mobile development. What better way for me to mark this year than to release a book about one of the most popular JavaScript libraries.
  The book discusses most of the Underscore.js library features in the first part and the second part takes this library in a journey as an exploration vehicle to look at: different programming paradigms, how it can be used in server side and database environments, how it compares with related and alternative libraries, and how to use it in the context of ECMAScript 2015 (ES6). The last chapter discusses build automation and code reusability between client and server environments, while making the final point that Underscore.js and JavaScript can be used in any environment, employing a modular and clean development approach in the process.  
 All the book examples are hosted on GitHub and I have created an examples index page at https://github.com/popalexandruvasile/underscorejs-examples that should reveal more about the kind of content covered in the book. 
 I am also including an extract from the book preface that contains chapter details and who the target audience is.

What the book covers


  • Chapter 1, Getting Started with Underscore.js, introduces the reader to Underscore and explains the main problems addressed by the library together with a quick introduction to functional programming. The chapter describes some of the concepts and patterns that are used by Underscore or are helpful when using Underscore. The final part is a walkthrough to setup the development environment used throughout the book with a starter example.
  • Chapter 2, Using Underscore.js with collections, explores the Underscore functionality for collections by example and explains some of the concepts related to these area: scope resolution and execution context, map/reduce, functional programming concepts.
  • Chapter 3, Using Underscore.js with arrays, functions and objects, looks at functionality for arrays, functions and objects, and builds upon concepts and functions introduced in the previous chapter. In the functions section the reader will learn how to manipulate function scope and arguments and why this is an important aspect of JavaScript programming in general.
  • Chapter 4, Programming paradigms with Underscore.js, expands on the concepts and practices of functional programming to solve common programming problems. The chapter starts with a differentiation between object oriented programming and functional programming. It continues with exploring examples of functional programming with Underscore.
  • Chapter 5, Using Underscore.js in the browser, on the server and with the database, is about using Underscore in specific contexts starting with the browser environment, closely followed by Node.js server side applications or libraries. The reader will then learn how to use Underscore with databases like MongoDB and PostgreSQL that can execute JavaScript to query data.
  • Chapter 6,  Related Underscore.js libraries and ECMAScript standards, discusses advanced topics like the link between Underscore and JavaScript standards, libraries that augment or can even replace Underscore, with a focus on taking advantage of the new ECMAScript 2015 (ES6) features.
  • Chapter 7, Underscore.js build automation and code reusability, introduces a build automation solution together with strategies to reuse Underscore based code between different application hosts.

Who this book is for

The book is for developers with fundamental JavaScript knowledge that want to use modern JavaScript libraries to advance their programming skills. Underscore is one of the most important libraries you should be familiar with and the book will help you achieve this goal by going through its fundamentals and using it in a wide variety of contexts. The book should be relevant to anyone who:
  • Is interested in building web applications, single page web applications or JavaScript based desktop mobile, or embedded applications;
  • Wants to use Node.js to build web applications or web services;
  • Wants to work with databases like MongoDB or PostgreSQL and leverage their JavaScript support.

No comments: