Rozpocznij darmowy okres próbny
EnglishEnglish
EspañolSpanish
简体中文Chinese
繁體中文Chinese (Traditional)
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Searching...
SoBrief
Hypermedia Systems
Amazon Kindle Audible
Wypróbuj pełny dostęp przez 3 dni
Odblokuj słuchanie i więcej!
Kontynuuj

Kluczowe wnioski

1. Hypermedia: Potężna, lecz niedoceniana architektura

To właśnie kontrolki hypermedialne odróżniają hypermedia od innych rodzajów mediów.

Więcej niż dokumenty. Hypermedia to coś więcej niż tylko połączone ze sobą dokumenty, takie jak strony HTML. To architektura systemu, w której media zawierają kontrolki (np. linki i formularze) umożliwiające nieliniową interakcję i nawigację. To wykracza poza bierne konsumowanie treści, pozwalając na tworzenie dynamicznych systemów.

Elementy systemu. Kompletny system hypermedialny składa się z kilku współdziałających części:

  • formatu hypermedialnego (HTML, HXML),
  • protokołu sieciowego (HTTP),
  • serwera udostępniającego API hypermedialne,
  • klienta interpretującego hypermedia (przeglądarka internetowa, klient Hyperview).
    To właśnie zintegrowany system, a nie sam format, stanowi o jego sile.

Współczesne znaczenie. Mimo że hypermedia są powszechne w sieci, jako koncepcja architektoniczna często bywają dziś pomijane, zwłaszcza przez programistów skupionych na frameworkach po stronie klienta. Pełne zrozumienie systemu ujawnia jego potencjał do budowania solidnych i elastycznych aplikacji.

2. REST to hypermedia, nie tylko JSON

Jeśli silnik stanu aplikacji (a więc i API) nie jest napędzany przez hipertekst, to nie może być RESTful i nie jest API REST. Koniec dyskusji.

Definicja Fieldinga. Roy Fielding, twórca terminu REST, opisał architekturę sieci z końca lat 90., opartą na HTML wymienianym przez HTTP. Jednym z kluczowych ograniczeń REST jest „jednolity interfejs”, w tym „Hypermedia jako silnik stanu aplikacji” (HATEOAS).

Wyjaśnienie HATEOAS. Oznacza to, że odpowiedź hypermedialna (np. HTML) powinna zawierać wszystkie niezbędne informacje, by klient mógł zrozumieć dostępne akcje i przejścia.

  • Linki HTML (<a>) i formularze (<form>) to kontrolki hypermedialne.
  • Kodują one bezpośrednio możliwe kolejne stany (adresy URL, metody).
  • Klient (przeglądarka) nie musi znać struktury API z góry.

JSON API są inne. Większość współczesnych API JSON nie posiada kontrolek hypermedialnych. Zwracają surowe dane, wymagając od klienta znajomości, jakie adresy i metody wywołać dalej. To ścisłe powiązanie czyni je API danych, a nie RESTful Hypermedia API, mimo powszechnego nadużywania terminu „REST” w branży.

3. Aplikacje Web 1.0 już były napędzane hypermedialnie

Nawet dziś, w świecie rozwoju webu zdominowanym przez duże frameworki JavaScript po stronie klienta, wiele osób wybiera prosty, klasyczny HTML, osiągając zamierzone cele i często będąc zadowolonym z efektów.

Proste i potężne. Wczesne aplikacje internetowe, zwane „Web 1.0” lub „aplikacjami wielostronicowymi” (MPA), budowano głównie za pomocą linków i formularzy HTML. Te dwie kontrolki hypermedialne, w połączeniu z HTTP, umożliwiały ogromną funkcjonalność dynamiczną.

Podstawowe mechanizmy:

  • Linki (<a>) wywołują żądania HTTP GET do nawigacji.
  • Formularze (<form>) wywołują żądania HTTP GET lub POST do przesyłania danych i zmiany stanu.
  • Serwer odpowiada nowym HTML-em, zastępując całą stronę.

Naturalnie RESTful. Te aplikacje z natury przestrzegały zasad REST. Przeglądarka jako klient hypermedialny interpretowała kontrolki HTML, by komunikować się z serwerem. To podejście było proste, solidne i bardzo elastyczne wobec zmian po stronie serwera.

