{"id":5793,"date":"2022-10-26T12:53:48","date_gmt":"2022-10-26T12:53:48","guid":{"rendered":"https:\/\/www.solutionstreet.com\/blog\/?p=5793"},"modified":"2022-10-26T13:20:05","modified_gmt":"2022-10-26T13:20:05","slug":"5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture","status":"publish","type":"post","link":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/","title":{"rendered":"Five Minutes with htmx &#8211; A New Spin on an Old Reliable Architecture"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop.png\" alt=\"\" class=\"wp-image-5799\" width=\"624\" height=\"309\" srcset=\"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop.png 763w, https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop-300x149.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Single Page Application (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Single-page_application\" target=\"blank\" rel=\"noopener\">SPA<\/a>) architectures have been the rage for a while now. React, Angular, Vue.js, and other JavaScript front-end frameworks are being used widely to build front-ends for the latest enterprise applications. At Solution Street we always pick the correct architectures and tools to best solve the business problem. Over the years we have built a variety of solutions that include SPA architectures as well as the more traditional Multi Page Application (MPA) architectures. There are certainly pros and cons of each architecture and strong feelings by developers on which one to use. With the entrance of <a href=\"https:\/\/htmx.org\/\" target=\"blank\" rel=\"noopener\">htmx<\/a> the lines have been blurred for the better; for those of you who love the user experience of SPAs but crave the simplicity of MPAs this may be a useful new spin on your old reliable architecture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First a quick review of pros and cons of SPAs vs. MPAs:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SPAs<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pros:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Better performance and user experience since full pages aren\u2019t constantly being loaded. Assets are loaded once and only JSON data is sent between the client and server.<\/li><li>Separation of concerns since the same backend code can be used for web and native mobile.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cons:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>SEO Optimization is tricky<\/li><li>Initially slow to download due to lots of assets including JavaScript libraries.<\/li><li>Arguably more complicated development with typically more state being managed on the client. More JavaScript creates a larger issue of packaging, dependencies and deployments.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">MPAs<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pros:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Easier SEO Optimization<\/li><li>Arguably easier development (although heavy use of AJAX and injection of JavaScript&nbsp;<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">fragments often convolute the development process and code).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cons:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>No separation of concerns. Front- and back-end are tightly coupled together.<\/li><li>User experience suffers because full pages tend to be loaded and overall front-end UI is slower.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s now discuss htmx. For a description from the website &#8211; \u201chtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext.\u201d&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Htmx is really a JavaScript library that\u2019s used to help you avoid using JavaScript in your code.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s a basic example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;html&gt;\n&lt;head&gt;\n    &lt;script src=\"https:\/\/unpkg.com\/htmx.org@1.8.2\"&gt;&lt;\/script&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n    &lt;div&gt;&lt;h1&gt;Simple htmx demo&lt;\/h1&gt;&lt;\/div&gt;\n\n    &lt;button hx-post=\"https:\/\/htmxdemo.herokuapp.com\/demo\/?curr_num=0\" hx-swap=\"outerHTML\"&gt;Click Me&lt;\/button&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quite simply when the user clicks the button, we are using html (declarative) attributes from htmx including hx-post to post the URL and then hx-swap to replace the returned html snippet from the server with the current button html.&nbsp;<\/p>\n\n\n\n<script src=\"https:\/\/unpkg.com\/htmx.org@1.8.2\"><\/script>\n\n\n\n    <div><h1>Simple htmx demo<\/h1><\/div>\n    <button hx-post=\"https:\/\/htmxdemo.herokuapp.com\/demo\/?curr_num=0\" hx-swap=\"outerHTML\">Click Me<\/button>\n\n\n\n<p class=\"wp-block-paragraph\">Clicking the button above shows you the live version where the button is being replaced by the server without replacing the full page. Implementation is an html page making a post request against a Flask server hosted on Heroku (<a href=\"https:\/\/github.com\/afrankel\/htmx_demo\" target=\"blank\" rel=\"noopener\">GitHub source<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Obviously not very exciting since you\u2019ve already seen AJAX working many years ago and you were wowed then because you weren\u2019t used to seeing such dynamic requests from the webpage. This is really no different but now we are using just html for the front-end; simple and clean.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I was going to put together a bunch of examples, but the htmx website has <a href=\"https:\/\/htmx.org\/examples\/\" target=\"blank\" rel=\"noopener\">terrific simple examples<\/a> that are clear to understand. Let me point out a few:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/htmx.org\/examples\/delete-row\/\" target=\"blank\" rel=\"noopener\">Row deletion<\/a><\/li><li><a href=\"https:\/\/htmx.org\/examples\/active-search\/\" target=\"blank\" rel=\"noopener\">Active search<\/a><\/li><li><a href=\"https:\/\/htmx.org\/examples\/infinite-scroll\/\" target=\"blank\" rel=\"noopener\">Infinite scroll<\/a><\/li><li><a href=\"https:\/\/htmx.org\/examples\/modal-bootstrap\/\" target=\"blank\" rel=\"noopener\">Modal dialog<\/a><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">So wait! You can probably see the simplicity of using htmx to minimize or even remove all of your JavaScript and be able to have little to no JavaScript on your front-end. This solves the issue with MPAs and lots of runaway jQuery\/AJAX or equivalent scripts. The htmx website calls this <a href=\"https:\/\/htmx.org\/essays\/locality-of-behaviour\/\" target=\"blank\" rel=\"noopener\">Locality of Behavior<\/a> where using htmx provides the clean and simple view of code where things are understandable with just a small view of the code.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With SPAs you have the issue of full JavaScript on the front-end and, often wanting to keep a single enterprise software language, developers sometimes go with JavaScript on the server to maintain the consistency &#8211; whereas using htmx you can use simple html and focus on the best server-side language framework. Using htmx allows the developer to use standard server-side templating frameworks (e.g., Ruby has ERBs, Python has Django Template Language or Jinja).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What about separation of concerns? What about having a single back-end that supports multiple front-ends? As always you need to pick the right tool for the problem. Htmx with templating may be the right answer because it provides a simplistic, elegant, and arguably easier development process. It may not be the right answer if the architecture requires multiple front-ends or the application requires a heavy JavaScript interaction-style user interface.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is a listing of great htmx resources:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/htmx.org\/\" target=\"blank\" rel=\"noopener\">htmx website<\/a><\/li><li>Htmx with <a href=\"https:\/\/htmx.org\/server-examples\/\" target=\"blank\" rel=\"noopener\">server-side examples<\/a> (e.g., Rails, .NET, Java\/Spring)<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.youtube.com\/playlist?list=PL-2EBeDYMIbRByZ8GXhcnQSuv2dog4JxY\" target=\"blank\" rel=\"noopener\">Htmx and Django<\/a> instruction videos<\/li><li><a href=\"https:\/\/htmx.org\/essays\/a-real-world-react-to-htmx-port\/\" target=\"blank\" rel=\"noopener\">Port of React to htmx<\/a> &#8211; \u201cThey reduced the code base size by 67%\u201d<\/li><li><a href=\"https:\/\/github.com\/rajasegar\/awesome-htmx\" target=\"blank\" rel=\"noopener\">Sizable list of resources<\/a> related to using htmx with several popular tech stacks<\/li><li>Htmx alternatives: <a href=\"https:\/\/turbo.hotwired.dev\/\" target=\"blank\" rel=\"noopener\">Hotwire\/Turbo<\/a> and <a href=\"https:\/\/unpoly.com\/\" target=\"blank\" rel=\"noopener\">Unpoly<\/a><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">What do you think about htmx?&nbsp;Have you tried using it in any applications? How did it work out?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Single Page Application (SPA) architectures have been the rage for a while now. React, Angular, Vue.js, and other JavaScript front-end frameworks are being used widely to build front-ends for the latest enterprise applications. At Solution Street we always pick the correct architectures and tools to best solve the business problem. Over the years we have [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5793","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Five Minutes with htmx - A New Spin on an Old Reliable Architecture - Solution Street Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Five Minutes with htmx - A New Spin on an Old Reliable Architecture - Solution Street Blog\" \/>\n<meta property=\"og:description\" content=\"Single Page Application (SPA) architectures have been the rage for a while now. React, Angular, Vue.js, and other JavaScript front-end frameworks are being used widely to build front-ends for the latest enterprise applications. At Solution Street we always pick the correct architectures and tools to best solve the business problem. Over the years we have [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/\" \/>\n<meta property=\"og:site_name\" content=\"Solution Street Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-26T12:53:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-26T13:20:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop.png\" \/>\n<meta name=\"author\" content=\"Peggy Frankel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Peggy Frankel\" \/>\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.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/\"},\"author\":{\"name\":\"Peggy Frankel\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4846451eff30e9514b534b2a2e01696\"},\"headline\":\"Five Minutes with htmx &#8211; A New Spin on an Old Reliable Architecture\",\"datePublished\":\"2022-10-26T12:53:48+00:00\",\"dateModified\":\"2022-10-26T13:20:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/\"},\"wordCount\":847,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Stopwatch-crop.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/\",\"name\":\"Five Minutes with htmx - A New Spin on an Old Reliable Architecture - Solution Street Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Stopwatch-crop.png\",\"datePublished\":\"2022-10-26T12:53:48+00:00\",\"dateModified\":\"2022-10-26T13:20:05+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4846451eff30e9514b534b2a2e01696\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Stopwatch-crop.png\",\"contentUrl\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Stopwatch-crop.png\",\"width\":763,\"height\":378},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2022\\\/10\\\/26\\\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Five Minutes with htmx &#8211; A New Spin on an Old Reliable Architecture\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/\",\"name\":\"Solution Street Blog\",\"description\":\"Quality Software Engineering - Technology and Consulting Articles\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/c4846451eff30e9514b534b2a2e01696\",\"name\":\"Peggy Frankel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af71ceb16f89d32c9bb825a47f8057da9283b4a27a934bf0c47cdef65ad0eb5d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af71ceb16f89d32c9bb825a47f8057da9283b4a27a934bf0c47cdef65ad0eb5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af71ceb16f89d32c9bb825a47f8057da9283b4a27a934bf0c47cdef65ad0eb5d?s=96&d=mm&r=g\",\"caption\":\"Peggy Frankel\"},\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/author\\\/pfrankel\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Five Minutes with htmx - A New Spin on an Old Reliable Architecture - Solution Street Blog","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.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/","og_locale":"en_US","og_type":"article","og_title":"Five Minutes with htmx - A New Spin on an Old Reliable Architecture - Solution Street Blog","og_description":"Single Page Application (SPA) architectures have been the rage for a while now. React, Angular, Vue.js, and other JavaScript front-end frameworks are being used widely to build front-ends for the latest enterprise applications. At Solution Street we always pick the correct architectures and tools to best solve the business problem. Over the years we have [&hellip;]","og_url":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/","og_site_name":"Solution Street Blog","article_published_time":"2022-10-26T12:53:48+00:00","article_modified_time":"2022-10-26T13:20:05+00:00","og_image":[{"url":"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop.png","type":"","width":"","height":""}],"author":"Peggy Frankel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Peggy Frankel","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/#article","isPartOf":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/"},"author":{"name":"Peggy Frankel","@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/c4846451eff30e9514b534b2a2e01696"},"headline":"Five Minutes with htmx &#8211; A New Spin on an Old Reliable Architecture","datePublished":"2022-10-26T12:53:48+00:00","dateModified":"2022-10-26T13:20:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/"},"wordCount":847,"commentCount":0,"image":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/","url":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/","name":"Five Minutes with htmx - A New Spin on an Old Reliable Architecture - Solution Street Blog","isPartOf":{"@id":"https:\/\/www.solutionstreet.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/#primaryimage"},"image":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop.png","datePublished":"2022-10-26T12:53:48+00:00","dateModified":"2022-10-26T13:20:05+00:00","author":{"@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/c4846451eff30e9514b534b2a2e01696"},"breadcrumb":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/#primaryimage","url":"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop.png","contentUrl":"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2022\/10\/Stopwatch-crop.png","width":763,"height":378},{"@type":"BreadcrumbList","@id":"https:\/\/www.solutionstreet.com\/blog\/2022\/10\/26\/5-minutes-with-htmx-a-new-spin-on-an-old-reliable-architecture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.solutionstreet.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Five Minutes with htmx &#8211; A New Spin on an Old Reliable Architecture"}]},{"@type":"WebSite","@id":"https:\/\/www.solutionstreet.com\/blog\/#website","url":"https:\/\/www.solutionstreet.com\/blog\/","name":"Solution Street Blog","description":"Quality Software Engineering - Technology and Consulting Articles","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.solutionstreet.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/c4846451eff30e9514b534b2a2e01696","name":"Peggy Frankel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/af71ceb16f89d32c9bb825a47f8057da9283b4a27a934bf0c47cdef65ad0eb5d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/af71ceb16f89d32c9bb825a47f8057da9283b4a27a934bf0c47cdef65ad0eb5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/af71ceb16f89d32c9bb825a47f8057da9283b4a27a934bf0c47cdef65ad0eb5d?s=96&d=mm&r=g","caption":"Peggy Frankel"},"url":"https:\/\/www.solutionstreet.com\/blog\/author\/pfrankel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/5793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/comments?post=5793"}],"version-history":[{"count":20,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/5793\/revisions"}],"predecessor-version":[{"id":5817,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/5793\/revisions\/5817"}],"wp:attachment":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/media?parent=5793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/categories?post=5793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/tags?post=5793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}