Статьи

Пора начать делать ваши веб-приложения реактивными

Эта статья была создана в партнерстве с Manning Publications . Спасибо за поддержку партнеров, которые делают возможным использование SitePoint.

Вы слышали о принципе «выживания наиболее приспособленных» и знаете, что это особенно верно в веб-разработке. Ваши пользователи ожидают производительности в доли секунды и безошибочных интерфейсов — и если вы не можете их доставить, вы можете быть уверены, что они пойдут прямо к конкуренту, который сможет. Но когда дело доходит до выживания, важно помнить весь принцип эволюции: лучший способ процветать — это адаптироваться к изменениям .

Вот тут-то и возникает реактивное программирование. Реактивные приложения создаются для того, чтобы их можно было адаптировать к их средам. С самого начала вы создаете нечто, предназначенное для реагирования на нагрузку, реагирования на сбои и реагирования на ваших пользователей. Что бы ни развертывалось в производственных приложениях, ваше реактивное программирование будет означать, что оно справится с этим.

Как реактивное программирование достигает этого? Он встраивает принципы звукового программирования в ваше приложение с самого начала.

Реактивные приложения управляются сообщениями

В реактивном программировании данные выталкиваются, а не вытягиваются. Вместо того, чтобы отправлять запросы данных, которые могут быть или не быть доступными, клиентские получатели ждут прибытия сообщений с инструкциями только тогда, когда данные будут готовы. Дизайн отправителя и получателя не зависит от того, как вы распространяете свои сообщения, поэтому вы можете проектировать свою систему изолированно, не беспокоясь о том, как сообщения передаются. Это также означает, что получатели данных потребляют ресурсы только тогда, когда они активны, а не загружают ваше приложение запросами о недоступных данных.

Реактивные приложения эластичны

Реактивные приложения предназначены для упругого увеличения или уменьшения в зависимости от объема рабочей нагрузки, с которой им приходится иметь дело. Реактивная система может как увеличивать, так и уменьшать ресурсы, которые она дает своим входам, работая без узких мест или точек разногласия, чтобы легче разделять компоненты и затем распределять ресурсы между ними. Это не только экономит ваши деньги на неиспользуемой вычислительной мощности, но, что еще более важно, это означает, что ваше приложение может легко обслуживать всплески активности пользователей.

Реактивные приложения отзывчивы

Реактивные приложения должны реагировать на своих пользователей и на поведение их пользователей. Очень важно, чтобы система своевременно реагировала не только на улучшение взаимодействия с пользователем, но и на то, чтобы проблемы можно было быстро идентифицировать и (надеюсь!) Решить. Благодаря быстрому времени отклика и постоянному качеству обслуживания вы обнаружите, что ваше приложение имеет более простую обработку ошибок, а также гораздо большую уверенность пользователей.

Реактивные приложения устойчивы

Реактивные приложения должны реагировать, адаптироваться и быть гибкими перед лицом отказа. Поскольку система может выйти из строя в любое время, реактивные приложения предназначены для повышения устойчивости за счет распределения. Если есть единственная точка отказа, это просто — единственное число. Остальная часть вашего реактивного приложения продолжает работать, потому что оно создано для работы без использования какой-либо одной части.

Дополнительные ресурсы

Реактивное программирование может быть сложным для освоения. К счастью, есть много ресурсов, чтобы помочь вам. Одними из лучших являются книги и видео Manning Publications, издателей высококлассных технических книг и видео, которые вы можете купить сегодня.

Изучение современной веб-разработки — это 100% бесплатное руководство по наиболее распространенным инструментам реактивного программирования. С этим всесторонним сэмплером у вас будет прочная основа для разработки потрясающих веб-приложений со всеми современными реактивными функциями и функциями, которые ожидают сегодняшние пользователи.

Пользователи SitePoint могут получить 40% скидку на книги и видеоролики Мэннинга по реактивному программированию, веб-разработке и с кодом купона NLSITEPOINT40. Проверьте популярные бестселлеры здесь .