{"id":22116,"date":"2018-07-10T12:15:29","date_gmt":"2018-07-10T09:15:29","guid":{"rendered":"https:\/\/www.webcodegeeks.com\/?p=22116"},"modified":"2018-07-06T11:29:48","modified_gmt":"2018-07-06T08:29:48","slug":"problem-react-jsx-solving-app","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/","title":{"rendered":"What problem is React\/JSX solving in your App?"},"content":{"rendered":"<p>Framework wars and debates are very much a thing these days, be it Angular vs Backbone or Angular vs React, but the real debate isn\u2019t about these frameworks. The real debate essentially comes down to which is the most efficient way of structuring your app and more importantly, rendering and managing your DOM.<\/p>\n<p>Whilst the traditional jQuery\/Backbone way is to render the DOM directly using methods like $(component).html(\u201cDOM Code\u201d), React considers it an anti-pattern and recommends the way of virtual DOM \u2013 a concept where you don\u2019t render the DOM directly as it is, but keep a virtual copy of it and render only the differential which is essentially <em>patching <\/em>the DOM.<\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/07\/js-frameworks.jpeg\"><img decoding=\"async\" class=\"aligncenter wp-image-22119 size-full\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/07\/js-frameworks.jpeg\" alt=\"React\" width=\"640\" height=\"426\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/07\/js-frameworks.jpeg 640w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/07\/js-frameworks-300x200.jpeg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>One thing that comes to mind is that more than an improvement over the former approach, you are basically trading off CPU overhead for lesser memory usage. The former jQuery approach is more <strong>memory intensive<\/strong> as the browser needs to keep large amount of DOM structural code in memory until its rendered (yeah, it gets pretty large in a non-trivial app with lots of widgets that may need to be rendered in a complex array of patterns). However, what exactly are we gaining by using the JSX virtual DOM method? The JSX approach is just as much <strong>CPU intensive <\/strong>as the jQuery approach is RAM intensive because it takes just as many CPU cycles to compute the differential and come up with a \u201cpatch\u201d version of the DOM. In fact, the trade-off may be even worse considering that React is more of a library overhead than jQuery which is just a light \u201cwrite less do more\u201d wrapper over JavaScript DOM manipulation functions.<\/p>\n<p>The real question we should be asking ourselves is why do we keep looking for that holy-grail JavaScript framework every now and then? Yesterday it was angularjs, today its React and tomorrow it will be vue.js. Instead of running after the shiny new framework, why not sit down and see what you are doing wrong with the present tools you have. After all, these tools are industry proven and they still exist for a reason.<\/p>\n<p>I think most of the issues with using jQuery come from incorrect usage patterns than any problems associated with actual rendering. Consider the following often used pattern for rendering view blocks:<\/p>\n<pre class=\"brush:php\">$.get(\"partials\/navbarTemplate.html\", function(data){\r\n  $(\"#div-navbar\").html(data); \/\/render a template\r\n  ..\r\n});<\/pre>\n<p>This coding pattern is typically abhorred by most React experts as they feel that rendering a whole bunch of html code (data argument in this case) is an anti pattern as the browser has to repeatedly render a lot of boiler-plate DOM unnecessarily. However, that\u2019s only true if you do this often times and repeatedly call this function. If you use a good architectural pattern for structuring your app (like the one provided by Backbone.js), you can render this same DOM in a very idempotent way:<\/p>\n<pre class=\"brush:php\">app.NavbarView = Backbone.View.extend({\r\n\tel: \"#div-navbar\",\r\n\tinitialize: function() {\r\n\t\tvar temp = this;\r\n\t\t$.get(\"partials\/navbarTemplate.html\", function(e){\r\n\t\t\ttemp.template = _.template(e, {});\r\n\t\t});\r\n\t},\r\n\trender: function() {\r\n\t\tthis.$el.html(this.template());\r\n\t},\r\n\r\n});<\/pre>\n<p>In above code, we are still using jQuery.get, but in a more organized and structured way. Firstly, we call jQuery.get only in the initialization of the view to get the template and store it in the cache, so the network overhead isn\u2019t involved each time we need to use a template. Furthermore, backbone itself caches and stores the block element to be rendered (this.$el), so that we don\u2019t have to trouble the browser with other areas of the DOM where rendering isn\u2019t required. Finally, we just call the underscore template and render the element:<\/p>\n<pre class=\"brush:php\">this.$el.html(this.template());<\/pre>\n<p>Of course, this could be probably further optimized by using jQuery.empty().append() instead of jQuery.html() if you want to tweak the last drop of performance!<\/p>\n<pre class=\"brush:php\">this.$el.empty().html(this.template());<\/pre>\n<p>However, I don\u2019t think this kind of premature optimization is really needed unless you are building a really complex app and even then this isn\u2019t required in about 90% of the cases, the browsers have become considerably fast in recent years, at least in the area of DOM rendering.<\/p>\n<p>And this is exactly why I think that using virtual DOM libraries like React is an anti-pattern. You are essentially stepping into the shoes of the browser, isn\u2019t it? If the kind of partial patching implemented by React is really efficient, wouldn\u2019t the browsers be doing it themselves? Maybe they will take some of the best ideas from React and JSX, and implement it themselves in the coming future, but why should <em>you<\/em> (as a programmer) be bothered with that is what I don\u2019t understand.<\/p>\n<p>This whole debate about frameworks is pretty much centered on separation of concerns essentially (models, views and controllers\/organizers should all be cleanly separated) and to some extent, React is going against that separation by doing what the browser is supposed to do.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>Published on Web Code Geeks with permission by Prahlad Yeri, partner at our <a href=\"\/\/www.webcodegeeks.com\/join-us\/wcg\/\" target=\"_blank\" rel=\"noopener\">WCG program<\/a>. See the original article here: <a href=\"https:\/\/www.prahladyeri.com\/blog\/2018\/07\/what-problem-is-react-jsx-solving.html\" target=\"_blank\" rel=\"noopener\">What problem is React\/JSX solving in your App?<\/a><\/p>\n<p>Opinions expressed by Web Code Geeks contributors are their own.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Framework wars and debates are very much a thing these days, be it Angular vs Backbone or Angular vs React, but the real debate isn\u2019t about these frameworks. The real debate essentially comes down to which is the most efficient way of structuring your app and more importantly, rendering and managing your DOM. Whilst the &hellip;<\/p>\n","protected":false},"author":20,"featured_media":20786,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[511],"tags":[],"class_list":["post-22116","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-react-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What problem is React\/JSX solving in your App? - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Interested to learn more about React \/ JSX? Check out our article on the most efficient way of structuring your app, rendering and managing your DOM.\" \/>\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.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What problem is React\/JSX solving in your App? - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Interested to learn more about React \/ JSX? Check out our article on the most efficient way of structuring your app, rendering and managing your DOM.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prahlad1981\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-10T09:15:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Prahlad Yeri\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/prahladyeri\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prahlad Yeri\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/\"},\"author\":{\"name\":\"Prahlad Yeri\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/adbf41ec03855cdb1730dd42f2725bfd\"},\"headline\":\"What problem is React\/JSX solving in your App?\",\"datePublished\":\"2018-07-10T09:15:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/\"},\"wordCount\":829,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg\",\"articleSection\":[\"React.js\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/\",\"name\":\"What problem is React\/JSX solving in your App? - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg\",\"datePublished\":\"2018-07-10T09:15:29+00:00\",\"description\":\"Interested to learn more about React \/ JSX? Check out our article on the most efficient way of structuring your app, rendering and managing your DOM.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"React.js\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/react-js\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"What problem is React\/JSX solving in your App?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/adbf41ec03855cdb1730dd42f2725bfd\",\"name\":\"Prahlad Yeri\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70a8e7bba939c7539943aa1191374d2504d95a2a95acb04a1e44adc3b4c72fe3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70a8e7bba939c7539943aa1191374d2504d95a2a95acb04a1e44adc3b4c72fe3?s=96&d=mm&r=g\",\"caption\":\"Prahlad Yeri\"},\"description\":\"Prahlad is a freelance software developer working on web and mobile application development. He also likes to blog about programming and contribute to opensource.\",\"sameAs\":[\"http:\/\/www.prahladyeri.com\/\",\"https:\/\/www.facebook.com\/prahlad1981\",\"http:\/\/in.linkedin.com\/pub\/prahlad-yeri\/16\/a53\/243\/\",\"https:\/\/x.com\/https:\/\/twitter.com\/prahladyeri\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/prahlad-yeri\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What problem is React\/JSX solving in your App? - Web Code Geeks - 2026","description":"Interested to learn more about React \/ JSX? Check out our article on the most efficient way of structuring your app, rendering and managing your DOM.","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.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/","og_locale":"en_US","og_type":"article","og_title":"What problem is React\/JSX solving in your App? - Web Code Geeks - 2026","og_description":"Interested to learn more about React \/ JSX? Check out our article on the most efficient way of structuring your app, rendering and managing your DOM.","og_url":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_author":"https:\/\/www.facebook.com\/prahlad1981","article_published_time":"2018-07-10T09:15:29+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg","type":"image\/jpeg"}],"author":"Prahlad Yeri","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/prahladyeri","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Prahlad Yeri","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/"},"author":{"name":"Prahlad Yeri","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/adbf41ec03855cdb1730dd42f2725bfd"},"headline":"What problem is React\/JSX solving in your App?","datePublished":"2018-07-10T09:15:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/"},"wordCount":829,"commentCount":1,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg","articleSection":["React.js"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/","url":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/","name":"What problem is React\/JSX solving in your App? - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg","datePublished":"2018-07-10T09:15:29+00:00","description":"Interested to learn more about React \/ JSX? Check out our article on the most efficient way of structuring your app, rendering and managing your DOM.","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2018\/02\/react-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/javascript\/react-js\/problem-react-jsx-solving-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"JavaScript","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/"},{"@type":"ListItem","position":3,"name":"React.js","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/react-js\/"},{"@type":"ListItem","position":4,"name":"What problem is React\/JSX solving in your App?"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/adbf41ec03855cdb1730dd42f2725bfd","name":"Prahlad Yeri","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/70a8e7bba939c7539943aa1191374d2504d95a2a95acb04a1e44adc3b4c72fe3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70a8e7bba939c7539943aa1191374d2504d95a2a95acb04a1e44adc3b4c72fe3?s=96&d=mm&r=g","caption":"Prahlad Yeri"},"description":"Prahlad is a freelance software developer working on web and mobile application development. He also likes to blog about programming and contribute to opensource.","sameAs":["http:\/\/www.prahladyeri.com\/","https:\/\/www.facebook.com\/prahlad1981","http:\/\/in.linkedin.com\/pub\/prahlad-yeri\/16\/a53\/243\/","https:\/\/x.com\/https:\/\/twitter.com\/prahladyeri"],"url":"https:\/\/www.webcodegeeks.com\/author\/prahlad-yeri\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/22116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=22116"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/22116\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/20786"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=22116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=22116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=22116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}