finds.dev← search

// the find

Azure/iot-edge-v1

★ 518 · C · NOASSERTION · updated Oct 2020

Azure IoT Edge

Azure IoT Edge V1 is the original gateway SDK for connecting IoT devices to Azure IoT Hub. It runs a message broker in C with a plugin architecture that lets you write modules in C, Java, Node.js, or .NET. This is the legacy version — V2 (container-based) is the active product.

The multi-language binding support is genuinely well-engineered: the C core exposes a clean module interface and each binding (Java JNI, .NET P/Invoke, Node.js V8 embedding) has its own devdoc with HLD and requirements docs, which is more design documentation than most embedded SDKs bother with. The message broker using a pub-sub pattern with properties-based routing gives you real flexibility without a full MQTT stack. The out-of-process module support (visible in the gateway_oop diagrams) lets you isolate modules that crash. CMake build across Linux and Windows with per-platform adapters is solid for a C project of this complexity.

Dead project — last push October 2020, README explicitly points you to V2. If you're starting a new IoT project, building on this is choosing technical debt from day one. The .NET binding targets the old full framework (csproj style, packages.config), not .NET Core or modern .NET — the dotnetcore binding exists but is a separate, bolted-on path. JSON-based gateway config means your module topology is stringly-typed with no schema validation. No container support at all; V1 assumes you can run native processes on the device, which is increasingly a wrong assumption for modern edge deployments.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →