{"id":2981,"date":"2021-11-16T10:30:35","date_gmt":"2021-11-16T05:00:35","guid":{"rendered":"https:\/\/www.cloudnowtech.com\/blog\/?p=2981"},"modified":"2021-11-09T12:40:05","modified_gmt":"2021-11-09T07:10:05","slug":"reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better","status":"publish","type":"post","link":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/","title":{"rendered":"Reactive Frameworks 101: What they are and how they can help make your application better"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Let\u2019s start with what reactive frameworks are. To understand the term, we first split it into two components \u2013 reactive programming and reactive systems.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Reactive programming (Rx) is defined as an asynchronous programming model that deals with data streams, making it possible to easily express static (arrays for instance) or dynamic (e.g. event emitters) data streams through programming languages.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A reactive system on the other hand is an architectural style that enables applications made up of microservices to work together to better communicate with each other and their environment. They are event-driven, interactive, flexible, resilient, and responsive as they harness asynchronous message-driven communication. This architecture type is popular with more enterprises turning to the cloud.<\/span><\/p>\n<p><b>Together, reactive systems and reactive programming create reactive frameworks.<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Author of several programming books Bruce Eckel, and CTO of Typesafe Jonas Boner published \u201cThe Reactive Manifesto\u201d, which explains that reactive applications need to be able to react to events (flexible), load (interactive), failure (resilient), and users (responsive).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Companies that have been using Rx extensively are Netflix and Google. Take Google Maps for instance. The app places a dot on your location, which moves with you by tracking your device\u2019s position relative to North. It submits these values to the API every few seconds, which displays the response as the moving dot. That\u2019s reactive programming in a nutshell.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As for Netflix, the digital streaming service receives hundreds of billions of requests every single day and needs to run all these \u201cevents\u201d alongside each other to produce quick and reliable responses to consumer clicks. All possible because of reactive programming.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">That brings us to Data Streams. What are they?<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">In reactive programming, all events are in the form of a data stream where information and data are pushed to the user. Reactive programming uses asynchronous non-blocking data streams. Asynchronous means you don\u2019t have to wait for a task to be completed, you can move on to the next task until the data is available.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Every event comes from a data stream. That means any messages, calls, and even failures, are going to be conveyed as a result of the stream. In reactive programming, data streams are created from events that happen as a result of variables and data structures.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Data streams are in effect the foundation of your application. With Rx, you \u201cobserve\u201d these data streams and react when it returns a value.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Which takes us next to Observables. What are they?<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">If the data stream is the foundation of reactive programming, observables are the building blocks.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">An observable is a collection of data that waits to be invoked before it can issue data. There are two types of observables \u2013 those that require a subscription in the form of an action (cold) and those that do not (hot).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For instance, if there is a download available and the user clicks on the download button, it becomes a cold observable as nothing happens unless the user interacts with the stream. A new ticker that shows live updates even without any action by the user is a hot observable.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In reactive programming, every data stream is observable.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Here are some of the key advantages of this approach<\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Rx makes the backend interactive<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Rx makes for faster systems as it becomes simpler to do asynchronous work<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Rx makes it easier to compose data streams<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Rx makes the code base more readable<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Rx increases the response time for consumers on account of its asynchronous nature<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Rx makes the application more efficient<\/span><\/li>\n<\/ul>\n<p><i><span style=\"font-weight: 400;\">For greater productivity, better resilience, and greatly improved scalability, enterprises ought to consider a reactive framework as it embraces reactive programming and reactive systems to deliver a positive experience for users. If you would like to know more about how reactive programming can help your enterprise, do <\/span><\/i><a href=\"https:\/\/www.cloudnowtech.com\/contact-us.html\"><i><span style=\"font-weight: 400;\">get in touch<\/span><\/i><\/a><i><span style=\"font-weight: 400;\"> with us at CloudNow.<\/span><\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let\u2019s start with what reactive frameworks are. To understand the term, we first split it into two components \u2013 reactive programming and reactive systems. Reactive programming (Rx) is defined as an asynchronous programming model that deals with data streams, making it possible to easily express static (arrays for instance) or dynamic (e.g. event emitters) data [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":2982,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[280],"tags":[309,310],"class_list":["post-2981","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-analytics","tag-reactive-frameworks","tag-reactive-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Reactive Frameworks 101: What they are and how they can help make your application better - Discover Better Value Faster<\/title>\n<meta name=\"description\" content=\"Applications need to be able to react to events (flexible), load (interactive), failure (resilient), and users (responsive).\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reactive Frameworks 101: What they are and how they can help make your application better - Discover Better Value Faster\" \/>\n<meta property=\"og:description\" content=\"Applications need to be able to react to events (flexible), load (interactive), failure (resilient), and users (responsive).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/\" \/>\n<meta property=\"og:site_name\" content=\"Discover Better Value Faster\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-16T05:00:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-09T07:10:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-59.jpeg.png?fit=2049%2C1365&#038;ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"2049\" \/>\n\t<meta property=\"og:image:height\" content=\"1365\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"SatyaDev Addeppally\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#website\",\"url\":\"https:\/\/www.cloudnowtech.com\/blog\/\",\"name\":\"Discover Better Value Faster\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cloudnowtech.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-59.jpeg.png?fit=2049%2C1365&ssl=1\",\"contentUrl\":\"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-59.jpeg.png?fit=2049%2C1365&ssl=1\",\"width\":2049,\"height\":1365,\"caption\":\"Reactive Frameworks 101: What they are and how they can help make your application better\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#webpage\",\"url\":\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/\",\"name\":\"Reactive Frameworks 101: What they are and how they can help make your application better - Discover Better Value Faster\",\"isPartOf\":{\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#primaryimage\"},\"datePublished\":\"2021-11-16T05:00:35+00:00\",\"dateModified\":\"2021-11-09T07:10:05+00:00\",\"author\":{\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#\/schema\/person\/2e76f56977117c409772392b0ced58c6\"},\"description\":\"Applications need to be able to react to events (flexible), load (interactive), failure (resilient), and users (responsive).\",\"breadcrumb\":{\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cloudnowtech.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reactive Frameworks 101: What they are and how they can help make your application better\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#\/schema\/person\/2e76f56977117c409772392b0ced58c6\",\"name\":\"SatyaDev Addeppally\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.cloudnowtech.com\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/sathyadev-96x96.jpg\",\"contentUrl\":\"https:\/\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/sathyadev-96x96.jpg\",\"caption\":\"SatyaDev Addeppally\"},\"description\":\"Enterprising leader with an analytical bent of mind offering a proven history of success by supervising, planning &amp; managing multifaceted projects &amp; complex dependencies; chronicled success with 22 years of extensive experience including international experience.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/satyadevaddepally\/\"],\"url\":\"https:\/\/www.cloudnowtech.com\/blog\/author\/satyadev-a\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reactive Frameworks 101: What they are and how they can help make your application better - Discover Better Value Faster","description":"Applications need to be able to react to events (flexible), load (interactive), failure (resilient), and users (responsive).","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/","og_locale":"en_US","og_type":"article","og_title":"Reactive Frameworks 101: What they are and how they can help make your application better - Discover Better Value Faster","og_description":"Applications need to be able to react to events (flexible), load (interactive), failure (resilient), and users (responsive).","og_url":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/","og_site_name":"Discover Better Value Faster","article_published_time":"2021-11-16T05:00:35+00:00","article_modified_time":"2021-11-09T07:10:05+00:00","og_image":[{"width":2049,"height":1365,"url":"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-59.jpeg.png?fit=2049%2C1365&ssl=1","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"SatyaDev Addeppally","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/www.cloudnowtech.com\/blog\/#website","url":"https:\/\/www.cloudnowtech.com\/blog\/","name":"Discover Better Value Faster","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cloudnowtech.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#primaryimage","inLanguage":"en-US","url":"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-59.jpeg.png?fit=2049%2C1365&ssl=1","contentUrl":"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-59.jpeg.png?fit=2049%2C1365&ssl=1","width":2049,"height":1365,"caption":"Reactive Frameworks 101: What they are and how they can help make your application better"},{"@type":"WebPage","@id":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#webpage","url":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/","name":"Reactive Frameworks 101: What they are and how they can help make your application better - Discover Better Value Faster","isPartOf":{"@id":"https:\/\/www.cloudnowtech.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#primaryimage"},"datePublished":"2021-11-16T05:00:35+00:00","dateModified":"2021-11-09T07:10:05+00:00","author":{"@id":"https:\/\/www.cloudnowtech.com\/blog\/#\/schema\/person\/2e76f56977117c409772392b0ced58c6"},"description":"Applications need to be able to react to events (flexible), load (interactive), failure (resilient), and users (responsive).","breadcrumb":{"@id":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.cloudnowtech.com\/blog\/reactive-frameworks-101-what-they-are-and-how-they-can-help-make-your-application-better\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cloudnowtech.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Reactive Frameworks 101: What they are and how they can help make your application better"}]},{"@type":"Person","@id":"https:\/\/www.cloudnowtech.com\/blog\/#\/schema\/person\/2e76f56977117c409772392b0ced58c6","name":"SatyaDev Addeppally","image":{"@type":"ImageObject","@id":"https:\/\/www.cloudnowtech.com\/blog\/#personlogo","inLanguage":"en-US","url":"https:\/\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/sathyadev-96x96.jpg","contentUrl":"https:\/\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/sathyadev-96x96.jpg","caption":"SatyaDev Addeppally"},"description":"Enterprising leader with an analytical bent of mind offering a proven history of success by supervising, planning &amp; managing multifaceted projects &amp; complex dependencies; chronicled success with 22 years of extensive experience including international experience.","sameAs":["https:\/\/www.linkedin.com\/in\/satyadevaddepally\/"],"url":"https:\/\/www.cloudnowtech.com\/blog\/author\/satyadev-a\/"}]}},"jetpack_featured_media_url":"https:\/\/i2.wp.com\/www.cloudnowtech.com\/blog\/wp-content\/uploads\/2021\/11\/Blog-59.jpeg.png?fit=2049%2C1365&ssl=1","_links":{"self":[{"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/posts\/2981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/comments?post=2981"}],"version-history":[{"count":1,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/posts\/2981\/revisions"}],"predecessor-version":[{"id":2983,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/posts\/2981\/revisions\/2983"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/media\/2982"}],"wp:attachment":[{"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/media?parent=2981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/categories?post=2981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudnowtech.com\/blog\/wp-json\/wp\/v2\/tags?post=2981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}