2016-07-19 1 views
2

Facebook React and Angular 2 оба поощряют реактивное программирование (или, по крайней мере, построены таким образом, что позволяют легко использовать реактивное программирование).Существуют ли рамки для реактивного программирования на бэкэнд?

Оба эти устройства предназначены для создания внешних клиентов.

Есть ли что-то аналогичное для построения бэкэндов? На мой взгляд, кажется, что имеет смысл строить его таким образом, если у меня есть реактивный интерфейс. Это упростит быструю историю состояния приложения (бэкэнд), что, в свою очередь, упростит синхронизацию с внешним клиентом с локальным хранилищем или синхронизацией между двумя клиентами.

Если нет, то почему бы и нет? Есть ли какая-то здравая мысль, по которой я не понимаю, почему реактивное программирование имеет смысл в интерфейсе, но не на бэкэнде?

ОБНОВЛЕНИЕ ЗАЩИТЫ: Я знаю, что реагирует на меня, но мне больше интересно, есть ли укомплектованная структура, такая как Angular 2 или React, которая поощряет создание вашего бэкэнда с помощью «редукторов» и «селекторов» и для которых каждый изменение в backend соответствует некоторому «действию», которое может быть записано, чтобы сделать отладку чистой.

+0

Видимо, есть (http://reactivex.io/), но я редко использую его на своем внутреннем решении (ASP.NET MVC). Зачем? Потому что различная парадигма в разработке интерфейсных и back-end приложений. Front-end SPA, как правило, загружается один раз в окно браузера и сидит там, стреляя/ожидая асинхронных событий; где-то мои потоки будут только запускаться, если есть входящий запрос и распоряжаться сразу после подачи запроса. –

+0

ahhh, я вижу. Так вы говорите, что с целью скорости это не так важно? Как насчет цели чистоты кода/разделения проблем/облегчения отладки, как изменился ваш бэкэнд? Кроме того, запись этих действий, по-видимому, полезна для синхронизации с локальным хранилищем в интерфейсе? есть ли причина, почему это не так полезно, как я себе представляю? – David

+0

не являются входящими запросами в основном асинхронными событиями? почему бы не использовать реактивное программирование на сервере? –

ответ

1

Существует множество реализаций для бэкэнд-кода, такого как Rx.Net и RxJava, вы можете увидеть полный список здесь http://reactivex.io/languages.html.

Для базового кода, который принимает сетевые события, такие как данные датчиков, имеет смысл использовать реактивный код.

+0

Спасибо @Toan, я знаю, что reactivex.io, но мне было интересно, есть ли какая-то упрямая структура (или даже некоторые пакеты/драгоценные камни), которые построены для реактивной парадигмы. Что-то, где ваш бэкэнд изменяется только через «действия», которые испускаются, и вы реализуете «редукторы», которые предпринимают действия для обновления состояния. (Я уточнил свой вопрос, чтобы уточнить это). – David

+0

Я не видел никакой открытой структуры, но я использовал библиотеку для .Net. Это довольно круто. Приветствия. –

 Смежные вопросы

  • Нет связанных вопросов^_^