Clojure Reactive Programming (英語) ペーパーバック – 2015/3/23
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
- Learn how to leverage the features of functional reactive programming using Clojure
- Create dataflow-based systems that are the building blocks of reactive programming
- Learn different Functional Reactive Programming frameworks and techniques by implementing real-world examples
Reactive Programming (RP) is central to many concurrent systems. It endeavors to make the process of developing highly-concurrent, event-driven, and asynchronous applications simpler and less error-prone. RP comes in many flavors and we will look at some of them in this book.
Clojure Reactive Programming is a practical guide aimed at exploring RP. It starts by describing Functional Reactive Programming (FRP) and its formulations, as well as how it inspired Compositional Event Systems (CES).
It also presents several examples of Reactive applications implemented in different frameworks, allowing you to develop an understanding of the subject as well as learn how to develop your ability to work with time-varying values. By the end of the book, you will be equipped to solve real-world problems and have a clear understanding of when and how you should use different the approaches that are shown in the book.
What you will learn
- Understand the key abstractions of Functional Reactive Programming (FRP) and Compositional Event Systems (CES)
- Discover how to think in terms of time-varying values and event streams
- Create, compose, and transform Observable sequences with Reactive Extensions
- Create a CES framework from scratch using core.async as its foundation
- Build a simple ClojureScript game using Reagi
- Integrate Om and RxJS in a web application
- Implement a reactive API to Amazon Web Services
- Discover approaches to backpressure and error handling
- Get to grips with futures and learn where they fit in
About the Author
Leonardo Borges is a programming languages enthusiast who loves writing code, contributing to open source software, and speaking on subjects he feels strongly about. After nearly 5 years of consulting at ThoughtWorks, where he worked in two commercial Clojure projects, among many others, he is now a software engineer at Atlassian. He uses Clojure and ClojureScript to help build real-time collaborative editing technology.
Table of Contents
- What is Reactive Programming?
- A Look at Reactive Extensions
- Asynchronous Programming and Networking
- Introduction to core.async
- Creating your own CES Framework with core.async
- Bilding a Simple ClojureScript Game with Reagi
- The UI as a Function
- A Reactive API to Amazon Web Services
Leonardo Borges is a programming languages enthusiast who loves writing code, contributing to open source software, and speaking on subjects he feels strongly about. After nearly 5 years of consulting at ThoughtWorks, where he worked in two commercial Clojure projects, among many others, he is now a software engineer at Atlassian. He uses Clojure and ClojureScript to help build real-time collaborative editing technology. This is his first full-length book, but he contributed a couple of chapters to Clojure Cookbook, O'Reilly. Leonardo has founded and runs the Sydney Clojure User Group in Australia. He also writes posts about software, focusing on functional programming, on his website (http://www.leonardoborges.com). When he isn't writing code, he enjoys riding motorcycles, weightlifting, and playing the guitar.
|星5つ 67% (67%)||67%|
|星4つ 0% (0%)||0%|
|星3つ 0% (0%)||0%|
|星2つ 0% (0%)||0%|
|星1つ 33% (33%)||33%|
Previously I knew only that reactive programming was some kind of listener pattern. After reading this book I am comfortable discussing the various flavours of RX, how they can be implemented in different languages and what libraries are suitable.
Thanks to the author for expanding my brain.
Book says to run lein run -m sin-wave.server
What works? lein run -m sin-wave.application
I'm not so good at clojure that I feel comfortable (or want to spend the time) debugging the author's code.