4. SPA i JSON API: inna droga, często bardziej skomplikowana

Aplikacje zbudowane w tym stylu nie są napędzane hypermedialnie: nie wykorzystują podstawowego systemu hypermedialnego sieci.

Wzrost popularności SPA. Rosnące zapotrzebowanie na interaktywne doświadczenia użytkownika doprowadziło do popularności aplikacji jednostronicowych (SPA). SPA używają JavaScriptu do bezpośredniej aktualizacji interfejsu w obrębie jednej strony, unikając pełnych przeładowań.

Zmiana architektury. Podejście to zwykle polega na:

  • Budowaniu UI i zarządzaniu stanem głównie w JavaScript po stronie klienta (np. React, Vue).
  • Komunikacji z serwerem przez wywołania AJAX, zwykle wymieniając dane JSON.
  • HTML staje się jedynie celem renderowania, tracąc funkcję hypermedialną.

Większa złożoność. Choć umożliwiają bogate UI, SPA często wprowadzają znaczną złożoność:

  • Zarządzanie stanem klienta i jego synchronizacja z serwerem.
  • Implementacja routingu i logiki renderowania po stronie klienta.
  • Radzenie sobie z „zmęczeniem JavaScriptem” wynikającym z rozbudowanych narzędzi i zależności.
    Ta architektura przypomina starsze modele grubych klientów, oddalając się od natywnego systemu hypermedialnego sieci.

5. Htmx: rozszerzenie HTML dla nowoczesnych HDAs

Htmx to biblioteka JavaScript, która rozszerza HTML właśnie w ten sposób i będzie tematem kolejnych rozdziałów tej książki.

Łączenie światów. Htmx to niewielka, pozbawiona zależności biblioteka JavaScript, zaprojektowana do rozszerzania HTML jako hypermediów. Pozwala programistom tworzyć nowoczesne, interaktywne interfejsy bez rezygnacji z podstawowej architektury hypermedialnej sieci.

Zorientowana na hypermedia. Htmx używa JavaScriptu nie do zastępowania, lecz do wzbogacania możliwości HTML. Przezwycięża ograniczenia czystego HTML, umożliwiając:

  • Wywoływanie żądań HTTP z dowolnego elementu.
  • Wyzwalanie żądań na dowolne zdarzenia DOM.
  • Dostęp do wszystkich metod HTTP (GET, POST, PUT, PATCH, DELETE).
  • Aktualizację wybranych fragmentów strony (transkluzja) zamiast pełnych przeładowań.

Deklaratywne podejście. Htmx realizuje to za pomocą zestawu atrybutów HTML (z prefiksem hx-). Dzięki temu definicja zachowania pozostaje blisko elementu, którego dotyczy, promując lokalność zachowania zamiast ścisłego rozdzielenia obowiązków.

6. Deklaratywne atrybuty napędzają interakcje Htmx

Htmx rozszerza HTML jako hypermedia i jest zaprojektowany tak, by to rozszerzenie było naturalne i spójne z istniejącymi koncepcjami HTML.

Sterowanie atrybutami. Podstawowa funkcjonalność Htmx jest dostępna przez deklaratywne atrybuty HTML, naśladujące styl natywnych kontrolek jak href czy action. Dzięki temu htmx wydaje się naturalnym rozszerzeniem języka.

Kluczowe atrybuty:

  • hx-get, hx-post, hx-put, hx-patch, hx-delete: określają metodę HTTP i URL żądania wywoływanego przez element.
  • hx-trigger: definiuje, które zdarzenie DOM inicjuje żądanie (domyślnie zależnie od elementu).
  • hx-target: wskazuje element, którego zawartość zostanie zaktualizowana odpowiedzią.
  • hx-swap: kontroluje sposób zastępowania lub łączenia zawartości elementu docelowego (np. innerHTML, outerHTML, afterbegin).

Proste i potężne. Te atrybuty pozwalają na złożone interakcje, takie jak aktualizacje w miejscu, aktywne wyszukiwanie czy leniwe ładowanie, przy minimalnym lub zerowym użyciu imperatywnego JavaScriptu. Zachowanie definiuje się bezpośrednio na elemencie, co poprawia czytelność i łatwość utrzymania.

