Skip to content
@web4foundation

The Web4 Foundation

Advancing the open web through its 4th chapter: local-first, native webapps









<!-- MyButton.html -->

<script lang="C#">
    // 🚨🚨🚨 ⬆︎ HTML support for ANY language! 🚨🚨🚨
    void OnClick(Event e)
    {
        c++;
    }
</script>

<button onclick={e => OnClick(e)}>
    Clicks:  {c}
    <!--🚨🚨🚨 ⬆︎ HTML support for reactivity – no framework! 🚨🚨🚨-->
</button>

<!--
  Compile your HTML
    • to a native binary for multiplayer-reactivity + zero-cost dependencies  (mutates the DOM from a WebSocket)
    • to a WASM binary for offline-reactivity + static hosting                (mutates the DOM from WebAssembly)
-->

About

The Web4 Foundation is a nonprofit organization dedicated to the advancement of the open web through its fourth chapter: local-first, native webapps. The foundation is currently being organized as a 501(c)(6). Formal status is in progress. Similar to organizations like W3C and WHATWG, the Web4 Foundation also stewards, defines, and extends the standards of the open web. However, since Web4 executes extramurally instead of inside the browser, its scope of influence is not targeted towards browser vendors but rather towards language communities. Web4’s directive is to support the consistent implementation of these standards across all language communities to maximize skill-portability and minimize framework-fatigue.

Repos

This GitHub org is organized to be an ecosystem of ecosystems. Each repo fits into one of three categories.

  1. SDKs
    Each language community can build independently without the burden of conflicting conventions and idioms.
  2. Specs
    Contains no implementation code. Used as a common area for cross-language discussions, issues, benchmarks, documentation, and specifications.
  3. Tools
    Usually only implemented in one language – whichever is the best tool for the job.

SDKs

   (reference implementation)













Specs

eXtramural Templating Markup Language – a hopeful W3C candidate recommendation for HTML6

A common abstraction for bridging into the DOM from WebAssembly or WebSockets

A neutral testing ground for languages to compare their approaches for server-side rendering and reconciliation

Tools

RESTful APIs over WebSockets instead of HTTP
fetch()listen()

Operates similar to PgBouncer but enhances a subset of SQL for real-time query listeners and offline mode

A component library that mimics the look-and-feel of its surrounding OS – one app, multiple design systems

Why Web4?

The story of the web is written in chapters not generations. Generations replace what came before. Chapters contribute to a single, holistic story. Web1 was not replaced by Web2 and the intentions of Web3 was never to supplant the database. Each new chapter coincides with the emergence of a new computing paradigm and its unique combination of constraints and superpowers that it unlocks. From these new first principles, yesterday’s best practices become the new anti-patterns and a new species proliferates across the web.

Chapter Computing Paradigm What it Enabled Execution Location Categories Unlocked
Web1 Personal Computing Static documents Server-side Long-form content
academic papers, news, blogs, marketing sites, etc
Web2 Cloud Computing Dynamic webpages Client-side Short-form content
social media, e-commerce, etc
Web3 Decentralized Computing Smart contracts Peer-to-peer Transactional content
DeFi, digital ownership, etc
Web4 Edge Computing Local-first apps Edge-side / WASM Function over content
utilities, games, collaborative, productivity, etc

Infrastructure for Edge Computing has reached an interesting tipping point recently where, thanks to geo-various datacenter build-outs, long-haul fiber installations, and even 5G rollouts, ubiquitous low latency has been achieved globally. In a world where it’s possible to roundtrip to an edge server with lower latency than your screen’s own refresh rate, suddenly it makes sense to move a whole class of workloads off the client. The architecture of these new edge-native opportunities are neither server-side, nor client-side, they are middle-out and must be local-first.

A New Species: Local-First Apps (LFA)

Local-first applications (LFA) emphasize function over content. Typical categories include utilities, games, collaborative software, and productivity tools (categories far more prevalent in native app stores). In this species, the concept of a “page” is eliminated entirely and URLs are used, not as locations of resources, but as bookmarks for state. Local-first apps (LFA) differ from single-page apps (SPA) in a few fundamental areas:

Single-page apps (SPA) Local-first apps (LFA)
Artifacts Scripts Binaries
State Client-side Extramural
Protocol Request/response Bidirectional

Core Benefits

  • Language Choice
    Web4 ends JavaScript’s monopoly on building dynamic user interfaces on the web.
  • Multiplayer Reactivity
    When application state lives on the server, multiple connected clients can react to the same state change.
  • Offline Reactivity
    Bidirectional protocols enable local-first synchronizations and apps continue to function even without a network connection.
  • Zero-Cost Dependencies
    When applications execute remotely, binaries can grow to gigabytes in size without impacting user experience because they are never transferred to the browser.

Get Involved

The Web4 Foundation is an open collaboration between language communities interested in advancing the web platform.

Ways to contribute:

  • ⭐ Follow and star repositories to stay up to date. Vote for your favorite language!
  • 🐛 Report issues or suggest improvements
  • 💬 Join discussions in spec repositories
  • 🛠 Contribute code to language SDKs
  • 📊 Help with benchmarks and interoperability testing
  • 📚 Improve documentation and examples

Pinned Loading

  1. web4-dotnet web4-dotnet Public

    The Web4 SDK for .NET

    C# 4 1

  2. html-bench html-bench Public

    Compile-time SSR engineered for millions of req/sec

  3. keyholes keyholes Public

    The DOM's doorway to other languages

  4. xtml xtml Public

    eXtramural Templating Markup Language - a hopeful W3C candidate recommendation for HTML6

Repositories

Showing 10 of 17 repositories

Top languages

Loading…

Most used topics

Loading…