Forum Discussion

DangNH's avatar
DangNH
Copper Contributor
Sep 04, 2020

Why there are 2 azure iot C sdks?

I found 2 azure iot sdk for C on github.

azure-iot-sdk-c: https://github.com/Azure/azure-iot-sdk-c

azure-sdk-for-c: https://github.com/Azure/azure-sdk-for-c

Why there are 2 azure iot C sdks?

What is difference between 2 C sdks?

How to choose C sdk for development(azure-iot-sdk-c or azure-sdk-for-c)?

 

3 Replies

    • DangNH's avatar
      DangNH
      Copper Contributor

      Israr_2020 2 sdks provide difference APIs. If I develop application on Linux PC using "Azure IoT C SDK" to connect to Azure IoT services, later I want to move to small embedded IoT device. I have to re-implement code to to connect to Azure IoT services using "Azure SDK for Embedded C". Is it correct?

      • wduraes's avatar
        wduraes
        Former Employee

        Hi DangNH , as Israr_2020  said, the Embedded C SDK is focused on constrained devices (normally based on microcontrollers). For non-constrained devices C SDK is also a good choice. Your correct on your assumption: an application created for C SDK will require some re-work to be migrated over the Embedded C SDK as their underlying architecture designs are different. If you anticipate a need for constrained devices in the future, you should consider leveraging the Embedded C SDK as it's modular approach will make it simpler to enable different device configurations. 

Resources