mirror of
https://github.com/bigskysoftware/hypermedia-systems.git
synced 2025-11-27 00:06:05 -05:00
70 lines
4.3 KiB
Plaintext
70 lines
4.3 KiB
Plaintext
|
|
= Conclusion
|
|
:chapter: 14
|
|
:part: Conclusion
|
|
:part_url: /part/conclusion/
|
|
:url: /conclusion/
|
|
|
|
[partintro]
|
|
== Hypermedia Reconsidered
|
|
|
|
We hope to have convinced you that hypermedia, rather than being a "`legacy`" technology
|
|
or a technology only appropriate for "`documents`" of links, text and pictures, is, in fact, a powerful technology for
|
|
building _applications_. In this book you have seen how to build sophisticated user interfaces -- for both the web, with htmx,
|
|
and for mobile applications, using Hyperview -- using hypermedia as a core underlying application technology.
|
|
|
|
Many web developers view the links and forms of "`plain`" HTML as bygone tools
|
|
from a less sophisticated age. And, in some ways, they are right: there were definite usability issues with the
|
|
original web. However, there are now JavaScript libraries that extend HTML by addressing its core limitations.
|
|
|
|
Htmx, for example, allowed us to:
|
|
|
|
* Make any element capable of issuing an HTTP request
|
|
* Make any event capable of triggering an HTTP event
|
|
* Use all the available types of HTTP methods
|
|
* Target any element in the DOM for replacement
|
|
|
|
With that, we were able to build user interfaces for Contact.app that many developers would assume require a significant amount of client-side
|
|
JavaScript, and we did it using hypermedia concepts.
|
|
|
|
The Hypermedia-Driven Application approach is not right for every application. For many applications, though, the increased flexibility and simplicity of hypermedia can be a huge
|
|
benefit. Even if your application wouldn't benefit from this approach, it is worthwhile to _understand_
|
|
the approach, its strengths and weaknesses, and how it differs from the approach you are taking. The original web
|
|
grew faster than any distributed system in history; web developers should know how to tap the power of the underlying technologies that
|
|
made that growth possible.
|
|
|
|
== Pausing, and Reflecting
|
|
|
|
The JavaScript community and, by extension, the web development community is famously chaotic, with new frameworks and
|
|
technologies emerging monthly, and sometimes even _weekly_. It can be exhausting to keep up with the latest and
|
|
greatest technologies, and, at the same time, terrifying that we _won't_ keep up with them and
|
|
be left behind in our career.
|
|
|
|
This is not a fear without foundation: there are many senior software engineers that have seen their careers peter out
|
|
because they picked a technology to specialize in that, fairly or not, did not thrive. The web development world tends
|
|
to be young, with many companies favoring young developers over older developers who "`haven't kept up.`"
|
|
|
|
We shouldn't sugar-coat these realities of our industry. On the other hand, we also shouldn't ignore the downside that
|
|
these realities create. It creates a high-pressure environment where everyone is watching for "`the new new`" thing, that
|
|
is, for the latest and greatest technology that is going to change everything. It creates pressure to _claim_ that your
|
|
technology is going to change everything. It tends to favor _sophistication_ over
|
|
_simplicity_. People are scared to ask "`Is this too complex?`" because it sounds an awful lot like "`I'm not smart enough
|
|
to understand this.`"
|
|
|
|
The software industry tends, especially in web development, to lean far more towards innovating, rather than
|
|
understanding existing technologies and building on them or within them. We tend to look ahead for new, genius
|
|
solutions, rather than looking to established ideas. This is understandable: the technology world is necessarily
|
|
a forward-looking industry.
|
|
|
|
On the other hand -- as we saw with Roy Fielding's formulation of REST -- some early architects of the web had some great ideas which have been overlooked. We are old enough
|
|
to have seen hypermedia come and go as the "`new new`" idea. It was a little shocking to us to see powerful ideas like
|
|
REST discarded so cavalierly by the industry. Fortunately, the concepts are still sitting there, waiting to be rediscovered
|
|
and reinvigorated. The original, RESTful architecture of the web, when looked at with fresh eyes, can address many of
|
|
the problems that today's web developers are facing.
|
|
|
|
Perhaps, following Mark Twain's advice, it is time to pause and reflect. Perhaps, for a few quiet moments, we can
|
|
put the endless swirl of the "`new new`" aside, look back on where the web came from, and learn.
|
|
|
|
Perhaps it's time to give hypermedia a chance.
|
|
|