The @swim/system umbrella framework provides a standalone set of frameworks for building massively real-time streaming WARP clients and web user interface applications. @swim/system encompasses the @swim/core foundation framework, the @swim/mesh multiplexed streaming WARP framework, the @swim/ui and @swim/ux real-time user interface toolkits, and the @swim/web real-time web application framework.
The Swim System umbrella framework has no external dependencies when run in a web browser, and depends only on a WebSocket implementation when run in Node.js. Swim System provides the following top-level libraries:
The Swim Core framework provides a lightweight, portable, dependency-free, and strongly typed baseline on which to build higher level libraries. Swim Core consists of the following component libraries:
strftime-style parsers and formatters.
The Swim Mesh framework implements a multiplexed streaming WARP client that runs in both Node.js and web browsers. Swim Mesh consists of the following component libraries:
The Swim UI framework implements a massively real-time user interface toolkit, with a unified view hierarchy for HTML, SVG, and Canvas components, animated procedural styling, and constraint-based layouts. Swim UI consists of the following component libraries:
The Swim UX framework implements seamlessly animated user interface widgets, including gauges, pie charts, line, area, and bubble charts, and geospatial map overlays. Swim UX consists of the following component libraries:
The Swim Web framework implements a thin web application framework built on the Swim UI toolkit. Swim Web consists of the following component libraries:
For an npm-managed project,
npm install @swim/system to make it a dependency.
TypeScript sources will be installed into
node_modules/@swim/system/lib/main. And a pre-built UMD script, which
bundles all @swim/system child frameworks, can be found in
Browser applications can load
swim-system.js directly from the swimOS CDN.
swim-system.js bundle is self-contained; it supersedes
need not be loaded when using
<!-- Development --> <script src="https://cdn.swimos.org/js/latest/swim-system.js"></script> <!-- Production --> <script src="https://cdn.swimos.org/js/latest/swim-system.min.js"></script>
@swim/system can be imported as an ES6 module from TypeScript and other
ES6-compatible environments. All child framework libraries are re-exported
by the umbrella
import * as swim from "@swim/system";
@swim/system can also be used as a CommonJS module in Node.js applications.
All child framework libraries are re-exported by the umbrella
var swim = require("@swim/system");
When loaded by a web browser, the
swim-system.js script adds all child
framework exports to the global