Book Image

Node.js Design Patterns

By : Mario Casciaro
Book Image

Node.js Design Patterns

By: Mario Casciaro

Overview of this book

Node.js is a massively popular software platform that lets you use JavaScript to easily create scalable server-side applications. It allows you to create efficient code, enabling a more sustainable way of writing software made of only one language across the full stack, along with extreme levels of reusability, pragmatism, simplicity, and collaboration. Node.js is revolutionizing the web and the way people and companies create their software. In this book, we will take you on a journey across various ideas and components, and the challenges you would commonly encounter while designing and developing software using the Node.js platform. You will also discover the "Node.js way" of dealing with design and coding decisions. The book kicks off by exploring the fundamental principles and components that define the platform. It then shows you how to master asynchronous programming and how to design elegant and reusable components using well-known patterns and techniques. The book rounds off by teaching you the various approaches to scale, distribute, and integrate your Node.js application.
Table of Contents (16 chapters)
Node.js Design Patterns
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

About the Reviewers

Afshin Mehrabani is an open source programmer. He is studying to be a computer software engineer. He started programming and web development when he was 12 years old, and started with PHP as well. Later, he joined the Iran Technical and Vocational Training Organization. He secured the first place and received a gold medal in a competition that was conducted across the entire country in the area of web development. He became a member of Iran's National Elites Foundation after producing a variety of new programming ideas.

He was a software engineer at Tehran Stock Exchange and is now the head of the web development team in Yara International. He cofounded the Usablica team in early 2012 to develop and produce usable applications. He is the author of IntroJs, WideArea, flood.js, and other open source projects. He has contributed to Socket.IO, Engine.IO, and other open source projects. He is also interested in creating and contributing to open source applications, writing programming articles, and challenging himself with new programming technologies.

He has written different articles on JavaScript, Node.js, HTML5, and MongoDB, which have been published on different academic websites. Afshin has 5 years of experience in PHP, Python, C#, JavaScript, HTML5, and Node.js in many financial and stock-trading projects.

Joel Purra started toying around with computers some time before his teens, seeing them as another kind of a video-gaming device. It was not long before he took apart (sometimes broke and subsequently fixed) any computer he came across, in between playing the latest games on them. It was gaming that led him to discover programming in his early teens, when modifying a Lunar Lander game triggered an interest in creating digital tools. Soon after getting an Internet connection at home, he developed his first e-commerce website, and thus his business started; it launched his career at an early age.

At the age of 17, Joel started studying computer programming and an energy/science program at a nuclear power plant's school. After graduation, he studied to become a Second Lieutenant Telecommunications Specialist in the Swedish Army, before moving on to study for his Master of Science degree in Information Technology and Engineering at Linköping University.

He has been involved in start ups and other companies—both successful and unsuccessful—since 1998, and has been a consultant since 2007. Born, raised, and educated in Sweden, Joel also enjoys the flexible lifestyle of a freelance developer, having traveled through five continents with his backpack and lived abroad for several years. A learner constantly looking for challenges, one of his goals is to build and evolve software for broad public use.

You can visit his website at http://joelpurra.com/.

Alan Shaw describes himself as a web developer who discovers the limits of the possible by venturing a little way past them into the impossible. Alan has built and styled the Web every day since graduating from the University of Bath with a degree in computer science. He is an advocate of functional programming and has worked with JavaScript for as long as he can remember.

Alan and Oli Evans own and run TABLEFLIP, a web development company that focuses on Node.js, good client relationships, and giving back to the community through open source projects.

In his spare time, Alan hacks on npm modules, browserify transforms, and grunt plugins. He builds and maintains David (https://david-dm.org), co-organizes the meetups for Nodebots of London and Meteor London, hacks on hardware, pilots nano copters into walls, and is a cofounder of the JavaScript Adventure Club.