7. Wykorzystanie nagłówków HTTP i zdarzeń dla dynamicznych UI

Htmx korzysta z tej cechy HTTP i dodaje własne nagłówki, dostarczając dodatkowy kontekst do żądań HTTP.

Wzbogacona komunikacja. Htmx rozszerza standardową komunikację HTTP między klientem a serwerem. Dodaje specyficzne nagłówki żądań (np. HX-Request, HX-Trigger), które przekazują serwerowi informacje o charakterze żądania AJAX.

Kontrola po stronie serwera. Serwer może odczytywać te nagłówki, by:

  • Rozpoznać, czy żądanie pochodzi od htmx, czy jest standardową nawigacją przeglądarki.
  • Warunkowo renderować tylko potrzebne fragmenty HTML do aktualizacji.
  • Stosować różną logikę w zależności od elementu lub zdarzenia wyzwalającego.

Architektura oparta na zdarzeniach. Htmx emituje i nasłuchuje na niestandardowe zdarzenia:

  • Wyzwala zdarzenia w trakcie cyklu żądania (htmx:configRequest, htmx:afterRequest).
  • Serwer może inicjować zdarzenia po stronie klienta przez nagłówek odpowiedzi HX-Trigger.
  • Umożliwia to luźne powiązania i złożone interakcje między różnymi elementami strony.

8. Skrypty wzbogacają, nie zastępują hypermedia

Celem htmx nie jest mniej JavaScriptu, lecz mniej kodu, bardziej czytelnego i przyjaznego hypermedialnie.

Skrypty są dozwolone. Roy Fielding zauważył, że REST dopuszcza kod na żądanie (scripting). W HDAs skrypty są mile widziane, ale powinny wzmacniać model hypermedialny, a nie go zastępować.

Zasady przyjaznego skryptowania:

  • Główny format wymiany danych pozostaje hypermedialny (HTML/HXML).
  • Stan po stronie klienta poza DOM jest minimalizowany.

Narzędzia zgodne z filozofią:

  • VanillaJS (czysty JavaScript) z zasadami takimi jak Lokalność Zachowania (LoB) i atrybuty danych (RSJS).
  • Alpine.js: biblioteka do dodawania zachowań bezpośrednio w HTML z reaktywnym wiązaniem danych.
  • _hyperscript: język stworzony wraz z htmx, skupiony na zdarzeniowej manipulacji DOM z anglojęzyczną składnią.

Skupienie na interakcji. Skrypty w HDAs najlepiej służą do projektowania interakcji (animacje, lokalna logika UI), podczas gdy logika biznesowa i prezentacyjna pozostaje na serwerze. To utrzymuje serwer jako źródło prawdy i upraszcza klienta.

9. JSON Data API spełniają inne potrzeby niż Hypermedia API

JSON API pojawiły się dekadę po tym, jak REST był koncepcją hypermedialną i wersją 1.0 sieci.

Różne cele. Podczas gdy Hypermedia API (np. HTML przez HTTP) jest idealne do interakcji z klientem hypermedialnym (jak przeglądarka), JSON Data API służą innym zastosowaniom.

Przykłady zastosowań JSON API:

  • Aplikacje mobilne (zwłaszcza nie-Hyperview).
  • Skrypty automatyczne i przetwarzanie hurtowe danych.
  • Integracje zewnętrzne i synchronizacja danych.

Specyficzne wymagania. JSON API zwykle potrzebują:

  • Stabilności i wersjonowania (klienci są ściśle powiązani ze strukturą).
  • Ograniczeń liczby wywołań i solidnych mechanizmów uwierzytelniania (często tokenowych).
  • Ogólnych punktów końcowych obsługujących szerokie potrzeby danych.

Oddzielna ewolucja. Oddzielenie JSON Data API od Hypermedia API pozwala każdemu rozwijać się zgodnie z własnymi potrzebami. Hypermedia API może być wysoce wyspecjalizowane pod UI aplikacji, a Data API pozostaje stabilne dla różnorodnych klientów programistycznych.

10. Hypermedia działa także na urządzeniach mobilnych: wprowadzenie Hyperview

