Carson Gross, Creator of HTMX, discusses the regression in modern web development, the resurgence of hypermedia with HTMX, the benefits of combining MPAs and SPAs, the improvement and benefits of static typing, simplifying web applications with hypermedia and HTMLX, performance implications of code sharing, the role of JavaScript and TypeScript, re-examining progress in web development, and the potential of computers in web development.
Using HTMLX can simplify web development by sending HTML over the wire instead of JSON, reducing the need for complex JavaScript code.
Returning to a hypermedia-based model with HTMLX allows for more efficient and flexible web applications, simplifying application management and improving performance.
The importance of hypermedia clients in RESTful systems is highlighted, emphasizing the need to consider how consumers interact with APIs and exploring the potential for specialized hypermedia clients.
Deep dives
HTMLX: A Different Approach to Web Development
HTMLX is a JavaScript library that allows developers to send HTML over the wire from the server to the client, eliminating the need for JSON. The library enables developers to put the received HTML in various places on the page without needing to reload the entire page. This approach harkens back to an earlier period of web development when Ajax was common. By using HTMLX, developers can avoid writing complex JavaScript code and instead rely on attributes added to HTML elements to achieve the desired functionality.
Hypermedia: A Return to Simplicity
The podcast episode discusses how modern web development has arguably regressed over the past decade. It explores the idea of returning to a hypermedia-based model, where the server sends hypermedia (HTML) to the client instead of JSON, allowing for more efficient and flexible web applications. Hypermedia, coupled with enhancements like those provided by HTMLX, can address a wide range of application needs, especially those requiring coordination between the server and the client. The hypermedia model simplifies the application and reduces the complexity of managing state on both ends, while offering the benefits of improved performance and a more native feel.
Hypermedia and the Evolution of Web Development
The podcast episode traces the evolution of web development from the early days of dumb terminals connected to mainframes to the rise of powerful client devices and the subsequent shift towards JavaScript-heavy single-page applications. It highlights how Google Maps served as a catalyst, demonstrating the limitations of hypermedia-driven applications and leading to a focus on client-side JavaScript. However, recent developments, such as HTMLX, suggest a return to a more balanced approach. By combining server-rendered HTML with targeted JavaScript enhancements, known as transitional web applications, developers can leverage the benefits of hypermedia without sacrificing interactivity or performance on modern web and mobile platforms.
The Power of Hypermedia and its Role in RESTful Systems
In this podcast episode, the speaker discusses the importance of hypermedia clients in RESTful systems. They point out that during the rest wars, there was an intense focus on API components without considering how consumers would interact with these APIs. They highlight the significance of hypermedia clients, with browsers being the most successful example. The speaker mentions a mobile hypermedia system called HyperView, which offers a specialized hypermedia client for mobile applications. They also discuss the benefits of hypermedia systems and the potential for other specialized hypermedia clients outside of browsers.
Reevaluating Old Technologies and Discovering Innovation
The podcast delves into the idea of revisiting old technologies and exploring the unique ideas they offer. The speaker mentions how some past technologies, such as HyperCard and Visual Basic, had innovative features that are not always present in modern development. They emphasize the importance of critically evaluating technological progress and considering if certain aspects were better in the past. Furthermore, the speaker highlights their personal project called HyperScript, a scripting language inspired by HyperTalk, which aims to provide a higher-level, domain-specific language for scripting in conjunction with HTMLX.
Richard talks with HTMX creator Carson Gross about some of the ways in which modern web development has arguably regressed over the past 15 or so years, as well as Hypertext, Hypermedia, HyperCard, HyperView, HyperScript, and even some other topics that don't have hyper in the name.