API and SDK. These two abbreviations usually say nothing for regular users who are used to turnkey solutions such as computer software or applications. However, in the case of programmers, they have to be and are familiar with both API and SDK. This knowledge comes particularly handy for those who have to integrate solutions like automatic number/license plate recognition ‘software’ that, in most cases, come in the form of an API. Or is it an SDK?
Since these terms are strongly related to each other, they are often confused and used as synonyms. However, there is a clear distinction between API and SDK. This article will pinpoint the key differences and also show you how they are related to license plate recognition.
API vs. SDK
API
API stands for Application Programming Interface. It is a series of functions that the application program can use to make, in our case, the Automatic Number Plate Recognition (ANPR, also known as LPR for License Plate Recognition) engine does the recognition. It provides an interface between the application processes and license plate recognition’s core image recognition tasks.
However, unlike regular user interfaces, which connect computers to people (the end-user), an application programming interface connects computers or pieces of software. They are intended to be used by programmers/integrators. They are often created in such a way that the inner workings of the system stay hidden, only exposing those parts programmers find useful. These are usually kept consistent even if the internal details change.
Oftentimes, APIs are offered on their own, but there are certain instances when developers receive documentation with the API to better understand its workings and what could be done with it.
SDK
To work with an API—to develop applications using its functions—software developers need proper documentation, sample codes, and program tools. The collection of these is what we call SDK or Software Development Kit. Everything developers need to write, build, test, and deploy, for instance, license plate recognition-enabled applications, are included in these SDKs, usually in one installable package. In simpler words, developers get a complete package to create their own, tailor-made software with the desired functionalities.
A crucial part of SDKs is the documentation of the API. The documentation contains the exact description of the API’s definitions, functions, and variables so that integrators can perform the necessary modifications without tampering with the core functionalities of the solution.
Still Confused?
As Nordic APIs pointed out, the reason for the confusion is that API and SDK are extremely overlapped, especially nowadays when new methodologies for organization and segmentation are added to the mix every year.
It’s like how we were told in biology class: all bugs (API) are part of a bigger family—insects (SDK)—but not all insects are bugs. And still, in everyday language, we sometimes call insects bugs.
As such, when it comes to making the crucial distinction between APIs and SDKs, it’s best to remember the following:
- APIs are usually included in SDKs, but SDKs aren’t part of APIs
- SDK acts as the foundation of a house, allowing programmers to create applications
- API, like a house’s electrical lines, allows for the functioning of applications within the SDK’s defined parameters.
ANPR: The Software That Isn’t Software
In the world of automatic number plate recognition (ANPR), there are many solutions to satisfy various customer needs. Companies like Adaptive Recognition offer license plate recognition solutions in the form of turnkey ANPR software like Carmen® Go, cloud-based SaaS, and even an ANPR mobile application for those who wish to have license plate recognition right away without the lengthy integration work. However, there is a very good reason why, in most cases, solutions like Carmen® FreeFlow are offered as software libraries instead of turnkey software: it’s in the client’s interest.
If we think about it, automatic license plate recognition is “just” a building block in a complex system. Having full-fledged ANPR/LPR software provides many advantages—especially in functionalities—but adapting it takes more time and effort from integrators—and there is still no guarantee that integration will go through as planned. As such, it’s easier to have an ANPR SDK that integrators can seamlessly insert into new or existing systems, and even try our free LPR software. The SDK has all the information they need to know about the major functionalities of the API, after which they can make the necessary modifications—without compromising core ANPR functionalities.
For this reason, Carmen® FreeFlow is offered for applications running on C, C++, C#, Java, and VB.NET on Windows, and C, C++, and Java on Linux. Integrators are also treated with a feature-rich SDK and two demo applications to test out different features and see the workings of ANPR in action.
Got any questions or inquiries? We’re here to support you every step of the way: