Platform (computing)
Encyclopedia
A computing platform includes some sort of hardware architecture
and a software framework
(including application framework
s), where the combination allows software
, particularly application software
, to run. Typical platforms include a computer's architecture
, operating system
, programming language
s and related user interface (run-time system
libraries or graphical user interface
).
A platform is a crucial element in software development. A platform might be simply defined as a place to launch software. The platform provider offers the software developer
an undertaking that logic code will run consistently as long as the platform is running on top of other platforms. Logic code includes bytecode
, source code
, and machine code
. It actually means execution of the program is not restricted by the type of operating system provided. It has mostly replaced the machine-independent languages.
Some software platforms emulate entire hardware platforms - as in virtualization
.
, and the Common Language Infrastructure
(CLI).
language. Java source code is "compiled" to an intermediate-language bytecode
which is then interpreted by an interpreter, the Java Virtual Machine
(JVM), which then interfaces that program with the Java software libraries. In smartphone
s, personal digital assistant
s (PDAs) and other wireless mobile devices, these libraries are the Java ME. Some phones, even without a full operating system, enable Java programs such as games to operate. Java and the bytecode are said to be platform-independent. But this is because Java is the platform as well as a programming language. Software really cannot operate without a platform or be platform independent. The programming language is referred to here, meaning the programmer need not be concerned about the hardware or operating system platform, nor will the language change with a different platform.
's integrated technology computing platform and is the technical foundation for many SAP applications since the SAP Business Suite. SAP NetWeaver is marketed as a service-oriented
application and integration
platform. SAP NetWeaver provides the development and runtime environment for SAP applications and can be used for custom development and integration with other applications and systems. SAP NetWeaver is built using primarily the ABAP
programming language, but also uses C (programming language)
, C++
, and Java EE. It also employs open standards and industry de facto standards and can be extended with, and interoperate with, technologies such as Microsoft
.NET, Java EE, and IBM
WebSphere
.
Hardware architecture
In engineering, hardware architecture refers to the identification of a system's physical components and their interrelationships. This description, often called a hardware design model, allows hardware designers to understand how their components fit into a system architecture and provides...
and a software framework
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...
(including application framework
Application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment ....
s), where the combination allows software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....
, particularly application software
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
, to run. Typical platforms include a computer's architecture
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....
, operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
, programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
s and related user interface (run-time system
Run-time system
A run-time system is a software component designed to support the execution of computer programs written in some computer language...
libraries or graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
).
A platform is a crucial element in software development. A platform might be simply defined as a place to launch software. The platform provider offers the software developer
Software developer
A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...
an undertaking that logic code will run consistently as long as the platform is running on top of other platforms. Logic code includes bytecode
Bytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...
, source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
, and machine code
Machine code
Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...
. It actually means execution of the program is not restricted by the type of operating system provided. It has mostly replaced the machine-independent languages.
Some software platforms emulate entire hardware platforms - as in virtualization
Virtualization
Virtualization, in computing, is the creation of a virtual version of something, such as a hardware platform, operating system, a storage device or network resources....
.
Operating-system examples
- AmigaOSAmigaOSAmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...
, AmigaOS 4AmigaOS 4AmigaOS 4, , is a line of Amiga operating systems which runs on PowerPC microprocessors. It is mainly based on AmigaOS 3.1 source code, and partially on version 3.9 developed by Haage & Partner... - FreeBSDFreeBSDFreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
, NetBSDNetBSDNetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...
, OpenBSDOpenBSDOpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995... - LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
- Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
- Microsoft WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
- OS/2OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
- Solaris
- UnixUnixUnix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
- IBM VM/370, VM/BSEP, VM/SEP, VM/XA, VM/ESA, z/VMVM (operating system)VM refers to a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers. The first version, released in 1972, was VM/370, or officially Virtual Machine Facility/370...
- Google Chrome OSGoogle Chrome OSGoogle Chrome OS is a Linux-based operating system designed by Google to work exclusively with web applications. Google announced the operating system on July 7, 2009 and made it an open source project, called Chromium OS, that November....
Mobile
- Android
- BadaBadaBada is a South Korean K-pop singer. Her birth name is Choi Sung-hee. Bada studied Korean traditional vocal music at Dankook University. As the former lead vocal from the now defunct S.E.S., Bada has released three solo albums and two singles. Before the release of her third album, Bada started a...
- BlackBerry OSBlackBerry OSBlackBerry OS is a proprietary mobile operating system, developed by Research In Motion for its BlackBerry line of smartphone handheld devices...
- iOS
- Embedded LinuxEmbedded LinuxEmbedded Linux is the use of Linux in embedded computer systems such as mobile phones, personal digital assistants, media players, set-top boxes, and other consumer electronics devices, networking equipment, machine control, industrial automation, navigation equipment and medical instruments...
- Palm OSPalm OSPalm OS is a mobile operating system initially developed by Palm, Inc., for personal digital assistants in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management...
- SymbianSymbianSymbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...
- WebOS
- Windows MobileWindows MobileWindows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...
Software framework examples
- Adobe AIR
- Java, JDK and JRE
- MonoMono (software)Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....
- Mozilla PrismMozilla PrismMozilla Prism is a product which integrates web applications with the desktop, allowing web applications to be launched from the desktop and configured independently of the default web browser. As of November 2010, Prism is listed as an inactive project at the Mozilla labs website.Prism is based...
XULXULIn computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...
and XULRunnerXULRunnerXULRunner is a runtime environment developed by the Mozilla Foundation to provide a common back-end for XUL-based applications. It replaced the Gecko Runtime Environment, a stalled project with a similar purpose.... - .NET Framework.NET FrameworkThe .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
- Oracle DatabaseOracle DatabaseThe Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
- Steam
- VexiVexiThe Vexi project is an international effort to create an easy-to-use platform for the development and delivery of Internet application interfaces outside of the standard browser stack. It has similarities with XUL but runs on top of the Java stack, making it browser independent.-Origins:Sometime...
Mobile
- APOXI
- Binary Runtime Environment for WirelessBinary Runtime Environment for WirelessBrew is an application development platform created by Qualcomm, originally for CDMA mobile phones, featuring third party applications such as mobile games. It is offered in some feature phones but not in smart phones...
(BREW) - Java Platform, Micro EditionJava Platform, Micro EditionJava Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...
(Java ME) - JavaFX MobileJavaFX Mobile-Overview:JavaFX Mobile applications can be developed in the same language, JavaFX Script, as JavaFX applications for browser or desktop, and using the same tools: JavaFX SDK and the JavaFX Production Suite. This concept makes it possible to share code-base and graphics assets for desktop and...
- Qt
- Smartface PlatformSmartfaceSmartface Platform is drag-and-drop cross-platform mobile application development and management tool from Mobinex, and first released on 2006. Smartface Designer, the component of Smartface Platform enables visual development of mobile applications with drag-and-drop actions and interactive wizards...
.NET
The umbrella-term .NET applies to a wide set of products and technologies from Microsoft. Most have in common a dependence on the Microsoft .NET Framework.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
, and the Common Language Infrastructure
Common Language Infrastructure
The Common Language Infrastructure is an open specification developed by Microsoft and standardized by ISO and ECMA that describes the executable code and runtime environment that form the core of the Microsoft .NET Framework and the free and open source implementations Mono and Portable.NET...
(CLI).
Java
The Java platform runs programs written in the JavaJava (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
language. Java source code is "compiled" to an intermediate-language bytecode
Bytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...
which is then interpreted by an interpreter, the Java Virtual Machine
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
(JVM), which then interfaces that program with the Java software libraries. In smartphone
Smartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...
s, personal digital assistant
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...
s (PDAs) and other wireless mobile devices, these libraries are the Java ME. Some phones, even without a full operating system, enable Java programs such as games to operate. Java and the bytecode are said to be platform-independent. But this is because Java is the platform as well as a programming language. Software really cannot operate without a platform or be platform independent. The programming language is referred to here, meaning the programmer need not be concerned about the hardware or operating system platform, nor will the language change with a different platform.
SAP NetWeaver
SAP NetWeaver is SAPSAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...
's integrated technology computing platform and is the technical foundation for many SAP applications since the SAP Business Suite. SAP NetWeaver is marketed as a service-oriented
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...
application and integration
Enterprise application integration
Enterprise Application Integration is defined as the use of software and computer systems architectural principles to integrate a set of enterprise computer applications.- Overview :...
platform. SAP NetWeaver provides the development and runtime environment for SAP applications and can be used for custom development and integration with other applications and systems. SAP NetWeaver is built using primarily the ABAP
ABAP
ABAP , is a high-level programming language created by the German software company SAP...
programming language, but also uses C (programming language)
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, and Java EE. It also employs open standards and industry de facto standards and can be extended with, and interoperate with, technologies such as Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
.NET, Java EE, and IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
WebSphere
WebSphere
IBM WebSphere refers to a brand of computer software products in the genre of enterprise software known as "application and integration middleware". These software products are used by end-users to create applications and integrate applications with other applications...
.
Hardware examples
Ordered roughly, from more common types to less common types:- Commodity computingCommodity computingCommodity computing is to use large numbers of already available computing components for parallel computing to get the greatest amount of useful computation at low cost. It is computing done in commodity computers as opposed to high-cost supermicrocomputers or boutique computers...
platforms- WintelWintelWintel is a portmanteau of Windows and Intel, referring to personal computers using Intel x86 compatible processors running Microsoft Windows...
, that is, Intel x86 or compatible hardwareHardwareHardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....
with WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
operating system - ARM architectureARM architectureARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...
used in mobile devices- GumstixGumstixGumstix is a company founded in 2003 by Gordon Kruberg that produces small single-board computers. The name Gumstix refers to the size of the first such computer being the approximate size of a stick of gum....
full function miniature computers with LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
- Gumstix
- x86 with Unix-likeUnix-likeA Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
systems such as BSDBerkeley Software DistributionBerkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
variants - CP/MCP/MCP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...
computers based on the S-100 bus, maybe the earliest microcomputerMicrocomputerA microcomputer is a computer with a microprocessor as its central processing unit. They are physically small compared to mainframe and minicomputers...
platform
- Wintel
- Video game consoleVideo game consoleA video game console is an interactive entertainment computer or customized computer system that produces a video display signal which can be used with a display device to display a video game...
s, any variety - MacintoshMacintoshThe Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...
, custom Apple Computer hardware and Mac OSMac OSMac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
operating system, now migrated to x86- NewtonNewton (platform)The Newton platform was an early personal digital assistant and the first tablet platform developed by Apple, the second platform being iOS, used in the iPhone, iPod Touch and iPad. Development of the Newton platform started in 1987 and officially ended on February 27, 1998. Some electronic...
devices running the Newton OSNewton OSNewton OS was the operating system for the Apple Newton PDAs produced by Apple from 1993-1997. Newton OS was written entirely in C++ and trimmed to be low power consuming and use the available memory efficiently...
, also from Apple
- Newton
- RISC processor based machines running Unix variants
- SPARCSPARCSPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....
architecture computers running Solaris operating systems - DEC AlphaDEC AlphaAlpha, originally known as Alpha AXP, is a 64-bit reduced instruction set computer instruction set architecture developed by Digital Equipment Corporation , designed to replace the 32-bit VAX complex instruction set computer ISA and its implementations. Alpha was implemented in microprocessors...
clusterCluster ComputingCluster Computing: the Journal of Networks, Software Tools and Applications is a journal for parallel processing, distributed computing systems, and computer communication networks....
running OpenVMSOpenVMSOpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
- SPARC
- Midrange computerMidrange computerMidrange computers, or midrange systems, are a class of computer systems which fall in between mainframe computers and microcomputers.The class emerged in the 1960s and machines were generally known at the time as minicomputers - especially models from Digital Equipment Corporation , Data General,...
s with their custom operating systems, such as IBM OS/400OS/400IBM i is an EBCDIC based operating system that runs on IBM Power Systems. It is the current evolution of the operating system named i5/OS which was originally named OS/400 when it was introduced with the AS/400 computer system in 1988.... - Mainframe computerMainframe computerMainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...
s with their custom operating systems, such as IBM z/OSZ/OSz/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8... - SupercomputerSupercomputerA supercomputer is a computer at the frontline of current processing capacity, particularly speed of calculation.Supercomputers are used for highly calculation-intensive tasks such as problems including quantum physics, weather forecasting, climate research, molecular modeling A supercomputer is a...
architectures
See also
- Application programming interfaceApplication programming interfaceAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
- Compatibility layerCompatibility layerA compatibility layer is a term that refers to components that allow for non-native support of components.In software engineering, a compatibility layer allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system...
- Just-in-time compilationJust-in-time compilationIn computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...
- Platform technologyPlatform technologyPlatform technology is a term for technology that enables the creation of products and processes that support present or future development. It establishes the long-term capabilities of research & development institutes....