Hypermedia to ogólna koncepcja, którą można stosować na wszystkich platformach i w różnych aplikacjach.

Wyzwania mobilne. Tradycyjny natywny rozwój mobilny często prowadzi do architektur grubych klientów z logiką rozproszoną między klientem a serwerem, podobnie jak SPA. Skutkuje to złożonym kodem i problemami z utrzymaniem API.

Rozwiązanie hypermedialne. Zastosowanie architektury hypermedialnej na urządzeniach mobilnych oferuje wyjście z tego impasu. Serwer kontroluje stan aplikacji, upraszczając klienta i eliminując problemy z wersjonowaniem API.

System Hyperview. Hyperview to system hypermedialny dedykowany mobilności, składający się z:

  • HXML: formatu hypermedialnego opartego na XML do definiowania UI mobilnego.
  • Klienta Hyperview: natywnego klienta mobilnego (React Native) renderującego HXML.

Więcej niż webview. Choć osadzenie webview jest proste, trudno w nim odtworzyć natywne wzorce UX mobilne (nawigacja, gesty). Hyperview jest zaprojektowany, by reprezentować te wzorce natywnie.

11. HXML i zachowania: natywne interakcje hypermedialne na mobilnych

HXML został zaprojektowany tak, by był znajomy dla web developerów, przyzwyczajonych do pracy z HTML.

Format oparty na XML. HXML używa składni XML podobnej do HTML, co ułatwia dostęp web developerom i współpracę z szablonami po stronie serwera. Zawiera elementy dla typowych wzorców UI mobilnego, jak listy (<list>, <item>) i pola wejściowe (<text-field>, <select-single>).

Zachowania dla interakcji. Interakcje w HXML definiuje się za pomocą elementów <behavior>, oddzielając wyzwalacze od akcji.

  • trigger: interakcja użytkownika (np. press, longPress, visible, refresh).
  • action: wynikowa operacja (np. push, back, replace-inner, append, alert, share).
  • href: URL dla akcji wymagających nowej zawartości.
  • target: ID elementu do modyfikacji przy aktualizacjach.

Natywne wzorce. Zachowania umożliwiają mobilne interakcje, takie jak:

  • Nawigacja oparta na stosie (push, back, new, close).
  • Odświeżanie przez pociągnięcie (refresh).
  • Nieskończone przewijanie (visible trigger, append action).

Rozszerzalność. HXML i klient Hyperview są zaprojektowane do rozszerzania o niestandardowe elementy i akcje, pozwalając programistom dodawać unikalne funkcje bez konieczności imperatywnego skryptowania logiki podstawowej.

12. HDAs maksymalizują siłę i prostotę po stronie serwera

Wielką zaletą podejścia hypermedialnego jest to, że znacznie zwiększa znaczenie środowiska po stronie serwera przy budowie aplikacji webowej.

Serwer jako rdzeń. W HDAs serwer jest głównym silnikiem stanu aplikacji i logiki prezentacji. Wykorzystuje to dojrzałość i moc środowisk serwerowych.

Korzyści z koncentracji na serwerze:

  • Dostęp do potężnych silników szablonów do renderowania HTML/HXML.
  • Bezpośredni dostęp do bazy danych dla efektywnych zapytań i logiki.
  • Dojrzałe narzędzia organizacji kodu (MVC, moduły).
  • Uproszczona logika klienta, zmniejszająca złoż

Ostatnia aktualizacja:

Report Issue

Podsumowanie recenzji

4.37 z 5
Średnia z 225 ocen z Goodreads i Amazon.

Systemy hipermedialne zyskują przeważająco pozytywne recenzje, a czytelnicy chwalą ich powrót do podstaw tworzenia stron internetowych. Wielu docenia krytykę współczesnych frameworków oraz promowanie HTMX i aplikacji opartych na hipermedialności. Przedstawione koncepcje są odbierane jako świeże i praktyczne, łatwe do zastosowania w rzeczywistych projektach. Pewne uwagi dotyczą złożoności większych aplikacji oraz wątpliwości związanych z zasadą separacji odpowiedzialności. Sekcja poświęcona tworzeniu aplikacji mobilnych budzi mieszane opinie. Ogólnie rzecz biorąc, książka jest postrzegana jako inspirująca i mająca potencjał do zmiany paradygmatu w rozwoju stron internetowych.

