{"id":16188,"date":"2017-02-21T16:15:02","date_gmt":"2017-02-21T14:15:02","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=16188"},"modified":"2017-12-19T13:31:05","modified_gmt":"2017-12-19T11:31:05","slug":"html5-web-workers-example","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/","title":{"rendered":"HTML5 Web Workers Example"},"content":{"rendered":"<p>Web Workers are a welcome addition to the HTML. Since JavaScript is not a multiple threaded environment, it becomes impossible to run multiple scripts at the same time. Also when running scripts in html, the web page becomes unresponsive until the script stops or has run its course(this affects performance and leads to a bad user experience).<br \/>\n&nbsp;<br \/>\nWeb workers allows web pages or browsers run scripts in the background. It&#8217;s always better to run CPU intensive scripts in the background to avoid distorting the user experience and causing the webpage to become unresponsive.<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n[ulp id=&#8217;tgm4cmEWcKUikZNn&#8217;]<br \/>\n&nbsp;<br \/>\nIn this example we are going to learn about HTML5 Web Workers and how to use them. For this example we will use:<\/p>\n<ul>\n<li>A computer with a modern browser installed<\/li>\n<li>notepad++<\/li>\n<\/ul>\n<h2>1. Getting Started<\/h2>\n<p>Since Web workers run JavaScript in the background, web page performance and user experience is not distorted or affected. To create a new worker you simply<\/p>\n<pre class=\"brush:bash\">var worker= new Worker(\"worker.js\");\/\/ creating a new worker.\r\n<\/pre>\n<p>We simply instantiate the <code>Worker()<\/code>object and passing the URI of the JS file to run as an argument. Before spawning a worker to run JS code, it is sensible to check if the browser supports it(for backward compatibility). You can do this by wrapping your code in an <code> if <\/code> statement.<\/p>\n<pre class=\"brush:bash\">if\u00a0(typeof(Worker) !==\"undefined\") {\/\/ web workers are supported in this browser\r\n\u00a0\u00a0\u00a0var worker= new Worker(\"worker.js\");\/\/ creating a new worker.\r\n}\u00a0else\u00a0{\/\/web worker not supported\r\n\u00a0\u00a0\u00a0alert(\"Your browser does not support web workers, please download the latest version\");\r\n\r\n}\r\n<\/pre>\n<p>If the browser supports web workers, we easily create a web worker object, with the URI of the required JS file as an argument. If the JS file supplied as an argument does not exist, the process or worker fails silently.<br \/>\n<b>Note:<\/b> Web workers do not have access to the following JavaScript objects:<\/p>\n<ul>\n<li>The window object<\/li>\n<li>The document object<\/li>\n<\/ul>\n<h3>1.1 Sending messages to and from a worker<\/h3>\n<p>In this section we will learn how to send messages to our worker and receive messages from our worker. To send message to the worker we simply call<br \/>\n<code> worker.postMessage()<\/code><br \/>\nDepending on browser vendor or version, you can pass a string, JSON or an array as an argument to the <code>postMessage<\/code><\/p>\n<pre class=\"brush:bash\">if\u00a0(typeof(Worker) !==\"undefined\") {\/\/ web workers are supported in this browser\r\n\u00a0\u00a0\u00a0var worker= new Worker(\"worker.js\");\/\/ creating a new worker.\r\nworker.postMessage(\"processs this\");\/\/post a message to the worker \r\n}\u00a0else\u00a0{\/\/web worker not supported\r\n\u00a0\u00a0\u00a0alert(\"Your browser does not support web workers, please download the latest version\");\r\n}<\/pre>\n<p>Inside the worker we can process information or message received by registering an event handler.<\/p>\n<pre class=\"brush:bash\">onmessage = function(e) { \r\nconsole.log('Message has been  received and it is been processed'); \/\/log the message to console\r\nvar workerResult = e.data; console.log('returning message back to main script'); postMessage(workerResult);\r\n }<\/pre>\n<p>We can send messages from our worker by calling <code>postMessage()<\/code> and passing the data we want to send as an argument. To receive messages sent by our worker we simply use:<\/p>\n<pre class=\"brush:bash\"> worker.onmessage=function(e){\r\n\/\/the data sent by the worker can be accessed is available in the event data attribute\r\n\r\n}\r\n<\/pre>\n<p>Lets create a full example to describe what we have learnt so far.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>index.html<\/em><\/span><\/p>\n<pre class=\"brush:html\">&lt;!DOCTYPE html&gt; \r\n&lt;html lang=en&gt;\r\n\t&lt;head&gt;\r\n\t&lt;style&gt;\r\n\thtml, body{\r\n\twidth:100%;\r\n\theight:100%;\r\n\tmargin:0%;\r\n\tfont-family:\"helvetica\",\"verdana\",\"calibri\", \"san serif\";\r\n\toverflow:hidden;\r\n\tpadding:0%;\r\n\tborder:0%;\r\n\t}\r\n\t \r\n\t&lt;\/style&gt;\r\n\t \t\t&lt;meta charset=\"utf-8\" \/&gt;\r\n\t\t&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi\"\/&gt;\r\n\t\r\n\t&lt;title&gt;HTML5 WEB WORKER EXAMPLE&lt;\/title&gt;\r\n\t\r\n\t&lt;\/head&gt;\r\n\t&lt;body onload=init()&gt;\r\n&lt;script&gt;\r\nif\u00a0(typeof(Worker) !==\"undefined\") {\/\/ web workers are supported in this browser\r\n\u00a0\u00a0\u00a0var worker= new Worker(\"index.js\");\/\/ creating a new worker.\r\n}\u00a0else\u00a0{\/\/web worker not supported\r\n\/\/alert the error\r\n\u00a0\u00a0\u00a0alert(\"Your browser does not support web workers, please download the latest version\");\r\n}\r\n\/\/function called to initialize some global variables\r\nfunction init(){\r\n\/\/store a reference to the textbox\r\nb= document.getElementById(\"press\");\r\n\/\/ add a click listener to the button\r\nb.addEventListener(\"click\",clicked);\r\nc= document.getElementById(\"text\");\r\n\r\n}\r\n\/\/function clicked when the button is clicked\r\nfunction clicked(){\r\n\/\/send a message to the worker js\r\nworker.postMessage(c.value);\r\n\r\n\r\n}\r\n\/\/here we listen for the worker message\r\nworker.onmessage = function(e) {  console.log('Message received from worker:'+ e.data);\/\/ we log the data\r\nalert(e.data);\/\/ we also show a  dialog with the data\r\n }\r\n&lt;\/script&gt;\r\n&lt;input type=text id=text &gt;&lt;br&gt;\r\n&lt;input type=button id=press value=press&gt;\r\n\r\n\t&lt;\/body&gt;\r\n\t&lt;\/html&gt;\r\n<\/pre>\n<p><span style=\"text-decoration: underline;\"><em>index.js<\/em><\/span><\/p>\n<pre class=\"brush:js\">\/\/this worker simple sends back any message posted to it, note that workers are actually used for CPU intensive tasks not trivial tasks like this\r\nonmessage = function(e) { \r\nconsole.log('Message has been  received and it is been processed'); \/\/log the message to console\r\nvar workerResult = e.data; console.log('returning message back to main script'); postMessage(workerResult);\r\n }<\/pre>\n<p>The worker simply returns the message posted to it from the main thread. Fill in any value in the textbox and click the button below, the data in the textbox is posted to the worker for processing.<\/p>\n<h3>1.2 Terminating Workers<\/h3>\n<p>You can terminate a worker by calling<\/p>\n<pre class=\"brush:bash\">worker.terminate();\/\/where worker is a Worker object.\r\n<\/pre>\n<h2>2. Summary<\/h2>\n<p>In this example we learnt about web workers, how to create and use them.<\/p>\n<h2>3. Download the source code<\/h2>\n<div class=\"download\">\n<p><strong>Download<\/strong><br \/>\nYou can download the full source code of this example here:<strong>\u00a0<a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2017\/02\/html5webworkerexample.zip\">html5webworkerexample<\/a><\/strong><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Web Workers are a welcome addition to the HTML. Since JavaScript is not a multiple threaded environment, it becomes impossible to run multiple scripts at the same time. Also when running scripts in html, the web page becomes unresponsive until the script stops or has run its course(this affects performance and leads to a bad &hellip;<\/p>\n","protected":false},"author":164,"featured_media":914,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[58,433],"class_list":["post-16188","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-html5","tag-html5-2","tag-web-workers"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>HTML5 Web Workers Example - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Web Workers are a welcome addition to the HTML. Since JavaScript is not a multiple threaded environment, it becomes impossible to run multiple scripts at\" \/>\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\/html5\/html5-web-workers-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HTML5 Web Workers Example - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Web Workers are a welcome addition to the HTML. Since JavaScript is not a multiple threaded environment, it becomes impossible to run multiple scripts at\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/\" \/>\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:published_time\" content=\"2017-02-21T14:15:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-12-19T11:31:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-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=\"Olayemi Odunayo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olayemi Odunayo\" \/>\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.webcodegeeks.com\/html5\/html5-web-workers-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/\"},\"author\":{\"name\":\"Olayemi Odunayo\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/417918d9b5811210265e8590509718b8\"},\"headline\":\"HTML5 Web Workers Example\",\"datePublished\":\"2017-02-21T14:15:02+00:00\",\"dateModified\":\"2017-12-19T11:31:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/\"},\"wordCount\":472,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg\",\"keywords\":[\"html5\",\"Web workers\"],\"articleSection\":[\"HTML5\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/\",\"name\":\"HTML5 Web Workers Example - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg\",\"datePublished\":\"2017-02-21T14:15:02+00:00\",\"dateModified\":\"2017-12-19T11:31:05+00:00\",\"description\":\"Web Workers are a welcome addition to the HTML. Since JavaScript is not a multiple threaded environment, it becomes impossible to run multiple scripts at\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTML5\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/html5\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"HTML5 Web Workers Example\"}]},{\"@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\/417918d9b5811210265e8590509718b8\",\"name\":\"Olayemi Odunayo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/016b2a353262962fceecf5c274161cd9ef60fdf1593ec95e71d37f5fd9b444f6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/016b2a353262962fceecf5c274161cd9ef60fdf1593ec95e71d37f5fd9b444f6?s=96&d=mm&r=g\",\"caption\":\"Olayemi Odunayo\"},\"description\":\"I am a programmer and web developer, who has experience in developing websites and writing desktop and mobile applications. I have worked with both schematic and schemaless databases. I am also familiar with third party API and working with cloud servers. I do programming on the client side with Java, JavaScript, html, Ajax and CSS while I use PHP for server side programming.\",\"sameAs\":[\"https:\/\/www.webcodegeeks.com\/\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/olayemi-odunayo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"HTML5 Web Workers Example - Web Code Geeks - 2026","description":"Web Workers are a welcome addition to the HTML. Since JavaScript is not a multiple threaded environment, it becomes impossible to run multiple scripts at","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\/html5\/html5-web-workers-example\/","og_locale":"en_US","og_type":"article","og_title":"HTML5 Web Workers Example - Web Code Geeks - 2026","og_description":"Web Workers are a welcome addition to the HTML. Since JavaScript is not a multiple threaded environment, it becomes impossible to run multiple scripts at","og_url":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2017-02-21T14:15:02+00:00","article_modified_time":"2017-12-19T11:31:05+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg","type":"image\/jpeg"}],"author":"Olayemi Odunayo","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Olayemi Odunayo","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/"},"author":{"name":"Olayemi Odunayo","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/417918d9b5811210265e8590509718b8"},"headline":"HTML5 Web Workers Example","datePublished":"2017-02-21T14:15:02+00:00","dateModified":"2017-12-19T11:31:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/"},"wordCount":472,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg","keywords":["html5","Web workers"],"articleSection":["HTML5"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/","url":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/","name":"HTML5 Web Workers Example - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg","datePublished":"2017-02-21T14:15:02+00:00","dateModified":"2017-12-19T11:31:05+00:00","description":"Web Workers are a welcome addition to the HTML. Since JavaScript is not a multiple threaded environment, it becomes impossible to run multiple scripts at","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/html5-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/html5\/html5-web-workers-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"HTML5","item":"https:\/\/www.webcodegeeks.com\/category\/html5\/"},{"@type":"ListItem","position":3,"name":"HTML5 Web Workers Example"}]},{"@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\/417918d9b5811210265e8590509718b8","name":"Olayemi Odunayo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/016b2a353262962fceecf5c274161cd9ef60fdf1593ec95e71d37f5fd9b444f6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/016b2a353262962fceecf5c274161cd9ef60fdf1593ec95e71d37f5fd9b444f6?s=96&d=mm&r=g","caption":"Olayemi Odunayo"},"description":"I am a programmer and web developer, who has experience in developing websites and writing desktop and mobile applications. I have worked with both schematic and schemaless databases. I am also familiar with third party API and working with cloud servers. I do programming on the client side with Java, JavaScript, html, Ajax and CSS while I use PHP for server side programming.","sameAs":["https:\/\/www.webcodegeeks.com\/"],"url":"https:\/\/www.webcodegeeks.com\/author\/olayemi-odunayo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/16188","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\/164"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=16188"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/16188\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/914"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=16188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=16188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=16188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}