Overview

PWFabric

PWFabric turns a declarative surface — blocks, bindings, capabilities, appearance — into a live page, in a browser or on a server. It needs no hosted service: what an app needs at runtime is in its bundle or behind a documented protocol any host can implement.

An app built on PWFabric travels. Its source moves as a pwpack, its runnable form as a pwapp, and either can be served from any static host. That portability is why this engine is open: a promise that your app is yours cannot rest on an engine you are not allowed to read.

pwf create my-app --foundation /path/to/foundation.pwpack
cd my-app
pwf dev      # serves the app and reloads on every change
pwf build    # writes the static app to .pwf/out/

pwf is the PWFabric command line: npm install -g @pwfabric/cli. The packages are at 1.0.0; the quick start shows where the foundation pack comes from.

The packages

PackageWhat it isLicence
@pwfabric/contractsThe types and schemas everything agrees onApache-2.0
@pwfabric/authoringdefineBlock, defineFactory — write your own blocksApache-2.0
@pwfabric/packReads, validates, hashes and writes pwpacksApache-2.0
@pwfabric/clipwf — create, validate, pack, build and run appsApache-2.0
@pwfabric/corePrimitives the rest is built fromBSL 1.1
@pwfabric/runtimeThe rendererBSL 1.1
@pwfabric/runnerRuns a pwapp — routing, navigation, sign-inBSL 1.1
@pwfabric/embedPuts one surface inside a page you already haveBSL 1.1
@pwfabric/compilerCompiles block and capability source into the modules the runtime loadsBSL 1.1

Source: github.com/pwfabric/pwfabric.

Where to start

You want to…Go to
Run a built app on any static hostQuickstart, track A
Write your own blockdefineBlock
Build an app of your own from scratchQuickstart, track C
Run a built app on your own hostSelf-hosting
Look up a pwf commandCLI
Read the formats themselvesSpecification
Understand what you may do with the codeLicensing

Two licences, on purpose

The contracts are Apache-2.0: an interface that is not free to adopt is not an interface. The engine is under the Business Source License — use it, change it, host what you build with it, including for your own customers. The one thing reserved is offering PWFabric itself as a competing hosted service. Four years after each release, that version becomes Apache-2.0.

Read the licensing model →