Your rating:
4.66
158 ocen
Want to read the full book?

FAQ

What is Hypermedia Systems by Carson Gross about?

  • Core focus: The book explores how hypermedia, traditionally seen as document-centric, can serve as a powerful foundation for building modern, interactive web and mobile applications.
  • Architectural emphasis: It highlights the full hypermedia architecture—covering HTML, HTTP, servers, and clients—and how these components interact to create flexible, RESTful applications.
  • Modern relevance: Carson Gross argues that hypermedia-driven applications (HDAs) are not legacy but a sophisticated, competitive alternative to Single Page Applications (SPAs).
  • Practical demonstration: The book uses real-world examples, such as building a contact management app, to ground its concepts in practical code.

Why should I read Hypermedia Systems by Carson Gross?

  • Clarifies misconceptions: The book dispels the myth that hypermedia is outdated, showing its relevance for dynamic, complex applications.
  • Practical guidance: It provides hands-on examples and step-by-step tutorials, including building and enhancing a contact management app with htmx and porting it to mobile with Hyperview.
  • Alternative to SPAs: Gross presents hypermedia as a simpler, more maintainable, and secure alternative to heavy JavaScript frameworks and SPAs.
  • Focus on simplicity: The book demonstrates how server-driven UI and minimal client-side scripting can reduce complexity and improve maintainability.

What are the key takeaways from Hypermedia Systems by Carson Gross?

  • Hypermedia as modern architecture: Hypermedia is a robust, flexible, and modern approach to building web and mobile applications, not just a legacy technology.
  • RESTful principles matter: True RESTful systems require hypermedia controls (HATEOAS), which many JSON APIs lack, leading to tighter coupling and more brittle applications.
  • Tools for enhancement: Libraries like htmx and Hyperview can bring SPA-like interactivity to hypermedia-driven apps without sacrificing simplicity or RESTful design.
  • Incremental improvement: Applications can be enhanced step-by-step, adding interactivity and advanced UI patterns while preserving the core hypermedia architecture.

How does Hypermedia Systems by Carson Gross define a hypermedia system and its components?

  • RESTful foundation: A hypermedia system adheres to REST as described by Roy Fielding, using hypermedia controls to enable non-linear, dynamic interactions.
  • Key components: It includes hypermedia formats (like HTML or HXML), network protocols (HTTP), servers presenting hypermedia APIs, and clients (browsers or mobile apps) that interpret responses.
  • Distinction from JSON APIs: The book stresses that many so-called REST APIs are not truly RESTful unless they include hypermedia controls for navigation and interaction.
  • Loose coupling: Hypermedia systems embed all necessary interaction information in responses, reducing the need for clients to have prior knowledge of the API.

How do Hypermedia-Driven Applications (HDAs) differ from Single Page Applications (SPAs) according to Carson Gross?

  • Architectural contrast: HDAs use hypermedia as the engine of application state, exchanging HTML (or HXML) over HTTP, while SPAs rely on JavaScript and JSON APIs.
  • Coupling and flexibility: HDAs avoid tight client-server coupling by embedding interaction logic in hypermedia, whereas SPAs require clients to know API structures in advance.
  • User experience trade-offs: SPAs offer richer interactivity but introduce complexity and “JavaScript Fatigue,” while HDAs provide simplicity, robustness, and leverage browser features like caching.
  • Maintainability: HDAs are more tolerant of API changes and easier to maintain due to their reliance on self-descriptive hypermedia responses.

What is htmx and how does it enhance HTML for building Hypermedia-Driven Applications, as described in Hypermedia Systems?

  • Attribute-driven AJAX: htmx extends HTML with attributes (e.g., hx-get, hx-post, hx-trigger, hx-swap, hx-target) to declaratively specify AJAX requests and DOM updates without writing JavaScript.
  • Overcoming HTML limitations: It allows any element to issue any HTTP method, be triggered by any event, and update parts of the page dynamically, addressing native HTML’s limited interactivity.
  • Advanced features: htmx supports event filtering, request synchronization, out-of-band swaps, and CSS transition integration for smooth, dynamic UIs.
  • Progressive enhancement: htmx preserves and extends HTML as hypermedia, enabling modern interactivity while maintaining RESTful and progressive enhancement principles.

