Im grateful to my copy and content editors David Moadel and Lisa Martens. Im also grateful to the students of (Hack Reactor, Marakana, pariSOMA and General Assembly) where I taught and used Rapid Prototyping with JS (or its parts) as a training material.
I would like to thank the team of StartupMonthly: Yuri and Vadim, for helping me with constructive feedback on the Rapid Prototyping with JS training and its manual.
In addition, many gratitudes to my designer friends Ben, Ivan and Natalie who helped me with the cover design feedback.
Introduction
Summary: reasons behind rapid prototyping in general and writing of this book; answers to questions what to expect and what not, what are prerequisites; suggestions on how to use the book and examples; explanation of books notation format.
Get out of the building. Steve Blank
Rapid Prototyping with JS is a hands-on book which introduces you to rapid software prototyping using the latest cutting-edge web and mobile technologies including Node.js, MongoDB, Twitter Bootstrap, LESS, jQuery, Parse.com, Heroku and others.
Why RPJS?
This book was borne out of frustration. I have been in software engineering for many years, and when I started learning Node.js and Backbone.js, I learned the hard way that their official documentation and the Internet lack in quick start guides and examples. Needless to say, it was virtually impossible to find all of the tutorials for JS-related modern technologies in one place.
The best way to learn is to do, right? Therefore, Ive used the approach of small simple examples, i.e., quick start guides, to expose myself to the new cool tech. After I was done with the basic apps, I needed some references and organization. I started to write this manual mostly for myself, so I can understand the concepts better and refer to the samples later. Then StartupMonthly and I taught a few 2-day intensive classes on the same subject helping experienced developers to jump-start their careers with agile JavaScript development. The manual we used was updated and iterated many times based on the feedback received. The end result is this book.
What to Expect
A typical reader of RPJS should expect a collection of quick start guides, tutorials and suggestions (e.g., Git workflow). There is a lot of coding and not much theory. All the theory we cover is directly related to some of the practical aspects, and essential for better understanding of technologies and specific approaches in dealing with them, e.g., JSONP and cross-domain calls.
In addition to coding examples, the book covers virtually all setup and deployment step-by-step.
Youll learn on the examples of Chat web/mobile applications starting with front-end components. There are a few versions of these applications, but by the end well put front-end and back-end together and deploy to the production environment. The Chat application contains all of the necessary components typical for a basic web app, and will give you enough confidence to continue developing on your own, apply for a job/promotion or build a startup!
Who This Book is For
The book is designed for advanced-beginner and intermediate-level web and mobile developers: somebody who has been (or still is) an expert in other languages like Ruby on Rails, PHP, Perl, Python or/and Java. The type of a developer who wants to learn more about JavaScript and Node.js related techniques for building web and mobile application prototypes fast. Our target user doesnt have time to dig through voluminous (or tiny, at the other extreme) official documentation. The goal of Rapid Prototyping with JS is not to make an expert out of a reader, but to help him/her to start building apps as soon as possible.
Rapid Prototyping with JS: Agile JavaScript Development, as you can tell from the name, is about taking your idea to a functional prototype in the form of a web or a mobile application as fast as possible. This thinking adheres to the Lean Startup methodology; therefore, this book would be more valuable to startup founders, but big companies employees might also find it useful, especially if they plan to add new skills to their resumes.
What This Book is Not
Rapid Prototyping with JS is neither a comprehensive book on several frameworks, libraries or technologies (or just a particular one), nor a reference for all the tips and tricks of web development. Examples similar to ones in this book might be publicly available online.
Even more so, if youre not familiar with fundamental programming concepts like loops, if/else statements, arrays, hashes, object and functions, you wont find them in Rapid Prototyping with JS. Additionally, it would be challenging to follow our examples.
Many volumes of great books have been written on fundamental topics the list of such resources is at the end of the book in the chapter Further Reading