Welcome

This site aims to be a comprehensive guide to Featherweight. We’ll cover topics such as integrating useful bits of Featherweight into your existing applications, diving deeper into applications and application components written using Featherweight Reference Designs, and general system design strategy and tactics applicable even outside of using the Featherweight libraries.

Helpful Hints

Throughout this guide there are a number of small-but-handy pieces of information that can make using Featherweight easier, more interesting, and less hazardous. Here’s what to look out for.

Protip

Nuggets of wisdom, clever tips, and idiomatic spiciness to take Featherweight to the next level.

Info

Tidbits and minutiae to add clarity.

Contribute

The parts of Featherweight in a particularly mutable state should be used with caution in production, but they are also the pieces over which you can have the most influence.

Heads up! FTW is weird here.

Featherweight tries to not be opinionated, unintuitive, or klunky, but sometimes it just is. Guidance from Warnings helps make sure your application doesn't 'splode by falling into common pitfalls.

Security and Robustness Considerations

These notices are designed to point out issues that could affect the robustness or security of your application. Mission-critical application domains are urged to heed guidance here, and consult an expert when you're not sure.

If you come across anything along the way that we haven’t covered, or if you know of a tip you think others would find handy, please file an issue and we’ll see about including it in this guide.

Highlights

Revolutionary Messaging

Queues, events, notifiers, TCP networking, pipes, WebSockets - all configurable at runtime in a single API.

FTW Sockets →

Free. Open Source.

Permissive MIT License is business-friendly, even for proprietary and commercial applications

Benefits of permissive license →

Actor-oriented reference design

Reference designs for creating successful simple applications up to distributed systems

FTW Actors →

Dynamic Typing

Natively a statically-typed language, FTW brings dynamic type containers to NI LabVIEW™.

Containers →

Interoperable

Bridges the gap between developers in other programming languages using interfaces you’re both comfortable with.

Crossing language barriers →

Cross-platform

Supports all high-level targets for systems development, and seamlessly move modules from one target to another.

Supported targets →

Write Less Code

Smaller diagrams means fewer bugs and less inertia to understanding other people’s code.

FTW Design Philosophy →

Rethinking Data Storage

Type-adapting native language binding maps wire types to SQLite, enabling powerful in-memory and persistent data structures.

FTW Sockets →

Page authors:

Jack R. Dunaway