How does Hypermedia Systems by Carson Gross explain REST and HATEOAS in the context of hypermedia?

  • REST constraints: The book reviews Fielding’s REST constraints, emphasizing statelessness, caching, layered systems, and especially the uniform interface with hypermedia as the engine of application state (HATEOAS).
  • Self-descriptive messages: RESTful responses must include all information (hypermedia controls) necessary for clients to navigate and interact without prior knowledge of the API.
  • HATEOAS benefits: Hypermedia responses dynamically encode available actions, enabling clients to adapt to API changes without breaking, reducing versioning headaches common in JSON APIs.
  • Loose coupling: This approach allows for more flexible, evolvable systems where clients and servers can change independently.

What practical example does Carson Gross use in Hypermedia Systems to demonstrate hypermedia-driven development?

  • Contact.app: The book features a simple contact management web application built with Python, Flask, and Jinja2 templates, demonstrating CRUD operations using pure HTML hypermedia controls.
  • Incremental enhancement: It shows how to progressively add interactivity with htmx, such as AJAX navigation, inline deletes, active search, lazy loading, and progress indicators.
  • Educational value: This example grounds theoretical concepts in practical code, illustrating how hypermedia-driven applications can be built and improved step by step.
  • Mobile extension: The app is also ported to mobile using Hyperview, demonstrating hypermedia’s versatility across platforms.

What are the key concepts of hypermedia-friendly scripting discussed in Hypermedia Systems?

  • Scripting constraints: Scripting in HDAs should keep the main data format as hypermedia and minimize client-side state outside the DOM, ensuring business and presentation logic remain server-side.
  • Scripting tools: The book covers Vanilla JavaScript (structured with RSJS), Alpine.js (declarative and reactive), and _hyperscript (English-like syntax focused on event handling) as compatible scripting options.
  • Locality of behavior: Emphasizes embedding behavior declarations close to the HTML elements they affect, improving readability and maintainability.
  • Contrast with traditional JS: This approach contrasts with the traditional separation of concerns, favoring proximity of markup and behavior for clarity.

How does Hypermedia Systems by Carson Gross apply hypermedia principles to native mobile app development with Hyperview?

  • HXML format: Hyperview uses HXML, an XML-based hypermedia format inspired by HTML, to represent mobile UI elements, layouts, inputs, and behaviors declaratively.
  • Client-server model: The Hyperview client (a React Native app) renders HXML screens fetched from the server, with all app logic and UI defined server-side, avoiding thick-client complexity.
  • Extensibility: Hyperview supports custom UI elements and behavior actions, enabling deep platform integration and rich interactions while preserving the hypermedia-driven architecture.
  • Consistency: This approach brings the benefits of hypermedia—loose coupling, flexibility, and maintainability—to native mobile development.

What advanced UI patterns and behaviors are implemented with htmx and Hyperview in Hypermedia Systems?

  • Active Search: Implements search-as-you-type with debounced AJAX requests updating search results dynamically, improving UX without custom JavaScript.
  • Lazy Loading: Defers loading expensive data (like total contact count) until needed, using htmx triggers for performance optimization.
  • Inline and Bulk Delete: Enables deleting contacts directly from lists with confirmation dialogs, smooth fade-out animations, and bulk operations, all declaratively via htmx or HXML attributes.
  • Mobile behaviors: Hyperview uses <behavior> elements to define triggers and actions (navigation, updates, system actions), enabling rich, decoupled mobile interactions.

What are the advantages and challenges of using Vanilla JavaScript and other scripting tools in Hypermedia-Driven Applications, according to Carson Gross?

  • Advantages: VanillaJS requires no additional libraries, reduces complexity compared to SPA frameworks, and can be structured effectively using RSJS guidelines for maintainability and locality of behavior.
  • Challenges: It lacks a default architectural style, can lead to “jQuery soup” with scattered event handlers, and DOM APIs are verbose and sometimes unintuitive.
  • Best practices: Using data- attributes to invoke behavior and organizing code per component/file improves clarity and reuse, aligning VanillaJS with hypermedia-friendly scripting principles.
  • Alternative tools: Alpine.js and _hyperscript offer more declarative, readable, and maintainable approaches for embedding behavior in hypermedia-driven apps.

