--==[ jsrn.net ]==--
In the beginning, there was HTML.
Welcome to my website!
I really like football!
We want things to look like things.
welcome to my website!
I really like football and good charlotte!
Now we want things to do things.
sports are for POSERS! good charlotte are POSERS! i only like BLACK FLAG now
"Should I learn React or Vue?"
"Use vanilla JavaScript!"
You might know Basecamp.
Basecamp (originally 37signals) brought us such hits as...
... without writing any JavaScript.
The artist formerly known as Turbolinks. Accelerate links and forms by replacing full page loads.
Decompose page into independent contexts.
Deliver page changes over WebSockets or in response to form submissions.
Wrap your Rails app in a native shell with seamless transition between web and native sections.
{
"identifier": {
"channel": "Turbo::StreamsChannel",
"signed_stream_name": "Ilol0THpFIg=="
},
"message":"<turbo-stream
action='append'
target='messages'>
<template>
<p id='message_15'>
26 May 16:05: Hi!
</p>
</template>
</turbo-stream>"
}
☟
26 May 16:05: Hi!
An HTML-centric approach to state and wiring
// hello_controller.js
import { Controller } from "stimulus"
export default class extends Controller {
static targets = [ "name", "output" ]
greet() {
this.outputTarget.textContent =
`Hello, ${this.nameTarget.value}!`
}
}
// hello_controller.js
import { Controller } from "stimulus"
export default class extends Controller {
static targets = [ "name", "output" ]
greet() {
this.outputTarget.textContent =
`Hello, ${this.nameTarget.value}!`
}
}
The concepts are really interesting.
Hotwire itself may continue to flourish.
The ideas behind Hotwire may take root elsewhere in a more serious way.
Should we be putting so many of our eggs in one basket?