A software platform is software that is built to work on a specific kind of hardware. A Software platform could also refer to the particular type of hardware that a software was designed for.
Software platforms are the digital environmental environments that other software run on.
There are different types of computer hardware and they can be classed based on size, mobility and portability as well as the type of architecture used.
In terms of sizes, there are giant mainframe computers and server computers that can fill up entire rooms and are immobile. There are also Personal Computers like desktops that are non-portable and immobile, and laptops that are mobile with some degree of portability. Finally you have smartphones, tablets and PDAs which are small and highly mobile.
On the architecture side of things, the two main competing architectures today are Intel’s x86-64 and ARM (R.I.P. Power PC). These architectures are the two main computing platforms available for developers today.
Different developers/programmers build software for either or both of these platforms. Apps made for one platform will not work natively for the other e.g. the Adobe premiere app for PC (x86-64) will not work for mobile (ARM) while Candy crush for mobile will not work on PC. For short, both platforms are not compatible with one another.
Read: Stages of software development
As a result, software developers have to build apps separately not just for these two competing platforms but also for the different computers under these two platforms based on size. For example, despite the fact that tablets and smartphones are both mobile devices, their apps can sometimes be different. A good example of such an app is Football Manager for android mobiles and Football Manager touch for tablets.
The major software platforms are:
PC platform (x86-64)
This platform is made up of desktop, laptop and server computers. They have CISC hardware and usually carry out heavy tasks. Examples of software used for this platform include: Windows (Microsoft), Linux (open sourced), MacOS (Apple), ChromeOS (Google) etc.
Mobile platform (ARM)
This platform is dominated by smartphones and tablets as PDAs are going extinct. They generally use ARM’s RISC architecture and are quite powerful. With that being said, their power pales in comparison to PCs but they are more power efficient and tend to heat less. Here we can find Android, iOS, Harmony OS, Windows, Symbian etc. Android and iOS are the major platforms for mobile devices.
Read: ARM SoCs explained
Consoles
Video game consoles since the last generation have all used x86-64 architecture. They are also seriously powerful. The main players here are Playstation (Sony), Xbox (Microsoft) and Switch (Nintendo). The software used on these systems are mostly proprietary and are incompatible with each other.
Mainframe
These are software designed for giant super computers that fill up an entire room.
Embedded systems
Embedded systems are not strictly a software platform by itself. It only refers to the different types of software or firmware that are coded (written, embedded) into the hardware of devices like digital cameras, MP3 players, smartwatches and bands, TWS earphones etc.
Cross platform software
Cross platform software can be defined as software that is usable on multiple computing platforms. It is also known as multiplatform software.
For software to be considered as cross-platform, it must be able to function on more than one computing platform or operating system. This is very difficult because each software platform has different API requirements for software integration as well as differing hardware as well. This makes it impossible to install software from one platform onto another platform.
The only cross-platform software today are web apps or web software such as HTML, Java Script and CSS. This is because they work on all devices regardless of platform or hardware.
In other to combat the challenges posed by different platforms and hardware, some software developers hire large teams of programmers and get them to write the same software for different platforms so as to ensure compatibility. This however does not make such software a cross-platform software as PES for Playstation will not work on either PC or Mobile.
Thank you for reading to the end. As always, ensure to check out our links for more information and…
- Subscribe to my YouTube channel
- Follow on Facebook
- Join our Telegram community
- Participate on Reddit
- Find us on Quora