{"id":5282,"date":"2020-03-11T08:19:07","date_gmt":"2020-03-11T12:19:07","guid":{"rendered":"https:\/\/www.freelancinggig.com\/blog\/?p=5282"},"modified":"2020-03-11T08:19:08","modified_gmt":"2020-03-11T12:19:08","slug":"what-is-the-difference-between-ngrx-and-rxjs","status":"publish","type":"post","link":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/","title":{"rendered":"What is the Difference Between NGRX and RxJS?"},"content":{"rendered":"<p>We talk much about reactive programming in the\nAngular realm. Here, Angular 2 and Reactive programming seem to move hand in\nhand. On the other hand, for anyone that is not familiar with both of these technologies,\nit may be a quite challenging task to simply figure out about them.<\/p>\n\n\n\n<p>Here let us learn that through building the\nreactive application of Angular 2 with the help of the Ngrx, you will be able\nto simply learn what is the pattern, where these patterns may help to simply\nprove to become quite much useful, and how does these pattern may be used for\nbuilding the enhanced version of the Angular 2 applications.<\/p>\n\n\n\n<p>Ngrx is the group of the Angular libraries\nthat are used for the reactive extensions. Where Ngrx\/Store usually implements\npatterns of Redux by using highly well-known RxJS observables about the\napplication Angular 2. It offers various advantages through simplifying the\napplication state for the plain objects thereby enforcing the unidirectional\nflow of the data and even much more. The Effects and Ngrx for library permit\nthe application to simply communicate with the outside world through triggering\non the side effects.<\/p>\n\n\n\n<p><strong>An overview of Reactive Programming<\/strong><\/p>\n\n\n\n<p>Reactive programming is the term which you\nhear much these days, but what it means?<\/p>\n\n\n\n<p>Reactive programming is mainly the way through\nwhich the applications handle events as well as the data flow in the\napplications. In the concept of reactive programming, you will design the\ncomponents along with some different pieces of the software to react to these\nchanges rather than asking for changes. It could certainly be a great movement.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.freelancinggig.com\/blog\/2017\/09\/12\/what-is-rxjava\/\">The wonderful tool used for reactive programming is RxJS.<\/a><\/p>\n\n\n\n<p>By providing some of the observables and\nvarious operators help to simply transform the incoming data, the library will\nalso assist you to handle the events in the application. On the other hand,\nwith the observables, you may be able to see an event as a series of events and\nnot just being the single-time event. It will also allow you to simply combine\nthem, for instance, creating the new event that you may listen to.<\/p>\n\n\n\n<p>Reactive programming is mainly the shift in a\ndifferent way you will communicate between diverse parts of the application.\nRather than pushing the data directly to component and the service which is\nrequired, in the concept of reactive programming, it is mainly the component or\nthe service which reacts to the data changes.<\/p>\n\n\n\n<p><strong>Ngrx<\/strong><\/p>\n\n\n\n<p>To simply understand the application that you\nneed to build through the tutorial, you should also make quick dive into core\nconcepts of Redux.<\/p>\n\n\n\n<p><strong>Store<\/strong><\/p>\n\n\n\n<p>The store may also be seen as the database of\nthe client-side but, quite significantly, it helps to reflect the condition of\nthe application. You may also be able to see it as a single source of fact. It\nis the only thing that you may also alter when you will follow the patterns of\nRedux and you modify it through dispatching the actions.<\/p>\n\n\n\n<p><strong>Reducer<\/strong><\/p>\n\n\n\n<p>It helps to reducers are functions that know\nabout what to do with the given action as well as the earlier status of the\napp. The reducers take the previous and earlier state from the store as well as\nit also applies the pure function. Here, Pure means the function will return\nfor the same value for the same input as well as this also does not have any\nside effects. From such a result of the pure function, you have the latest\nstate which will be in the store.<\/p>\n\n\n\n<p><strong>Actions<\/strong><\/p>\n\n\n\n<p>The actions usually are payload which consists\nof requisite information for altering the store. Usually, an action has the type\nalong with payload which the reducer function may take for altering state.<\/p>\n\n\n\n<p><strong>Dispatcher<\/strong><\/p>\n\n\n\n<p>The Dispatchers are mainly just the entry\npoint for you where you can dispatch the action. In Ngrx, the method of\ndispatch is available directly in the store.<\/p>\n\n\n\n<p><strong>Middleware<\/strong><\/p>\n\n\n\n<p>Here the Middleware offers functions that will\nintercept every such action which is dispatched to create some kind of the side\neffects, even though you will never use them. They are also implemented in the\nNgrx library or the Effect library, and even there is some great chance that\nyou might need them when you are creating the applications for the real world.<\/p>\n\n\n\n<p><strong>Key reason &#x2013; Why People Use Ngrx?<\/strong><\/p>\n\n\n\n<p><strong>1. Complexity<\/strong><\/p>\n\n\n\n<p>The unidirectional flow of the data greatly\nreduces the coupling between the different parts of the application. It reduced\na further level of complexity about the application, as every single part\nusually cares about some of the particular states.<\/p>\n\n\n\n<p><strong>2. Tooling<\/strong><\/p>\n\n\n\n<p>The complete state of the application is\nusually stored in a single place, and hence it is quite simple to have the\nglobal view of the application state as well as it also helps at the time of\nthe development. Moreover, with Redux there are some of the dev tools which\nusually take advantage of the store and may also help to simply reproduce some\nof the states of application or it also makes the time travel.<\/p>\n\n\n\n<p><strong>3. Architectural simplicity<\/strong><\/p>\n\n\n\n<p>There are various benefits of Ngrx that are\nmuch achievable with different kinds of solutions; subsequently, Redux is the\npattern of architecture. But at any point in time when you need to build an\napplication that is a perfect fit for a Redux pattern, like collaborative tools\nfor editing, you may also simply add some of the features by following such\nkind of pattern.<\/p>\n\n\n\n<p><strong>4. The small curve of learning&#xA0;<\/strong><\/p>\n\n\n\n<p>As this pattern is adopted widely and it is\nquite simple to use, it is simple for new people to catch up much quickly about\nwhat you did.<\/p>\n\n\n\n<p><strong>Conclusion:<\/strong><\/p>\n\n\n\n<p>Ngrx shines to be when you possess various external actors which may also modify the application, like monitoring dashboard. However, in such cases, it is hard to manage various incoming data which are pushed to the application, and even the state management becomes quite difficult. RxJS is the wonderful tool used for reactive programming&#xA0;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We talk much about reactive programming in the Angular realm. Here, Angular 2 and Reactive programming seem to move hand in hand. On the other &#x2026;<\/p>\n","protected":false},"author":3,"featured_media":5283,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[149],"tags":[1790,1789,1791],"class_list":["post-5282","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-startup-resources","tag-ngrx","tag-ngrx-vs-rxjs","tag-rxjs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What is the Difference Between NGRX and RxJS? - Developers, Designers &amp; Freelancers - FreelancingGig<\/title>\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.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is the Difference Between NGRX and RxJS? - Developers, Designers &amp; Freelancers - FreelancingGig\" \/>\n<meta property=\"og:description\" content=\"We talk much about reactive programming in the Angular realm. Here, Angular 2 and Reactive programming seem to move hand in hand. On the other ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/\" \/>\n<meta property=\"og:site_name\" content=\"Developers, Designers &amp; Freelancers - FreelancingGig\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-11T12:19:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-03-11T12:19:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/NGRX-vs-RxJS.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1087\" \/>\n\t<meta property=\"og:image:height\" content=\"522\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kitty Gupta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kitty Gupta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/\"},\"author\":{\"name\":\"Kitty Gupta\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#\\\/schema\\\/person\\\/48f1ba04a6bf525d5251b2eda9c7bb0c\"},\"headline\":\"What is the Difference Between NGRX and RxJS?\",\"datePublished\":\"2020-03-11T12:19:07+00:00\",\"dateModified\":\"2020-03-11T12:19:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/\"},\"wordCount\":997,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/NGRX-vs-RxJS.png\",\"keywords\":[\"NGRX\",\"NGRX vs RxJS\",\"RxJS\"],\"articleSection\":[\"Startup Resources\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/\",\"name\":\"What is the Difference Between NGRX and RxJS? - Developers, Designers &amp; Freelancers - FreelancingGig\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/NGRX-vs-RxJS.png\",\"datePublished\":\"2020-03-11T12:19:07+00:00\",\"dateModified\":\"2020-03-11T12:19:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/NGRX-vs-RxJS.png\",\"contentUrl\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/NGRX-vs-RxJS.png\",\"width\":1087,\"height\":522},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/2020\\\/03\\\/11\\\/what-is-the-difference-between-ngrx-and-rxjs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is the Difference Between NGRX and RxJS?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/\",\"name\":\"Developers, Designers &amp; Freelancers - FreelancingGig\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#organization\",\"name\":\"FreelancingGig\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/freelancinggig-website-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/freelancinggig-website-logo.png\",\"width\":213,\"height\":35,\"caption\":\"FreelancingGig\"},\"image\":{\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.freelancinggig.com\\\/blog\\\/#\\\/schema\\\/person\\\/48f1ba04a6bf525d5251b2eda9c7bb0c\",\"name\":\"Kitty Gupta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g\",\"caption\":\"Kitty Gupta\"},\"description\":\"Kitty Gupta is FreelancingGig's Content &amp; Community Manager. She has many years experience writing for reputable platforms with her engineering and communications background.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What is the Difference Between NGRX and RxJS? - Developers, Designers &amp; Freelancers - FreelancingGig","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.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/","og_locale":"en_US","og_type":"article","og_title":"What is the Difference Between NGRX and RxJS? - Developers, Designers &amp; Freelancers - FreelancingGig","og_description":"We talk much about reactive programming in the Angular realm. Here, Angular 2 and Reactive programming seem to move hand in hand. On the other ...","og_url":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/","og_site_name":"Developers, Designers &amp; Freelancers - FreelancingGig","article_published_time":"2020-03-11T12:19:07+00:00","article_modified_time":"2020-03-11T12:19:08+00:00","og_image":[{"width":1087,"height":522,"url":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/NGRX-vs-RxJS.png","type":"image\/png"}],"author":"Kitty Gupta","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kitty Gupta","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/#article","isPartOf":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/"},"author":{"name":"Kitty Gupta","@id":"https:\/\/www.freelancinggig.com\/blog\/#\/schema\/person\/48f1ba04a6bf525d5251b2eda9c7bb0c"},"headline":"What is the Difference Between NGRX and RxJS?","datePublished":"2020-03-11T12:19:07+00:00","dateModified":"2020-03-11T12:19:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/"},"wordCount":997,"commentCount":0,"publisher":{"@id":"https:\/\/www.freelancinggig.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/NGRX-vs-RxJS.png","keywords":["NGRX","NGRX vs RxJS","RxJS"],"articleSection":["Startup Resources"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/","url":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/","name":"What is the Difference Between NGRX and RxJS? - Developers, Designers &amp; Freelancers - FreelancingGig","isPartOf":{"@id":"https:\/\/www.freelancinggig.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/#primaryimage"},"image":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/NGRX-vs-RxJS.png","datePublished":"2020-03-11T12:19:07+00:00","dateModified":"2020-03-11T12:19:08+00:00","breadcrumb":{"@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/#primaryimage","url":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/NGRX-vs-RxJS.png","contentUrl":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/NGRX-vs-RxJS.png","width":1087,"height":522},{"@type":"BreadcrumbList","@id":"https:\/\/www.freelancinggig.com\/blog\/2020\/03\/11\/what-is-the-difference-between-ngrx-and-rxjs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.freelancinggig.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What is the Difference Between NGRX and RxJS?"}]},{"@type":"WebSite","@id":"https:\/\/www.freelancinggig.com\/blog\/#website","url":"https:\/\/www.freelancinggig.com\/blog\/","name":"Developers, Designers &amp; Freelancers - FreelancingGig","description":"","publisher":{"@id":"https:\/\/www.freelancinggig.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.freelancinggig.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.freelancinggig.com\/blog\/#organization","name":"FreelancingGig","url":"https:\/\/www.freelancinggig.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.freelancinggig.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/freelancinggig-website-logo.png","contentUrl":"https:\/\/www.freelancinggig.com\/blog\/wp-content\/uploads\/2020\/03\/freelancinggig-website-logo.png","width":213,"height":35,"caption":"FreelancingGig"},"image":{"@id":"https:\/\/www.freelancinggig.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.freelancinggig.com\/blog\/#\/schema\/person\/48f1ba04a6bf525d5251b2eda9c7bb0c","name":"Kitty Gupta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e45872c7ed30fc8f42c4fcfc60f8d2c667422939d9e4144a03e70d71e9d44bd6?s=96&d=wp_user_avatar&r=g","caption":"Kitty Gupta"},"description":"Kitty Gupta is FreelancingGig's Content &amp; Community Manager. She has many years experience writing for reputable platforms with her engineering and communications background."}]}},"_links":{"self":[{"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/posts\/5282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/comments?post=5282"}],"version-history":[{"count":1,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/posts\/5282\/revisions"}],"predecessor-version":[{"id":5284,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/posts\/5282\/revisions\/5284"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/media\/5283"}],"wp:attachment":[{"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/media?parent=5282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/categories?post=5282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.freelancinggig.com\/blog\/wp-json\/wp\/v2\/tags?post=5282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}