What is the significance of Carson Gross’s message about the future of hypermedia in web development in Hypermedia Systems?

  • Hypermedia resurgence: The book argues that hypermedia is a “great idea” with tremendous untapped potential and deserves renewed attention in modern web development.
  • Call to action: Gross encourages developers to learn, build with, and advocate for hypermedia-driven architectures to challenge SPA dominance.
  • Philosophical inspiration: Quoting Terminator 2, “The future is not set. There is no fate but what we make for ourselves,” the book inspires readers to shape the future of web architecture by embracing hypermedia.
  • Vision for the web: The message is that developers have the power to create simpler, more robust, and maintainable systems by returning to and advancing hypermedia principles.

O autorze

Carson Gross jest twórcą HTMX oraz autorem książki „Hypermedia Systems”. Znany jest z promowania aplikacji opartych na hipermedialności oraz krytyki współczesnych praktyk tworzenia stron internetowych. Gross opowiada się za powrotem do prostszych i bardziej efektywnych metod tworzenia stron, które wykorzystują naturalne możliwości HTML i protokołu HTTP. Jego prace koncentrują się na rozszerzaniu funkcjonalności HTML za pomocą HTMX, co pozwala programistom tworzyć dynamiczne aplikacje internetowe z mniejszym uzależnieniem od frameworków JavaScript. Podejście Grossa kładzie nacisk na renderowanie po stronie serwera oraz zasady architektury REST, tak jak zostały pierwotnie zaprojektowane przez Roya Fieldinga. Jego idee zyskały popularność wśród deweloperów poszukujących alternatyw dla skomplikowanych frameworków frontendowych.

Pobierz PDF

To save this Hypermedia Systems summary for later, download the free PDF. You can print it out, or read offline at your convenience.
Download PDF

Pobierz EPUB

To read this Hypermedia Systems summary on your e-reader device or app, download the free EPUB. The .epub digital book format is ideal for reading ebooks on phones, tablets, and e-readers.
Download EPUB
Want to read the full book?
Follow
Słuchaj
Now playing
Hypermedia Systems
0:00
-0:00
Now playing
Hypermedia Systems
0:00
-0:00
1x
Queue
Home
Swipe
Library
Get App
Try Full Access for 3 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
Read unlimited summaries. Free users get 3 per month
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Dziś: Uzyskaj natychmiastowy dostęp
Słuchaj pełnych streszczeń ponad 26 000 książek. To ponad 12 000 godzin audio!
Dzień 2: Przypomnienie o okresie próbnym
Wyślemy Ci powiadomienie, że okres próbny wkrótce się kończy.
Dzień 3: Rozpoczęcie subskrypcji
Opłata zostanie pobrana Jul 4,
anuluj w dowolnym momencie wcześniej.
Consume 2.8× More Books
2.8× more books Listening Reading
Our users love us
600,000+ readers
Trustpilot Rating
TrustPilot
4.6 Excellent
This site is a total game-changer. I've been flying through book summaries like never before. Highly, highly recommend.
— Dave G
Worth my money and time, and really well made. I've never seen this quality of summaries on other websites. Very helpful!
— Em
Highly recommended!! Fantastic service. Perfect for those that want a little more than a teaser but not all the intricate details of a full audio book.
— Greg M
Save 62%
Yearly
$119.88 $44.99/year/yr
$3.75/mo
Monthly
$9.99/mo
Start a 3-Day Free Trial
3 days free, then $44.99/year. Cancel anytime.
Unlock a world of fiction & nonfiction books
26,000+ books for the price of 2 books
Read any book in 10 minutes
Discover new books like Tinder
Request any book if it's not summarized
Read more books than anyone you know
#1 app for book lovers
Lifelike & immersive summaries
30-day money-back guarantee
Download summaries in EPUBs or PDFs
Cancel anytime in a few clicks
Scanner
Find a barcode to scan

We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel
Settings
General
Widget
Loading...
We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel