-
Notifications
You must be signed in to change notification settings - Fork 16
/
ch14-conclusion.typ
78 lines (65 loc) · 4.25 KB
/
ch14-conclusion.typ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#import "lib/definitions.typ": *
== Conclusion
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 <_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.