SDKs
Which SDK should I use?
All SDKs aim for functional parity, so the decision should be primarily motivated by either the tech stack available for the product or the developers’ preexisting knowledge with a technology.
For new products that aren’t bound to a technology yet, we recommend the .NET SDK or the JS SDK as their usage is easier than the C++ SDK and thus the time to market might be lower for your team.
What are the differences between the SDKs, and what is the SST SDK?
“SST” is the legacy WinGuard term for a device adapter Module (from the German Schnittstelle). The SST SDKs (C++ SST SDK and .NET SST SDK) are specifically designed for building device adapters and provide high-level abstractions over the raw IPC protocol:
- Object and Activity management
- State and Event synchronization
- XML-defined object model loading
- Automatic connection handling and threading
The C++ SST SDK is recommended when external libraries required by the integration are C/C++-based or have a C binding.
The .NET SST SDK (C#) is the most popular choice due to the more approachable language and rich ecosystem.
The JS AOP SDK is a general-purpose AOP client SDK, suitable for web-based clients and light integrations, but does not include device adapter-specific abstractions.
There is also a general .NET AOP SDK for non-adapter AOP client/extension development.
→ See SDK overview and SDK links.
Can I use the raw IPC API without an SDK?
Yes. The SDKs are built on top of the documented WebSocket IPC protocol, and it is fully possible to implement an AOP Module without any SDK. You would need to:
- Implement the two-step connection handshake (HTTP
/connect+ WebSocket upgrade). - Construct and parse JSON-RPC-style messages manually.
- Implement JWT signing for authentication.
- Handle connection lifecycle, reconnection, threading, and Skill negotiation yourself.
This is only advisable when no SDK exists for your target language or runtime. For any mainstream environment, using an SDK significantly reduces development time and complexity.
→ See WebSocket IPC and Licensing for the raw protocol and authentication reference.