|
1 | | -# PART 1 - Getting started |
| 1 | +# Часть 1 - Введение |
2 | 2 |
|
3 | | -## Why Rx |
| 3 | +## Почему Rx? |
4 | 4 |
|
5 | | -> Users expect real time data. They want their tweets now. Their order confirmed now. They need prices accurate as of now. Their online games need to be responsive. As a developer, you demand fire-and-forget messaging. You don't want to be blocked waiting for a result. You want to have the result pushed to you when it is ready. Even better, when working with result sets, you want to receive individual results as they are ready. You do not want to wait for the entire set to be processed before you see the first row. The world has moved to push; users are waiting for us to catch up. Developers have tools to push data, this is easy. Developers need tools to react to push data |
| 5 | +> Пользователи ожидают данных в реальном времени. Они хотят твиты сейчас. Подтвержение заказа сейчас. Им необходимы цены по состоянию на сейчас. Как разработчик, вы нуждаетесь в самонаводящихся сообщениях. Вы не хотите быть блокированным в ожидании результата. Вы хотите, чтобы результат пришел к вам по готовности. Даже более того, вы хотите работать с результатом по частям: вы не хотите ждать пока загрузится всё перед тем как отобразить первую строку. Мир перешел в режим уведомлений. У разработчиков есть инструменты, чтобы уведомлять, это легко. Им нужны инструменты чтобы реагировать на уведомления. |
6 | 6 |
|
7 | | -Welcome to Rx. This book is based on [Rx.NET](http://msdn.microsoft.com/en-us/devlabs/gg577609)'s www.introtorx.com and it introduces beginners to [RxJava](https://github.com/ReactiveX/RxJava), the Netflix implementation of the original Microsoft library. Rx is a powerful tool that enables the solution of problems in an elegant declarative style, familiar to functional programmers. Rx has several benefits: |
| 7 | +Добро пожаловать в Rx. Rx – это мощный инструмент, который позволяет решать проблемы в элегантном декларативном стиле, присущем функциональному программированию. Rx обладает следующими преимуществами: |
8 | 8 |
|
9 | | -* Unitive |
10 | | - * Queries in Rx are done in the same style as other libraries inspired by functional programming, such as Java streams. In Rx, one can use functional style transformations on event streams. |
11 | | -* Extensible |
12 | | - * RxJava can be extended with custom operators. Although Java does not allow for this to happen in an elegant way, RxJava offers all the extensibility one can find Rx implementations in other languages. |
13 | | -* Declarative |
14 | | - * Functional transformations are read in a declarative way. |
15 | | -* Composable |
16 | | - * Rx operators can be combined to produce more complicated operations. |
17 | | -* Transformative |
18 | | - * Rx operators can transform one type of data to another, reducing, mapping or expanding streams as needed. |
| 9 | +* Интуитивность |
| 10 | + * Действия в Rx описываются в таком же стиле, как и в других библиотеках вдохновленных функциональным программированием, например, Java Streams. Rx дает возможность использовать функциональные трансформации над потоками событий. |
| 11 | +* Расширяемость |
| 12 | + * RxJava может быть расширена пользовательскими операторами. И хотя Java не позволяет сделать это элегантным образом, RxJava предлагает всю расширяемость доступную в реализациях Rx на любом другом языке. |
| 13 | +* Декларативность |
| 14 | + * Функциональные трансформации обьявлены декларативно. |
| 15 | +* Компонуемость |
| 16 | + * Операторы в Rx легко компонуются, чтобы проводить сложные операции. |
| 17 | +* Преобразуемость |
| 18 | + * Операторы в Rx могут трансформировать типы данных, фильтруя, обрабатывая и расширяя потоки данных при необходимости. |
19 | 19 |
|
20 | 20 |
|
21 | | -## When is Rx appropriate? |
| 21 | +## Когда следует использовать Rx? |
22 | 22 |
|
23 | | -Rx is fit for composing and consuming sequences of events. We present some of the use cases for Rx, according to www.introtorx.com |
| 23 | +Rx применяется для составления и обработки последовательностей событий. |
24 | 24 |
|
25 | | -### Should use Rx |
| 25 | +### Следует использовать Rx |
26 | 26 |
|
27 | | -* UI events like mouse move, button click |
28 | | -* Domain events like property changed, collection updated, "Order Filled", "Registration accepted" etc. |
29 | | -* Infrastructure events like from file watcher, system and WMI events |
30 | | -* Integration events like a broadcast from a message bus or a push event from WebSockets API or other low latency middleware like Nirvana |
31 | | -* Integration with a CEP engine like StreamInsight or StreamBase. |
| 27 | +* UI события, такие как mouse move, button click |
| 28 | +* События вроде изменения свойства, обновления коллекции, «Заказ оформлен», «Регистрация закончена» и т.д. |
| 29 | +* Инфраструктурные события (сообщения от системы, WMI или файловых менеджеров) |
| 30 | +* Интеграция с событиями от шины сообщений (message bus), сообщениями из WebScoket API |
| 31 | +* Интеграция с [CEP-системами](https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D1%8B%D1%85_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9) (StreamInsight, StreamBas) |
32 | 32 |
|
33 | | -### Could use Rx |
| 33 | +### Возможно использование Rx |
34 | 34 |
|
35 | | -* Result of `Future` or equivalent pattern |
| 35 | +* Результат Future или похожего паттерна |
36 | 36 |
|
37 | | -Those patterns are already well adopted and you may find that introducing Rx on top of that does not add to the development process. |
| 37 | +Подобные паттерны и так хорошо выполняют свои функции и может оказаться, что использование Rx поверх них не принесет особой выгоды в разработке. |
38 | 38 |
|
39 | | -### Won't use Rx |
| 39 | +### Не следует использовать Rx |
40 | 40 |
|
41 | | -* Translating iterables to observables, just for the sake of working on them through an Rx library. |
| 41 | +* Для превращения Iterable в Observable только для того, чтобы работать с ними через библиотеку Rx. |
42 | 42 |
|
43 | 43 |
|
44 | | -##### Continue reading |
| 44 | +##### Продолжить чтение |
45 | 45 |
|
46 | | -| Previous | Next | |
| 46 | +| Назад | Вперед | |
47 | 47 | | --- | --- | |
48 | | -| | [Key types](/Part 1 - Getting Started/2. Key types.md) | |
| 48 | +| | [Ключевые типы](/Part 1 - Getting Started/2. Key types.md) | |
49 | 49 |
|
0 commit comments