What’s the difference between a platform and framework? How do APIs and SDKs fit in? What do libraries contain?
When we deal with the topic of online commerce, we very often notice that there is confusion in the selection process for the right commerce solution for a company. This is not only on the business side, but also when we talk on a technical level.
Growing tech brings a growing number of terms
Out on the market, there are many providers of commerce solutions which are based on different technological approaches. If you look at the underlying technology stack, it can be quite confusing. Many products are referred to as standard shop systems, but “standards” in this area cannot be compared with standards in, for example, the automotive industry etc. One standard shop system is called a platform, another system is called a framework, yet others are API-based, and the confusion becomes even greater when the same system is sometimes called a platform and sometimes a framework.
In a comparison of online commerce solutions from Cyberday GmbH, a long-standing digital agency based in Germany, you can read for example “[…] commercetools, in turn, is to be understood as e-commerce-as-a-service, a platform or framework for commerce functions from the cloud. […]“. What is it then? A platform, a framework or something completely different? In a similar way, products from other providers are also sometimes referred to as a framework and sometimes as a platform.
Platform vs. framework vs. API vs. SDK vs. library
In the open source world, people think they know the term framework and what it stands for, but what if a “platform” uses one or more frameworks? Is it then still a platform or a combination of frameworks? Or does a combination of at least two frameworks transfer it into a platform? And how do APIs, SDKs and libraries fit in here? How exactly do these concepts define themselves and what does it look like under the hood? Is it possible to fully understand the topic without giving clear definitions for the terminologies and their underlying architectures and technologies?
If you look at this topic in depth, you will find that new questions are constantly being added.
Let us take a look at the term SDK. In the context of frameworks, the term SDK (software development kits) is almost always encountered. There are SDKs for frameworks, but also for platforms. However, SDKs have no use of their own and are only to be understood as aids or tools. The SDK for a commerce platform can consist of several components, one or more of them can also be frameworks.
When talking about the underlying architecture of modern commerce environments, we should, of course, not forget the term API. If we are using an API-driven, headless commerce solution, is it a platform or a framework, or perhaps something completely independent? And if I have an API-first architecture as a native cloud solution, can I even call it a platform or framework, or would it just be an API-driven environment?
Another commonly used term is library. There are many different interpretations of the word “library” among software developers. However, libraries must be clearly distinguished from SDKs and frameworks, so that a unique understanding of the individual terms and technologies is possible. Strictly speaking, the term “library” is used to describe a platform-specific software tool that leads to the provision of a specific API after installation. Conversely, SDKs are designed to use APIs only, and frameworks are agnostic to certain APIs.
Stay tuned to learn more
Understanding is the first key for you, as the excited user, in moving away from the old world of all-in-one commerce suites and migrating to a modern commerce solution that empowers and works with — not against — you. That’s why we’ve started this series where we will be taking a closer look at the topic of terminologies in today’s world of commerce. More importantly, we will take a detailed look at the terms platform, framework, API, SDK and library in the context of commerce solutions. As an introduction to this series, we recommend our top blog article Framework vs. Plattform, which deals with the topic on a less technical level.