Hyperapp is a small JavaScript framework for building interfaces from application state, actions, and a view. Darren Jones’s SitePoint tutorial uses that model to build “Hyperlist,” a to-do app that can add tasks, mark them complete, delete them, and clear completed items. The tutorial was published June 8, 2018, and updated November 15, 2024; use Hyperapp’s current official documentation for setup and API details rather than assuming the tutorial’s code is current.
What is Hyperapp?
Hyperapp is a JavaScript framework that connects state, actions, and a rendered view. State holds the data an interface needs; actions change that data; and the view describes what to display from the current state. When state changes, the interface is rendered again.
The Hyperapp project describes its size as “Smaller than a favicon—1 kB, give or take” in its official repository README. That is the project’s approximate description, not an independent benchmark. The SitePoint article uses the historical figure “1.4 kB”; the two figures come from different source descriptions and should not be treated as measurements made under comparable conditions.
What the Hyperlist tutorial builds
The SitePoint example, named Hyperlist, implements four core interactions:
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →#1 Best Overall
- Add a task from an input field.
- Mark a task as complete.
- Delete an individual task.
- Clear completed tasks from the list.
In the tutorial’s implementation, state includes the task entries and the current input string. Each task has a value, a completed flag, and an identifier. Input events update the state; an add action appends a task; and completion and deletion actions update or remove entries. These are choices made for this example, not requirements every Hyperapp app must follow.
How the state-driven pattern works
Keep the data in state
The task array represents the list, while a string represents what the user is currently typing. This gives the view a single place to read the data it needs instead of relying on separate, manually synchronized interface elements.
Use actions to change state
Typing invokes an input update, and adding invokes an action that appends a task. Completion changes a task’s completed status; deletion removes it; clearing completed tasks filters the list. The important pattern is that user events lead to state changes, rather than directly editing displayed markup.
Render the view from the current state
The view describes the input and task list using the current values in state. When an action changes state, Hyperapp renders the view again. The tutorial’s completion and deletion behavior therefore follows from updated task data, not from a separate visual-only toggle.
Recommended Free Tools
Rank #3
How the tutorial relates to Hyperapp’s official starter example
The official repository README demonstrates a smaller add-and-render example. It initializes a todos array and a value string, updates the value when the input changes, appends that value when a task is added, and renders list items. The example uses h() and text() to describe the view.
That starter illustrates the framework’s state-and-view loop; it is not the full Hyperlist feature set. The SitePoint tutorial adds completion, deletion, and clearing completed tasks. The tutorial is useful as a guided application example, while the official materials are the better reference for current API and setup choices.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Choose a setup approach before copying code
The official repository documents installing Hyperapp with npm install hyperapp and also shows a browser-module approach using an import from unpkg without a build step. The separate official Hyperapp tutorial explains app, h, text, the virtual-DOM view, and the page node where Hyperapp renders.
By contrast, SitePoint’s tutorial setup uses CodePen, an external Hyperapp resource, Babel/JSX, and the API form shown in that article. Those instructions describe that tutorial’s context. Before using its setup code in a new project, check the current official documentation and the version of the package you intend to install.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallWhere to read the tutorial
Darren Jones’s SitePoint tutorial was published June 8, 2018, and updated November 15, 2024. It is also included as Chapter 4 of Michael Wanyoike’s 6 JavaScript Projects, as shown on the O’Reilly contents page.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

