2022-08-22 18:17:47 -06:00

118 lines
2.8 KiB
Plaintext

== Outline
[none]
. 1 Reintroducing Hypermedia
[none]
.. 1.1 So, What Is Hypermedia?
.. 1.2 Why Use Hypermedia?
.. 1.3 REST
.. 1.4 When Should You Use Hypermedia?
.. 1.5 When Shouldn't You Use Hypermedia?
.. 1.6 Summary
. 2 A Simple Web Application
[none]
.. 2.1 A Simple Contact Management Web Application
.. 2.2 A Brief Introduction to Flask & Our First Route
.. 2.3 Contact.App Functionality
.. 2.4 Summary
. 3 Extending HTML As Hypermedia
[none]
.. 3.1 The Shortcomings of "Plain" HTML
.. 3.2 Extending HTML as a Hypermedia with htmx
.. 3.3 Triggering HTTP Requests
.. 3.4 Targeting Other Elements
.. 3.5 Swap Styles
.. 3.6 Using Other Events
.. 3.7 Passing Request Parameters
.. 3.8 History Support
.. 3.9 Summary
. 4 Putting Hypermedia Into Action
[none]
.. 4.1 Installing htmx
.. 4.2 Adding AJAX Navigation
.. 4.3 Deleting Contacts
.. 4.4 Next Steps: Validating Emails
.. 4.5 Another Improvement: Paging
.. 4.6 Summary
. 5 Advanced Hypermedia Patterns
[none]
.. 5.1 Active Search
.. 5.2 Lazy Loading
.. 5.3 Inline Delete
.. 5.3 Bulk Delete
.. 5.4 Summary
. 6 Hyperview: A Mobile Hypermedia
[none]
.. 6.1 State of Mobile App Development
.. 6.2 Hypermedia for Mobile Apps
.. 6.3 Introduction to HXML
.. 6.4 Summary
. 7 Building a Contacts App with Hyperview
[none]
.. 7.1 Setup
.. 7.2 Contacts screen
.. 7.3 Contact screen
.. 7.4 Extending the client
.. 7.5 One Backend, Multiple Hypermedia
.. 7.6 Summary
. 8 Client Side Scripting
[none]
.. 8.1 Scripting in Hypermedia-Driven Applications
.. 8.2 Scripting languages for the Web
.. 8.3 Using off-the-shelf components
.. 8.4 Events and the DOM
.. 8.5 Adding a Keyboard Shortcut for Focusing the Search Input With VanillaJS
.. 8.6 Adding Support for Re-Ordering Contacts (No Scripting Needed!)
.. 8.7 Adding Support for a Drop-Down with AlpineJS
.. 8.8 Adding a Nicer Confirmation for Deleting Contacts With _hyperscript
.. 8.9 Being Pragmatic
.. 8.10 Summary
. 9 Data APIs & Hypermedia Driven Applications
[none]
.. 9.1 Data APIs
.. 9.2 Hypermedia APIs & Data APIs
.. 9.3 Adding a JSON Data API To Contact.app
.. 9.4 Summary
. 10 Creating A Dynamic Download UI
[none]
.. 10.1 A Dynamic Archive UI
.. 10.2 Polling
.. 10.3 Smoothing Things Out: More On The htmx Swap Model
.. 10.4 Dismissing The Download UI
.. 10.5 Auto-Download
.. 10.6 Summary
. 11 Developing With htmx
.. 11.1 Getting Deeper Into htmx
.. 11.2 htmx Attributes
.. 11.3 Events
.. 11.4 HTTP Requests & Responses
.. 11.5 Updating Other Content
.. 11.6 Debugging
.. 11.7 Security Considerations
.. 11.8 Configuring
.. 11.9 Summary
. 12 Other Hypermedia-Oriented Technologies
[none]
.. 12.1 Unpoly
.. 12.2 Hotwire
.. 12.3 jQuery
.. 12.4 VanillaJS
.. 12.5 Summary
. 13 Conclusion
[none]
.. 13.1 Hypermedia Reconsidered
.. 13.3 Pausing, And Reflecting
. Appendix 1: A Review of Chapter 5 of Roy Fielding's Dissertation On The Web