If you are a JavaScript developer interested in learning functional programming, looking for the quantum leap toward mastering the JavaScript language, or just want to become a better programmer in general, then this book is ideal for you. This guide is aimed at programmers, involved in developing reactive frontend apps, server-side apps that wrangle with reliability and concurrency, and everything in between.
What You Will LearnGet a run through of the basic JavaScript language constructsCode using the powerful object-oriented feature in JavaScriptMaster DOM manipulation, cross-browser strategies, and ES6Understand the basic concurrency constructs in Javascript and best performance strategiesHarness the power of patterns for tasks ranging from application building to code testingBuild large-scale apps seamlessly with the help of reactive patternsExplore advanced design patterns, including dependency injectionDevelop more powerful applications with currying and function compositionCreate more reliable code with closures and immutable dataIn DetailJavaScript is a high-level, dynamic, untyped, lightweight, and interpreted programming language and functional programming is a style that emphasizes and enables smarter code that minimizes complexity and increases modularity. It's a way of writing cleaner code through clever ways of mutating, combining, and using functions. And JavaScript provides an excellent medium for this approach. By learning how to expose JavaScript's true identity as a functional language, we can implement web apps that are more powerful, easier to maintain and more reliable.
The java script: Functional Programming for JavaScript Developers course will take you on a journey to show how functional programming when combined with other techniques makes JavaScript programming more efficient.
The first module Mastering JavaScript, stress on practical aspects of Javascript development like—Functions and Closures, Runtime debugging techniques, project layout, events and DOM processing, build tools, Object-oriented patterns, isomorphism—everything that a modern Javascript project would need.
The second module, Mastering JavaScript Design Patterns - Second Edition, will explore how design patterns can help you improve and organize your JavaScript code. You'll get to grips with creational, structural, and behavioral patterns as you discover how to put them to work in different scenarios. This updated edition will also delve into reactive design patterns and microservices as they are a growing phenomenon in the world of web development. It will also show you some advanced patterns, including dependency injection and live post processing.
The third module, Functional Programming in JavaScript, will help you to write real-world applications by utilizing a wide range of functional techniques and styles. It explores the core concepts of functional programming common to all functional languages, with examples of their use in JavaScript.
Style and approachThis course will begin with providing insights and practical tips on advanced JavaScript features to build highly scalable web and mobile system and move on to some design patterns with JavaScript. Finally, the course ends with presenting the functional programming techniques and styles in JavaScript.
Ved Antani is an AVP (engineering) at Myntra. Before Myntra, he worked with Electronic Arts, NetApp, and Oracle. Ved is passionate about programming and has been programming in JavaScript since 2005. He has extensive experience in building scalable systems and mobile applications. Ved is a minimalist, a father, and an avid tea drinker.
Simon Timms is a developer who loves writing code. He writes in a variety of languages and using a number of tools. Mostly, he develops web applications with.NET backends. Simon is very interested in visualizations and cloud computing. A background in builds and system administration keeps him on the straight and narrow when it comes to DevOps. He is the author of Social Data Visualization with HTML5 and JavaScript, Packt Publishing. He blogs on blog.simontimms.com, and he is also a frequent contributor to the Western Devs (http://westerndevs.com), which is a loose collaboration of developers mostly located in Canada. Twice a week, he participates in a videocast called The ASP.NET Monsters about the future of ASP.NET, which is one of the most popular series on Microsoft's Channel 9 video service (https://channel9.msdn.com/Series/aspnetmonsters). Simon is the president of the Calgary.Net user group and a member of half a dozen other groups. He speaks on a variety of topics from DevOps to how the telephone system works. He works as a principal software developer for Clear-Measure located in Austin, Texas. He is currently working on a new title about ASP.NET Core.
Dan Mantyla works as a web application developer for the University of Kansas. He enjoys contributing to open source web frameworks and wrenching on motorcycles. Dan is currently living in Lawrence, Kansas, USA—the birthplace of Python Django and home to Linux News Media. Dan has also clicked the cover image, which was taken outside his home in Lawrence, Kansas, USA, where the sunflower fields are in bloom for only one short week in September.