What a non techie should know about SDKs (Part?I)

What a non techie should know about SDKs (Part?I)

These are awesome bits of software that help developers create your favorite apps faster!

What are SDKs and how do they?work?

  • SDKs (software development kits) are pretty awesome — they are a collection of software development tools in one installable package; and establish a foundation to help developers create, test and deploy applications leveraging pre-built assets
  • SDK tools will include a range of things — including libraries, documentation, editors, code samples, processes, dev/runtime environments, testing/analysis tools and guides that developers can use and integrate into their own apps

They are typically designed to be used for specific platforms (hardware or OS) or specific programming languages

In a nutshell:

Think of it kind of like a toolkit, or the plastic bag of tools that comes packaged with the parts of a dresser you’ve bought to assemble yourself — only for app development. You have the building blocks — or development tools — you need to get the job done, and what’s included in the kit varies from manufacturer to manufacturer
No alt text provided for this image

How about an?example:

Some SDKs are required for developing a platform-specific app

  • For example, the development of an Android app on the Java platform requires a Java Development Kit
  • For iOS applications, the iOS SDK is required
  • For Universal Windows Platform, the?.NET Framework SDK might be used

Apart from these platform specific examples, there are also SDKs that add additional features and can be installed in apps to provide analytics, data about application activity, and monetization options

No alt text provided for this image

Above is a screenshot of the Android SDK installation process

So, why build and use SDKs,?anyway?

  • They allow developers to add functionality to their applications and enable them to build the standard components of their apps easier and faster
  • SDKs are usually all-in-one products and don’t need to be integrated with other components, which can slow down the development process.
  • Use cases can vary from simple functions, such logging in, location services and mobile payments — all the way to AR and VR capabilities.

If you are a product manager for an SDK, remember than your primary stakeholders are developers

And what would developers love?

SDKs that have clear documentation, are easy to use, integrate well with the larger SDK ecosystem, do not negatively impact hardware resources, and above all — have a key functional value proposition

How are SDKs different from?APIs?

No alt text provided for this image

APIs can be thought of as individual recipes, that would help you make a dish.

  • It is a set of programming instructions that can be used when accessing an online application or database
  • The good thing is, a lot of companies make their recipes (APIs) available online; so that developers can use them to make their dish easily
  • And if one wants to incorporate other recipes in the dish, that can be compared to incorporating different APIs into your application to provide different features

But -

  • Sometimes you don’t feel like making a dish from scratch; or you just want to build the next killer app which has a lot more complexity baked in;
  • In which case, a premade mix for the dish (SDK), would provide you with the main ingredients, already measured out, and only requires you to add one or two additional ingredients before you cook and serve
  • It provides you with all the tools, including pieces of code, that you need to build a product or application; And just as premade mixes also come in a lot of different varieties and flavors for everything from cupcakes to pancakes, each SDK is a toolset that has been created in a specific programming language for a specific platform and is made to interact with the underlying services

Without either, you would need to start at the beginning and write the code for your project! I mean…who does that?anymore?

In a nutshell:

  • SDKs usually contain APIs, but APIs do not contain SDKs
  • SDKs enable developers to create applications and act as the building blocks for your software solution
  • APIs enable the function of applications within the parameters of the SDK with which they are bundled
  • Although an API can be used for the communication, it can’t be used to create new applications

Sachchit Chaudhary??

Co-Founder, BabyVerse

3 年

Like this series, following.

Robby Thomas

Data in Motion | Confluent | Solutions Engineer

3 年

This is really nice. Following.

要查看或添加评论,请登录

Thomas Varghese的更多文章

社区洞察

其他会员也浏览了