There are various resources available to build Web of Things applications. These are libraries, ready-to-use software, services or SDKs, which can be used in different stages of development or for development needs and are grouped below.
Tools for editing, validating, and parsing Thing Descriptions in various programming environments
| Name | Description | Languages |
|---|---|---|
| Thing Description Playground | Browser application for validating and designing W3C Thing Descriptions and Thing Models. | JavaScript |
| Eclipse edi{TD}or | Eclipse ediTDor - A tool for simply designing W3C Thing Descriptions | TypeScript |
| TD-code | VS Code extension for validating and designing W3C Thing Descriptions and Thing Models. | TypeScript |
| Eclipse Ditto :: WoT :: Model | This module contains a W3C WoT (Web of Things) Java model following the Web of Things (WoT) Thing Description 1.1 | Java |
| Java API for Thing Descriptions of WoT (JDTs) | Java API for Thing Descriptions of the Web of Things | Java |
| wot-td (Obsolete) | Rust crate to produce and consume Web Of Things Thing Descriptions | Rust |
| Golang ThingDescription | This is a Golang package containing all structs to represent a ThingDescription in code and also to serialize and deserialize it. | Go |
| tmtd | Transpiling thing-model to thing-descriptions | Go |
| Wot-DTDL-Converter | A two way converter for TM and DTDL files | C# |
Libraries implementing a WoT Runtime for building Things according to WoT paradigms
| Name | Description | Languages |
|---|---|---|
| Eclipse Thingweb node-wot | A fast and extensible framework to connect any device with your browser and backend applications | TypeScript |
| Eclipse Ditto :: WoT | This module contains models and implementation of the W3C “Web of Things” (WoT) integration of Eclipse Ditto | Java |
| SANE Web of Things Servient | This project contains an implementation of the W3C Web of Things (WoT) architecture written in Java | Java |
| wot-serve (Obsolete) | Web of Things (WoT) Thing server | Rust |
| wotpy | wotpy is an experimental asynchronous implementation of a W3C Web of Things runtime | Python |
Libraries implementing a WoT Runtime for consuming Things and building custom applications
| Name | Description | Languages |
|---|---|---|
| Eclipse Thingweb node-wot | A fast and extensible framework to connect any device with your browser and backend applications | TypeScript |
| Node generator for Node-RED | Command line tool to convert Node-RED function node, Swagger document, or WoT Thing Description to a custom Node. | JavaScript |
| dart_wot | Framework to build Web of Things applications in Dart and Flutter. | Dart |
| SANE Web of Things Servient | W3C Web of Things implementation for Java | Java |
| kotlin-wot | A Framework for implementing Web of Things in Kotlin | Kotlin |
| WoT.Net | A .Net Standard 2.0 WoT Consumer Implementation | C# |
| wotpy | wotpy is an experimental asynchronous implementation of a W3C Web of Things runtime | Python |
Services hosting a Thing Description Directory implementing the W3C WoT Discovery specification
| Name | Description | Languages |
|---|---|---|
| TinyIoT Thing Directory | W3C WoT Thing Description Directory (TDD) | Go |
| WoT Hive | This implementation is compliant with the standard specification but aims at providing enriched features thanks to the usage of other W3C standards related to Semantic Web technologies. | JavaScript |
| Domus TDD API | Semantic storage for device metadata based on W3C Thing Description information model | Python |
| wot-discovery (Obsolete) | Tiny implementation of WoT Discovery | Rust |
| Zion | Zion employs the best open-source technologies to provide a scalable TDD service | TypeScript |
Tools aiding WoT application development with user interfaces and other utilities
| Name | Description | Languages |
|---|---|---|
| WoT Application Manager | WoT Application Manager - a CLI to quickly build a Web of Things application. | TypeScript |
| WoT Wrench | A web app to control Web of Things devices | TSX |
| Thing Model Catalog CLI | A CLI Client for ThingModel Catalogs | Go |
| Thing Control Panel | visual admin client for Things compliant with W3C WoT, like a control panel, to test or interact with a server that has no GUI. Based on material design. | TypeScript |
| BLAST | Block Applications For Things | JavaScript |
| W-ADE | Wade is an API development environment for Web of Things that was designed for the W3C WoT building blocks | TypeScript |
| wot-fxui (Obsolete) | Desktop, mobile, and browser UI for interacting with Things via TDs | Java |
Deployable software providing functions like gateway, proxying, simulation, and testing
| Name | Description | Languages |
|---|---|---|
| sayWoT! | Industrial-grade implementation integrating devices into Siemens software | No-Code |
| Web of Things Test Bench | Thing Description based testing framework based on eclipse-thingweb/node-wot | TypeScript |
| WebThings Gateway | WebThings Gateway - a self-hosted web application for monitoring and controlling a building over the web | TypeScript |
| UA Edge Translator | An industrial connectivity edge application translating from proprietary protocols to OPC UA leveraging the W3C Web of Things (WoT) thing descriptions. | C# |
| VO-WoT | VO-WoT is an experimental implementation of a W3C WoT Runtime and the W3C WoT Scripting API in Python. | Python |
| WoT Anything | Web of Things server to integrate APIs or lots of virtual things | TypeScript |
| Shadow Thing | Creates and deploys a virtual Web of Things servient based on its Thing Description | TypeScript |
Publicly accessible Things for testing Consumer applications and learning TD communication
| Name | Description | Languages |
|---|---|---|
| Eclipse Thingweb - Online Things for Testing | Publicly accessible test Things hosted by Eclipse Thingweb | |
| Thing Model Catalog Repository | W3C Thing Models for Products |
| Name | Description | Languages |
|---|---|---|
| Eclipse AASX Package Explorer | AASX Package Explorer | C# |
| Eclipse LMOS | Open-source, cloud-native platform for Multi-Agent systems | |
| WoTify | Repository of Devices that can be WoT Enabled | Vue |
* Tools with developer activity older than 2 years are marked as obsolete.