{"id":29869,"date":"2017-04-27T21:01:54","date_gmt":"2017-04-27T13:01:54","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=29869"},"modified":"2017-04-27T18:39:38","modified_gmt":"2017-04-27T10:39:38","slug":"create-3d-web-apps-whitestormjs","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/","title":{"rendered":"Create 3D Web Apps &amp; Graphics with Whitestorm.js"},"content":{"rendered":"<p><strong>Web games<\/strong> have come a long way thanks to <strong>WebGL<\/strong> and <strong>related HTML5 APIs<\/strong>. The most prominent open source library for 3D is <strong><a target=\"_blank\" href=\"https:\/\/threejs.org\/\">Three.js<\/a><\/strong>.<\/p>\n<p>While Three.js is powerful, it\u2019s also <strong>complex to learn from scratch<\/strong>. Instead, you can <strong>pick up <a target=\"_blank\" href=\"https:\/\/whsjs.readme.io\/docs\">Whitestorm.js<\/a><\/strong>, an open source framework made for 3D web graphics. It <strong>uses Three.js<\/strong> as an underlying technology to help you build faster and create realistic 3D effects in the browser.<\/p>\n<p>Whitestorm comes with its <strong>own physics engine<\/strong> built on top of Three.js rendering. This lets you create <a target=\"_blank\" href=\"https:\/\/whs-dev.surge.sh\/examples\/#basic\/model\">realistic gravity<\/a> and other similar effects where objects <strong>interact & respond to each other<\/strong>.<\/p>\n<figure><a target=\"_blank\" href=\"https:\/\/whs-dev.surge.sh\/examples\/#basic\/model\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/01-whitestorm-3d-webapps.jpg\" alt=\"example whitestorm 3d\" width=\"1000\" height=\"570\"><\/a><\/figure>\n<p>And Whitestorm is <strong>completely modular<\/strong>, so you have full control over which features get loaded into the page. It uses the <strong><a target=\"_blank\" href=\"https:\/\/pybullet.org\/wordpress\/\">Bullet Physics library<\/a><\/strong> ported into JavaScript for <strong>full support on the web<\/strong>.<\/p>\n<p>Here\u2019s a basic snippet of code that <strong>creates a new Three.js environment<\/strong> using Whitestorm.<\/p>\n<pre>\r\nconst app = new WHS.App([\r\n  new WHS.app.ElementModule(), \/\/ attach to DOM\r\n  new WHS.app.SceneModule(), \/\/ creates THREE.Scene instance\r\n  new WHS.app.CameraModule(), \/\/ creates PerspectiveCamera instance\r\n  new WHS.app.RenderingModule() \/\/ creates WebGLRenderer instance\r\n]);\r\n\r\napp.start(); \/\/ run animation\r\n<\/pre>\n<p>You can naturally <strong>add your own modules<\/strong> and even <strong>create plugins\/components<\/strong> built off the default library. The JS code <strong>supports <a href=\"https:\/\/www.hongkiat.com\/blog\/ecmascript-6\/\">ECMAScript 6<\/a><\/strong> and should support all upcoming changes to the language.<\/p>\n<p><strong>Geometry<\/strong>, <strong>physics<\/strong>, and <strong>motion<\/strong> all rolled into one library. Whitestorm really is the future of 3D animation for the web.<\/p>\n<p>You can find <strong>lots of sample codes<\/strong> <a target=\"_blank\" href=\"https:\/\/github.com\/https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/whitestorm.js\" rel=\"nofollow\">in the GitHub repo<\/a> along with <strong>download links<\/strong> and a <strong>file browser<\/strong>. Be warned the library is <em>huge<\/em> so there\u2019s a lot to go through. Even the documentation has <strong>lengthy tutorials<\/strong> for beginners.<\/p>\n<p>But with those docs, you can learn everything from <strong>3D transforms<\/strong> to <strong>debugging and <a target=\"_blank\" href=\"https:\/\/whsjs.readme.io\/docs\/loops-3d-animation\">detailed 3D animation<\/a><\/strong>.<\/p>\n<figure><a target=\"_blank\" href=\"https:\/\/whs-dev.surge.sh\/examples\/#design\/saturn\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/02-whitestorm-3d-rendering-moving-orbit.jpg\" alt=\"3d orbiting planets\" width=\"1000\" height=\"424\"><\/a><\/figure>\n<p>To learn more, visit the <a target=\"_blank\" href=\"https:\/\/whsjs.readme.io\/docs\">main site<\/a> and browse through some <a target=\"_blank\" href=\"https:\/\/whs-dev.surge.sh\/examples\/\">live examples<\/a> to <strong>see Whitestorm in action<\/strong>. If you\u2019re daring enough to dive in, then download a copy of the library <strong><a target=\"_blank\" href=\"https:\/\/github.com\/https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/whitestorm.js\" rel=\"nofollow\">from GitHub<\/a><\/strong> or <strong>via npm<\/strong> and start creating some sweet 3D web apps.<\/p>\n<p class=\"note\">\n<strong>Recommended Reading:<\/strong>\n<a href=\"https:\/\/www.hongkiat.com\/blog\/25-free-3d-modelling-applications-you-should-not-miss\/\">20 Useful 3D-Modeling Software You Can Use For Free<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Web games have come a long way thanks to WebGL and related HTML5 APIs. The most prominent open source library for 3D is Three.js. While Three.js is powerful, it\u2019s also complex to learn from scratch. Instead, you can pick up Whitestorm.js, an open source framework made for 3D web graphics. It uses Three.js as an&hellip;<\/p>\n","protected":false},"author":18,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3393],"tags":[3497],"topic":[4520],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Create 3D Web Apps &amp; Graphics with Whitestorm.js - Hongkiat<\/title>\n<meta name=\"description\" content=\"Web games have come a long way thanks to WebGL and related HTML5 APIs. The most prominent open source library for 3D is Three.js. While Three.js is\" \/>\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.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create 3D Web Apps &amp; Graphics with Whitestorm.js\" \/>\n<meta property=\"og:description\" content=\"Web games have come a long way thanks to WebGL and related HTML5 APIs. The most prominent open source library for 3D is Three.js. While Three.js is\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-27T13:01:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/01-whitestorm-3d-webapps.jpg\" \/>\n<meta name=\"author\" content=\"Jake Rocheleau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jake Rocheleau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/\"},\"author\":{\"name\":\"Jake Rocheleau\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/966b2daea15283b4145e71aa98a82c2a\"},\"headline\":\"Create 3D Web Apps &amp; Graphics with Whitestorm.js\",\"datePublished\":\"2017-04-27T13:01:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/\"},\"wordCount\":330,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/create-3d-web-apps-whitestormjs\\\/01-whitestorm-3d-webapps.jpg\",\"keywords\":[\"Javascript Library\"],\"articleSection\":[\"Toolkit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/\",\"name\":\"Create 3D Web Apps &amp; Graphics with Whitestorm.js - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/create-3d-web-apps-whitestormjs\\\/01-whitestorm-3d-webapps.jpg\",\"datePublished\":\"2017-04-27T13:01:54+00:00\",\"description\":\"Web games have come a long way thanks to WebGL and related HTML5 APIs. The most prominent open source library for 3D is Three.js. While Three.js is\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/create-3d-web-apps-whitestormjs\\\/01-whitestorm-3d-webapps.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/create-3d-web-apps-whitestormjs\\\/01-whitestorm-3d-webapps.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/create-3d-web-apps-whitestormjs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create 3D Web Apps &amp; Graphics with Whitestorm.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/966b2daea15283b4145e71aa98a82c2a\",\"name\":\"Jake Rocheleau\",\"description\":\"Jake is a writer and designer with over 10 years experience working on the web. He writes about user experience design and cool resources for designers\",\"sameAs\":[\"https:\\\/\\\/www.hongkiat.com\"],\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/jake\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Create 3D Web Apps &amp; Graphics with Whitestorm.js - Hongkiat","description":"Web games have come a long way thanks to WebGL and related HTML5 APIs. The most prominent open source library for 3D is Three.js. While Three.js is","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.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/","og_locale":"en_US","og_type":"article","og_title":"Create 3D Web Apps &amp; Graphics with Whitestorm.js","og_description":"Web games have come a long way thanks to WebGL and related HTML5 APIs. The most prominent open source library for 3D is Three.js. While Three.js is","og_url":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2017-04-27T13:01:54+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/01-whitestorm-3d-webapps.jpg","type":"","width":"","height":""}],"author":"Jake Rocheleau","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Jake Rocheleau","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/"},"author":{"name":"Jake Rocheleau","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/966b2daea15283b4145e71aa98a82c2a"},"headline":"Create 3D Web Apps &amp; Graphics with Whitestorm.js","datePublished":"2017-04-27T13:01:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/"},"wordCount":330,"commentCount":3,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/01-whitestorm-3d-webapps.jpg","keywords":["Javascript Library"],"articleSection":["Toolkit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/","url":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/","name":"Create 3D Web Apps &amp; Graphics with Whitestorm.js - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/01-whitestorm-3d-webapps.jpg","datePublished":"2017-04-27T13:01:54+00:00","description":"Web games have come a long way thanks to WebGL and related HTML5 APIs. The most prominent open source library for 3D is Three.js. While Three.js is","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/01-whitestorm-3d-webapps.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/create-3d-web-apps-whitestormjs\/01-whitestorm-3d-webapps.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/create-3d-web-apps-whitestormjs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Create 3D Web Apps &amp; Graphics with Whitestorm.js"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/966b2daea15283b4145e71aa98a82c2a","name":"Jake Rocheleau","description":"Jake is a writer and designer with over 10 years experience working on the web. He writes about user experience design and cool resources for designers","sameAs":["https:\/\/www.hongkiat.com"],"url":"https:\/\/www.hongkiat.com\/blog\/author\/jake\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-7LL","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/29869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=29869"}],"version-history":[{"count":2,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/29869\/revisions"}],"predecessor-version":[{"id":29871,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/29869\/revisions\/29871"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=29869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=29869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=29869"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=29869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}