Everything created on top of a foundation operates together within the same framework. As such, each platform has its own set of rules, standards, and restrictions that dictate what hardware/software can be built and how each should work. Hardware platforms can be:

Entire systemsIndividual componentsInterfaces

Versus hardware platforms, software platforms are more extensive, yet easier to relate to by users. It makes sense, given that we interact more commonly with software/apps, even though hardware (e.g. mice, keyboards, monitors, touchscreens) helps bridge the gap. Software platforms fall under the general categories of:

System softwareApplication software

Entire Systems

Hardware platforms can be entire systems (i.e. computing devices) such as mainframes, workstations, desktops, laptops, tablets, smartphones, and more. Each of these represents a hardware platform because each has its own form factor, operates independently of other systems, and is capable of providing resources or services (e.g. running software/apps, connecting to devices/internet, etc.) to users, especially ones not anticipated by the original design.

Individual Components

Individual components, such as the central processing unit (CPU) of computers, are also considered hardware platforms. CPUs (e.g. Intel Core, ARM Cortex, AMD APU) have distinct architectures which determine the operation, communication, and interaction with other components that make up an entire system. To illustrate, consider the CPU as the foundation that supports a motherboard, memory, disk drives, expansion cards, peripherals, and software. Some components may or may not be interchangeable with each other, depending on the type, form, and compatibility.

Interfaces

Interfaces, such as PCI Express, Accelerated Graphics Port (AGP), or ISA expansion slots, are platforms for the development of different types of add-on/expansion cards. Different interface form factors are unique, so, for example, it’s not physically possible to insert a PCI Express card into an AGP or ISA slot — remember that platforms set the rules and restrictions. The interface also provides communication, support, and resources to the attached expansion card. Examples of expansion cards that use such interfaces are video graphics, sound/audio, networking adapters, USB ports, serial ATA (SATA) controllers, and more.

System Software

System software is what controls the computer by executing simultaneous processes while managing/coordinating multiple hardware resources in conjunction with application software. The best examples for system software are operating systems, such as (but not limited to) Windows, macOS, Linux, Android, iOS, and Chrome OS. The operating system serves as a platform by providing an environment that supports user interaction through interfaces (e.g. monitor, mouse, keyboard, printer, etc.), communication with other systems (e.g. networking, Wi-Fi, Bluetooth, etc.), and application software.

Application Software

Application software includes all of the programs that are designed to accomplish specific tasks on a computer — most are not considered as platforms. Common examples of non-platform application software are image editing programs, word processors, spreadsheets, music players, messaging/chat, social media apps, and more. However, there are some types of application software that are also platforms. The key is whether or not the software in question serves as support for something to be built upon it. Some examples of application software as platforms are:

Web browsers — (e.g. Chrome, Safari, Internet Explorer) are platforms for other forms of software, such as third-party plug-ins/extensions or themes. Social media sites — such as Facebook, serve as platforms when supporting external applications, tools, and/or services that interact with the site’s core features. This applies to both the website as well as the mobile app version.Video games — that support mods (via the game’s editor) are also considered platforms. Video game mods use the existing video game engine as the foundation for creating user-designed maps/levels, characters, objects, or even an entire stand-alone game. 

Video Game Consoles

Video game consoles are great examples of hardware and software combined together as a platform. Each console type acts as a base that supports its own library of games physically (e.g. an original Nintendo cartridge isn’t compatible with any later versions of Nintendo gaming systems) and digitally (e.g. despite both being a disc format, a Sony PS3 game will not work on the Sony PS4 system due to software/programming language).