{"id":3299,"date":"2021-05-27T13:41:23","date_gmt":"2021-05-27T13:41:23","guid":{"rendered":"https:\/\/csdev.site\/creole_new\/?p=3299"},"modified":"2024-05-17T12:34:43","modified_gmt":"2024-05-17T12:34:43","slug":"server-side-rendering-with-react","status":"publish","type":"post","link":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/","title":{"rendered":"Server Side Rendering with React"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">A Little Bit About React<\/h2>\n\n\n\n<p><a href=\"https:\/\/csdev.site\/creole_new\/react-a-blessing-for-clients-and-programmers\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">React<\/a> is an open source frontend JavaScript library, which is created and maintained by the Facebook Developer Community. It is used to build User Interfaces or UI Components.&nbsp;<\/p>\n\n\n\n<p>However, this definition might not be completely comprehensible to novices. We have the perfect blog post which walks you through a brief explanation of React, all the way up to a very detailed technical description of it, which you can find <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/csdev.site\/creole_new\/why-react-js-is-better-than-angular-or-vue-js\/\" target=\"_blank\">over here<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Journey of a Web Page | From Server to your Browser<\/h2>\n\n\n\n<p>To understand what Server Side Rendering is, first it\u2019s important to get an overview of how a webpage appears on your screen, which is elucidated by the diagram below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser.webp\" alt=\"\" class=\"wp-image-15446\" srcset=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser.webp 800w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser-300x225.webp 300w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser-768x576.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Whenever you type in the URL of a website or click a link to the website, your browser sends a request for some files to the appropriate server, identified by the URL.&nbsp;<\/li>\n\n\n\n<li>The server sends some files such as the HTML and JavaScript files among others, over to your browser.<\/li>\n\n\n\n<li>Your browser downloads and \u2018renders\u2019 or processes these files and you can see and interact with the web page you requested.<\/li>\n<\/ol>\n\n\n\n<p>This is a very big oversimplification of the journey of a webpage, but is a good enough preface into explaining the different sub steps and different ways (including Server Side Rendering) to accomplish this task.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/csdev.site\/creole_new\/contact-us\/?utm_source=Hire+Resource+CTA+Orange&amp;utm_medium=blog+cta&amp;utm_campaign=Blog+CTA&amp;utm_id=Blog+CTA\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"250\" src=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/Hire_our_resources-1.webp\" alt=\"\" class=\"wp-image-14839\" srcset=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/Hire_our_resources-1.webp 800w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/Hire_our_resources-1-300x94.webp 300w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/Hire_our_resources-1-768x240.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Journey of a \u2018Normal\u2019 Client Side Rendering Web Page<\/h2>\n\n\n\n<p>Diving deeper into the process mentioned in the previous section, we have a technique known as Client Side Rendering or CSR, which has been in use since a long time, to display a website on user\u2019s screens. This is explained in the following diagram:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"606\" src=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-csr-webpage-rendering.webp\" alt=\"\" class=\"wp-image-15448\" srcset=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-csr-webpage-rendering.webp 800w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-csr-webpage-rendering-300x227.webp 300w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-csr-webpage-rendering-768x582.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On typing in the URL of a website or clicking a link to the website, your browser sends a request for some files to the appropriate server, identified by the URL.&nbsp;<\/li>\n\n\n\n<li>Server sends over the HTML file which contains the references to other assets such as image files, CSS files and JavaScript files.&nbsp;<\/li>\n\n\n\n<li>Browser sends a request again to the server and downloads all the files, including the CSS and JavaScript files referenced in the HTML file.\n<ol class=\"wp-block-list\" style=\"list-style-type:lower-alpha\">\n<li>This can be a contributing factor in increasing the loading time of a website if the users are on a poor connection and the JavaScript file is large in size. <\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Once these files are downloaded by the browser, the browser then executes the framework or library (for example React) and parses the JavaScript files, which are responsible for making the web page interactive.\n<ol class=\"wp-block-list\" style=\"list-style-type:lower-alpha\">\n<li>From a speed optimization perspective, this point is dependent on the client machine and if the client is a low powered hardware, this can take significant time.&nbsp;<\/li>\n\n\n\n<li>The user still sees the loading screen when these steps are undergoing<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>The web page is finally loaded completely and the user can see and interact with the web page.<\/li>\n<\/ol>\n\n\n\n<p>As is clear with the steps mentioned above, from a user\u2019s perspective, they can only see and interact with the website at the final step, after all the necessary files have been downloaded and rendered by the client machine.&nbsp;<\/p>\n\n\n\n<p>This can take a huge amount of time as it is dependent on the performance of the client machine in executing the framework and parsing the JavaScript files.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Server Side Rendering Web Page\u2019s Journey<\/h2>\n\n\n\n<p>Explaining it in a single line, Server Side Rendering or SSR is the process of taking a client side JavaScript framework website and rendering it to static HTML and CSS on the server instead of the client, as was the case in CSR.<\/p>\n\n\n\n<p>Below mentioned is a pictorial representation of the journey a web page takes with Server Side Rendering, with React:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"664\" src=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-ssr-webpage-rendering-with-react.webp\" alt=\"\" class=\"wp-image-15449\" srcset=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-ssr-webpage-rendering-with-react.webp 800w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-ssr-webpage-rendering-with-react-300x249.webp 300w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-ssr-webpage-rendering-with-react-768x637.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On typing in the URL of a website or clicking a link to the website, your browser sends a request for some files to the appropriate server, identified by the URL.&nbsp;<\/li>\n\n\n\n<li>Server, instead of just sending over vanilla HTML files like in CSR, renders the app into string using the <strong>renderToString<\/strong> function imported from <strong>react-dom\/server<\/strong>\n<ol class=\"wp-block-list\" style=\"list-style-type:lower-alpha\">\n<li>This is then injected to the index.html file and is sent to the browser.<\/li>\n\n\n\n<li>This is where the crux of SSR lies, functionally speaking, as this is where the server renders the page, and not the client machine. <\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Browser renders this HTML file resulting in the view being populated in the browser.\n<ol class=\"wp-block-list\" style=\"list-style-type:lower-alpha\">\n<li>However, this is not yet interactive, but the user can see the final view of the web page.&nbsp; <\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Browser sends a request again to the server and downloads all the files referenced in the HTML file, including JavaScript files.&nbsp;<\/li>\n\n\n\n<li>Once all the scripts are downloaded, the React component is again rendered on the client. However, this time, it hydrates the existing view instead of overwriting it.\n<ol class=\"wp-block-list\" style=\"list-style-type:lower-alpha\">\n<li>\u2018Hydrating\u2019 a view means that it attaches any event handlers to the rendered DOM (Document Object Model) elements but keeps the rendered DOM elements intact. This way, the state of the DOM elements is preserved and there is no resetting of the view that happens. <\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>The web page is finally completely loaded and the user can now interact with the page which they were able to see from step 3 itself.<\/li>\n<\/ol>\n\n\n\n<p>Thus, one of the biggest visual changes from the user\u2019s perspective is that the web page becomes \u2018visible\u2019 pretty quick, as rendering HTML is not that resource intensive, talking from the browser\u2019s perspective.&nbsp;<\/p>\n\n\n\n<p>This doesn\u2019t inherently make the page load faster than a non SSR app, but it does give the users the view of the web page as the JavaScript files download and parse in the background, after which the web page becomes interactive. This means that the TTI, i.e. Time To Interactive (this is the time it takes for the web page to be completely interactive from when the user requests the web page) is a bit more than the time it takes for the web page to be visible in the browser.<\/p>\n\n\n\n<p>So, in an SSR scenario, for faster first render time, your HTML and CSS needs to be meaningful to the users, and JavaScript can be the enhancement for HTML and CSS, since its loading is deferred.&nbsp;<\/p>\n\n\n\n<p><strong>A common misconception about the workings of SSR with React<\/strong> is that after every change, such as a user requesting any new data, the server again completes all the steps and sends the HTML file with new UI to the browser, but this is not the case. Only a partial update to the page is done. Although the rendering is done by the server, the finalized output is inserted into the DOM by \u2018hydrating\u2019 it, as explained earlier.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"652\" src=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-pros-cons-of-ssr.webp\" alt=\"\" class=\"wp-image-15450\" srcset=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-pros-cons-of-ssr.webp 800w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-pros-cons-of-ssr-300x245.webp 300w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-pros-cons-of-ssr-768x626.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Server Side Rendering | When and When Not to Use<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If you need strong SEO, go for SSR as it is easier for search engines to crawl.<\/li>\n\n\n\n<li>For websites that are content focused and not interaction focused, such as blogs, news websites, static websites and text heavy websites, SSR can be a boon as it will load the crux of your website, i.e. content blazing fast.&nbsp;<\/li>\n\n\n\n<li>It takes time and effort on the server side to render and generate the files to be sent over to the browser. So if you\u2019re on a low server and operations budget, you\u2019re better off not implementing SSR as there will be a lot of requests sent to your server.\n<ul class=\"wp-block-list\">\n<li>However, with providers such as Firebase, we can dynamically generate content with cloud functions and the server can store it in CDN cache<\/li>\n\n\n\n<li>What this would do is that next time when the user requests, the generation of the files is not done again by the server. Rather, it is just served from a local CDN edge, improving the load times from a user\u2019s standpoint while also using less server resources.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How is React Good for SSR?<\/h2>\n\n\n\n<p>React is an excellent choice to implement SSR because it incorporates the concept of a virtual DOM (Document Object Model).<\/p>\n\n\n\n<p>This enables developers to create a virtual version of the React app, and have it in the server itself.<\/p>\n\n\n\n<p>This makes it easier to render it to an HTML using the renderToString function as discussed earlier, send that down to the browser so that the browser can render it pretty quickly and create a virtual version on the client machine.<\/p>\n\n\n\n<p>So, looking at the fact that this virtual version matches up with HTML we sent out from the server, React will not re-render it, thus decreasing the Time To Interactive (TTI), resulting in a \u2018faster\u2019 loading web page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/csdev.site\/creole_new\/contact-us\/?utm_source=499+dev+package+teal&amp;utm_medium=blog+cta&amp;utm_campaign=Blog+CTA&amp;utm_id=Blog+CTA\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"250\" src=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/Try_our_development_packages.webp\" alt=\"\" class=\"wp-image-14886\" srcset=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/Try_our_development_packages.webp 800w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/Try_our_development_packages-300x94.webp 300w, https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/Try_our_development_packages-768x240.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">SSR, All Day, Everyday!<\/h2>\n\n\n\n<p>We wish there was a one size fits all solution for everything, but that is far from the case, especially with new technologies. Although SSR has tons of benefits, there are some cases as discussed earlier, for which SSR might not be a good choice; highly interactive sites being at the vanguard of it.<\/p>\n\n\n\n<p>That\u2019s where <a href=\"https:\/\/csdev.site\/creole_new\">Creole Studios<\/a> come in. We have an array of technology experts, always abreast with almost every new technology that pops up in the techverse. We will understand your business needs and provide you with customized solutions, be it an SSR or CSR app, and rest assured, you\u2019ll have to worry about nothing while we do the heavy lifting for you. <a href=\"https:\/\/csdev.site\/creole_new\/contact-us\/\">Contact us<\/a> and get your ideas from your head into an app!<br><br>To calculate a ballpark estimate of your web or mobile app development costs, use this <strong><a href=\"https:\/\/csdev.site\/creole_new\/software-development-cost-calculator\/\" target=\"_blank\" rel=\"noreferrer noopener\">FREE Software development cost calculator<\/a><\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Little Bit About React React is an open source frontend JavaScript library, which is created and maintained by the Facebook Developer Community. It is used to build User Interfaces or UI Components.&nbsp; However, this definition might not be completely comprehensible to novices. We have the perfect blog post which walks you through a brief [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"class_list":["post-3299","post","type-post","status-publish","format-standard","hentry","cs-tags-react-js","cs-tags-web"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SSR (Server-side rendering) With React | Creole Studios<\/title>\n<meta name=\"description\" content=\"Want to know in detail - How does SSR (server-side rendering) works in react? Check out this post from Creole Studios. To hire dedicated React Js resources, Contact us today.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SSR (Server-side rendering) With React | Creole Studios\" \/>\n<meta property=\"og:description\" content=\"Want to know in detail - How does SSR (server-side rendering) works in react? Check out this post from Creole Studios. To hire dedicated React Js resources, Contact us today.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/\" \/>\n<meta property=\"og:site_name\" content=\"Creole Studios\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-27T13:41:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-17T12:34:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser.webp\" \/>\n<meta name=\"author\" content=\"Bhargav Bhanderi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bhargav Bhanderi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SSR (Server-side rendering) With React | Creole Studios","description":"Want to know in detail - How does SSR (server-side rendering) works in react? Check out this post from Creole Studios. To hire dedicated React Js resources, Contact us today.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"SSR (Server-side rendering) With React | Creole Studios","og_description":"Want to know in detail - How does SSR (server-side rendering) works in react? Check out this post from Creole Studios. To hire dedicated React Js resources, Contact us today.","og_url":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/","og_site_name":"Creole Studios","article_published_time":"2021-05-27T13:41:23+00:00","article_modified_time":"2024-05-17T12:34:43+00:00","og_image":[{"url":"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser.webp","type":"","width":"","height":""}],"author":"Bhargav Bhanderi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Bhargav Bhanderi","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/#article","isPartOf":{"@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/"},"author":{"name":"Bhargav Bhanderi","@id":"https:\/\/csdev.site\/creole_new\/#\/schema\/person\/1f3ef435348524eba8ef4f5fcf48f6e9"},"headline":"Server Side Rendering with React","datePublished":"2021-05-27T13:41:23+00:00","dateModified":"2024-05-17T12:34:43+00:00","mainEntityOfPage":{"@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/"},"wordCount":1585,"commentCount":0,"publisher":{"@id":"https:\/\/csdev.site\/creole_new\/#organization"},"image":{"@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/#primaryimage"},"thumbnailUrl":"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser.webp","articleSection":["React JS"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/","url":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/","name":"SSR (Server-side rendering) With React | Creole Studios","isPartOf":{"@id":"https:\/\/csdev.site\/creole_new\/#website"},"primaryImageOfPage":{"@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/#primaryimage"},"image":{"@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/#primaryimage"},"thumbnailUrl":"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser.webp","datePublished":"2021-05-27T13:41:23+00:00","dateModified":"2024-05-17T12:34:43+00:00","description":"Want to know in detail - How does SSR (server-side rendering) works in react? Check out this post from Creole Studios. To hire dedicated React Js resources, Contact us today.","breadcrumb":{"@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/#primaryimage","url":"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser.webp","contentUrl":"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/05\/ssr-with-react-webpage-server-to-browser.webp","width":800,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/csdev.site\/creole_new\/server-side-rendering-with-react\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/csdev.site\/creole_new\/"},{"@type":"ListItem","position":2,"name":"Server Side Rendering with React"}]},{"@type":"WebSite","@id":"https:\/\/csdev.site\/creole_new\/#website","url":"https:\/\/csdev.site\/creole_new\/","name":"Creole Studios","description":"Creole Studios","publisher":{"@id":"https:\/\/csdev.site\/creole_new\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/csdev.site\/creole_new\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/csdev.site\/creole_new\/#organization","name":"Creole Studios","url":"https:\/\/csdev.site\/creole_new\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/csdev.site\/creole_new\/#\/schema\/logo\/image\/","url":"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/04\/creole_smalllogo.webp","contentUrl":"https:\/\/csdev.site\/creole_new\/wp-content\/uploads\/2024\/04\/creole_smalllogo.webp","width":290,"height":158,"caption":"Creole Studios"},"image":{"@id":"https:\/\/csdev.site\/creole_new\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/csdev.site\/creole_new\/#\/schema\/person\/1f3ef435348524eba8ef4f5fcf48f6e9","name":"Bhargav Bhanderi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/csdev.site\/creole_new\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/05d139e243efa60d7b7a92959fb314a6ad3fa1093d05856c34b9e3614e0bee8c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/05d139e243efa60d7b7a92959fb314a6ad3fa1093d05856c34b9e3614e0bee8c?s=96&d=mm&r=g","caption":"Bhargav Bhanderi"},"description":"Bhargav Bhanderi is a Director at Creole Studios, where he leads strategic initiatives across software development, cloud, and AI-driven solutions. With a strong focus on execution and business outcomes, he works closely with global clients to deliver scalable, high-impact digital products and engineering solutions.","sameAs":["https:\/\/www.linkedin.com\/in\/bhargav-bhanderi\/"]}]}},"_links":{"self":[{"href":"https:\/\/csdev.site\/creole_new\/wp-json\/wp\/v2\/posts\/3299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/csdev.site\/creole_new\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/csdev.site\/creole_new\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/csdev.site\/creole_new\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/csdev.site\/creole_new\/wp-json\/wp\/v2\/comments?post=3299"}],"version-history":[{"count":5,"href":"https:\/\/csdev.site\/creole_new\/wp-json\/wp\/v2\/posts\/3299\/revisions"}],"predecessor-version":[{"id":15451,"href":"https:\/\/csdev.site\/creole_new\/wp-json\/wp\/v2\/posts\/3299\/revisions\/15451"}],"wp:attachment":[{"href":"https:\/\/csdev.site\/creole_new\/wp-json\/wp\/v2\/media?parent=3299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}