ArticleslgStudy

computer science

Software development kit

Software development kit is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Software development kit rather than just read about it. In short: A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework.

Key takeaways

  • Software development kit belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Software development kit to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Software development kit from memory before moving on to harder problems.

Reference excerpt

A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to a hardware platform and operating system combination. To create applications with advanced functionalities such as advertisements, push notifications, etc., most application software developers use specific software development kits. 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 (apps) the iOS SDK is required. For Universal Windows Platform the .NET Framework SDK might be used. There are also SDKs that add additional features and can be installed in apps to provide analytics, data about application activity, and monetization options. Some prominent creators of these types of SDKs include Google, Smaato, InMobi, and Facebook.

Details An SDK can take the form of application programming interfaces in the form of on-device libraries of reusable functions used to interface to a particular programming language, or it may be as complex as hardware-specific tools that can communicate with a particular embedded system. Common tools include debugging facilities and other utilities, often presented in an integrated development environment. SDKs may include sample software and/or technical notes along with documentation, and tutorials to help clarify points made by the primary reference material. Platform SDKs may be distributed as multiple installable components rather than as a single monolithic package. For example, the Android SDK is composed of multiple packages required for app development, and its sdkmanager command-line tool can view, install, update and uninstall SDK packages. Microsoft's Windows SDK similarly includes platform headers, libraries, Windows Runtime metadata and build tools for developing Windows applications. SDKs often include licenses that make them unsuitable for building software intended to be developed under an incompatible license. For example, a proprietary SDK is generally incompatible with free software development, while a GNU General Public License'd SDK could be incompatible with proprietary software development, for legal reasons. However, SDKs built under the GNU Lesser General Public License are typically usable for proprietary development. In cases where the underlying technology is new, SDKs may include hardware. For example, AirTag's 2012 near-field communication SDK included both the paying and the reading halves of the necessary hardware stack. The average Android mobile app implements 15.6 separate SDKs, with gaming apps implementing on average 17.5 different SDKs. The most popular SDK categories for Android mobile apps are analytics and advertising. SDKs can be unsafe (because they are implemented within apps yet run separate code). Malicious SDKs (with honest intentions or not) can violate users' data privacy, damage app performance, or even cause apps to be banned from Google Play or the App Store. New technologies allow app developers to control and monitor client SDKs in real time. Providers of SDKs for specific systems or subsystems sometimes substitute a more specific term instead of software. For instance, both Microsoft and Citrix provide a driver development kit for developing device drivers.

Examples Examples of software development kits for various platforms include:

AmigaOS NDK Android NDK iOS SDK Java Development Kit Java Web Services Development Pack Microsoft Windows SDK VaxTele SIP Server SDK Visage SDK Windows App SDK Xbox Development Kit

See also Game development kit Widget toolkit

References

Worked examples

Example 1 — a first encounter with Software development kit

Start with the simplest possible case. Write down what Software development kit claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Software development kit before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Software development kit ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Software development kit

In research
Software development kit appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Software development kit in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Software development kit is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer libraries, Software development, Software development kits, so understanding it makes those chapters shorter.
In everyday life
Look for Software development kit outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Software development kit in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Software development kit means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Software development kit out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Software development kit in simple terms?

A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework.

Why does Software development kit matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Software development kit?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Software development kit.

Tags

  • Computer libraries
  • Software development
  • Software development kits

Keep exploring