Software Platform
A Software Platform is a software system that facilitates the creation of software system instances.
- AKA: IT Platform, Computing Platform, Digital Platform, Application Platform, Technology Platform, Software Solution Platform, IT Computing Platform.
- Context:
- It can typically provide Software Development Frameworks for software application building.
- It can typically support Software Process Tasks through software platform services.
- It can typically provide Software Tools needed to run software applications.
- It can typically enable Software Component Integration via software platform APIs.
- It can typically facilitate Software Deployment Processes across software environments.
- It can typically manage Software Resource Allocation through software platform runtimes.
- It can typically support Software Service Orchestration for software system coordination.
- It can typically enforce Software Platform Standards through software platform constraints.
- It can typically abstract Software Infrastructure Complexity through software platform layers.
- It can typically enable Software Multi-Tenancy Support through software platform isolation.
- It can typically require Platform Engineers for software platform operations.
- It can typically support Systems Programming Tasks through software platform interfaces.
- It can typically enable Platform-Based Customization Processes through software platform configuration.
- ...
- It can often include Software Development Tools for software lifecycle management.
- It can often provide Software Security Features for software platform protection.
- It can often enable Software Scalability Options through software resource management.
- It can often support Software Platform Extensions via software plugin architectures.
- It can often facilitate Software Platform Ecosystems of software developers and software vendors.
- It can often implement Software Version Control through software platform repositorys.
- It can often provide Software Monitoring Services for software platform observability.
- It can often enable Software Platform Migration through software portability features.
- It can often support Software Platform Integration with software third-party services.
- It can often incorporate 3rd-Party Software Platforms through software platform federation.
- It can often enable Cross-Platform Software development through software platform abstraction.
- It can often support Software System Configuration Change Testing Processes through software platform testing environments.
- ...
- It can range from being an On-Premise Software Platform to being an Internet-based Software Platform, depending on its software platform deployment model.
- It can range from being a Centralized Software Platform to being a Decentralized Software Platform, depending on its software platform architecture.
- It can range from being an Open-Domain Software Platform to being a Domain-Specific Software Platform, depending on its software platform application scope.
- It can range from being a Simple Software Platform to being a Complex Software Platform, depending on its software platform capability scope.
- It can range from being a Closed Software Platform to being an Open Software Platform, depending on its software platform extensibility model.
- It can range from being a Single-Tenant Software Platform to being a Multi-Tenant Software Platform, depending on its software platform tenancy model.
- It can range from being a Monolithic Software Platform to being a Microservices-Based Software Platform, depending on its software platform architectural modularity.
- It can range from being a Traditional Software Platform to being an AI-Native Software Platform, depending on its software platform computational paradigm.
- It can range from being a Single-Language Software Platform to being a Polyglot Software Platform, depending on its software platform programming language support.
- It can range from being a Low-Code Software Platform to being a Full-Code Software Platform, depending on its software platform development abstraction level.
- It can range from being a Proprietary Software Platform to being an Open-Source Software Platform, depending on its software platform licensing model.
- It can range from being a Stateless Software Platform to being a Stateful Software Platform, depending on its software platform state management.
- It can range from being a Consumer Software Platform to being an Enterprise Software Platform, depending on its software platform target market.
- It can range from being a General Computing Platform to being a Compute-Intensive Platform, depending on its software platform computational focus.
- ...
- It can provide Software Computing Hardware to run software systems.
- It can be based on a Software IT Framework.
- It can be guided by a Software Platform Architecture.
- It can integrate with Software Development Environments for software creation workflows.
- It can provide Software Runtime Environments for software execution.
- It can enable Software Platform Services through software platform layers.
- It can implement Software Platform Governance through software platform policys.
- It can support Software Platform Compliance with software regulatory requirements.
- It can facilitate Software Platform Analytics through software platform metrics.
- It can enable Software-based Computing Systems through software platform infrastructure.
- It can support Software Solution Stacks through software platform components.
- It can provide Computing Infrastructure for software platform workloads.
- ...
- Example(s):
- Business Software Platforms, such as:
- Business Application Software Platforms, such as:
- CRM Software Platforms, such as:
- ERP Software Platforms, such as:
- Contract Management Platform (CMP)s, such as:
- E-Commerce Platforms, such as:
- Enterprise Software Platforms, such as:
- Business Application Software Platforms, such as:
- Computing Software Platforms, such as:
- Operating System Software Platforms, such as:
- Cloud Computing Software Platforms, such as:
- AWS Software Platform for software cloud infrastructure.
- Microsoft Azure Software Platform for software enterprise cloud.
- Google Cloud Software Platform for software cloud services.
- IBM Cloud Software Platform for software hybrid cloud.
- Alibaba Cloud Software Platform for software Asia-Pacific cloud.
- Internet-based IT Platform as a Service (PaaS) for software cloud development.
- Function as a Service (FaaS) Platforms for software serverless computing.
- Cluster-based Computing Software Platforms, such as:
- Centralized Computing Software Platforms, such as:
- Decentralized Computing Software Platforms, such as:
- Distributed Computing Platforms, such as:
- Analytical Software Platforms, such as:
- Numerical Analysis Platforms, such as:
- Business Intelligence Software Platforms, such as:
- Data Analytics Platform Services, such as:
- Data-centric Software Platforms, such as:
- Data Processing Software Platforms, such as:
- Big Data Software Platforms, such as:
- AI and Machine Learning Software Platforms, such as:
- Machine Learning (ML) Model Management Platforms, such as:
- AI and Machine Learning (ML) Platforms, such as:
- AI Software Platforms, such as:
- NLP Software Platforms, such as:
- Software Development Platforms, such as:
- Software Engineering Platforms, such as:
- Low-Code Software Platforms, such as:
- Mobile Development Software Platforms, such as:
- Continuous Integration (CI) Platforms, such as:
- 3rd-Party Software Development Frameworks for software development tools.
- Monitoring Platforms, such as:
- Infrastructure Monitoring Software Platforms, such as:
- Security Monitoring Software Platforms, such as:
- Communication Software Platforms, such as:
- Specialized Software Platforms, such as:
- Learning Management System (LMS)s, such as:
- Document Management (DMS) Platforms, such as:
- Video Game Engines, such as:
- Speech Translation Platforms for software language processing.
- Conversational Chatbot Platforms for software conversational AI.
- Clinical Trial Management System (CTMS) for software clinical research.
- Experience Optimization Platform (EOP)s for software user experience.
- Experimentation Platforms for software A/B testing.
- Integration Platforms for software system integration.
- Governance, Risk Management, and Compliance (GRC) Platforms for software enterprise governance.
- Infrastructure as Code (IaC) Software Platforms for software infrastructure automation.
- Device Management Platforms for software device control.
- System Management Platforms for software system administration.
- Open-Source Platforms, such as:
- Software Platform Implementations by Year, such as:
- Mainframe Software Platform (1960s), during software platform initial era.
- Unix Software Platform (1970s), introducing software platform portability.
- Personal Computer Software Platform (1980s), democratizing software platform access.
- Web Software Platform (1990s), enabling software platform internet connectivity.
- Cloud Software Platform (2000s), providing software platform scalability.
- Mobile Software Platform (2010s), supporting software platform mobility.
- AI-Native Software Platform (2020s), integrating software platform intelligence.
- Notable Software Platforms, such as:
- ...
- Business Software Platforms, such as:
- Counter-Example(s):
- Software Library, which provides software functions but lacks software platform runtime environments.
- Operating System, which manages hardware resources but may not facilitate software system instance creation.
- Computer Architecture, which defines hardware structure without providing software platform services.
- Software Framework, which offers software structures but not complete software platform capabilitys.
- Software Development Kit (SDK), which provides software development tools but lacks software platform infrastructure.
- Software Application, which delivers software end-user functionality but lacks software platform extensibility.
- Software Package, which bundles software components but lacks software platform service layers.
- Software Protocol, which defines software communication standards but lacks software platform implementation.
- Software Macro, which automates software tasks but lacks software platform architecture.
- Run-Time Environment, which executes software code but may lack software platform development tools.
- See: Runtime Library, Central Processor Unit, Embedded System, Web Browser, Big Data Framework, Device Management Platform, Software System, Platform-as-a-Service, Software Development Environment, Software Infrastructure, Software Architecture, Software Ecosystem, Cloud Computing, Software Service, API Management, Software Deployment, DevOps Platform, Software-based Computing Platform, Continuous Integration (CI) System, Software Solution Stack, Full-Stack Software Engineer, Platform Engineer, Software Platform Architecture, Architectural Pattern, Software System-Supporting System, AI System Development Framework, Peer-to-Peer Lending System, Distributed Online Social Network, Software as a Medical Device (SaMD), Commercial Off-The-Shelf (COTS) Application, DevOps System Implementation, Platform-Based Customization Process, Software System Configuration Change Testing Process.
References
2024-12-19
- Deep Research
- Question: What is a software platform, including its definition, characteristics, categories, and examples with counter-examples?
- Answer: A software platform is an integrated foundation of software components that enables other software applications to be developed, executed, and deployed. It serves as the environment or base upon which software systems run, providing standardized, reusable infrastructure so developers don't have to start from scratch for every new application.
- Key Concepts:
- Definition: A software platform is the stage on which programs operate, encompassing tools, frameworks, and services needed to create and run software.
- Alternative Names: Also known as IT platform, computing platform, digital platform, application platform, or technology platform.
- Core Purpose: Built to be built upon – provides pre-built elements like development libraries, APIs, runtime environments, and databases so developers can focus on business-specific code.
- Ecosystem Dynamics: Fosters ecosystems of third-party developers and complementary products, with the platform's value growing as more developers build on it.
- Platform vs. Application: Unlike standalone applications with predefined business logic, platforms provide flexible bases that support many different applications or use-cases.
- Typical Capabilities:
- Development Tools and Frameworks: Platforms offer frameworks, libraries, or SDKs that provide reusable building blocks for applications.
- Runtime Environment and Infrastructure: Includes necessary runtime environment to execute applications – operating system, language runtime (e.g. Java VM or .NET CLR), web servers, and database engines.
- APIs and Integration Services: Exposes application programming interfaces that allow software components to interact and integrate, facilitating interoperability across the platform.
- Deployment and Lifecycle Support: Includes tools for software deployment, configuration, and lifecycle management, including continuous integration/continuous delivery pipelines.
- Scalability and Resource Management: Manages resource allocation such as scaling up computing power or balancing load among servers when demand increases.
- Orchestration and Coordination: Provides orchestration services to manage workflows, messaging, or transactions across components.
- Security and User Management: Offers built-in security features including user authentication, authorization services, encryption, and compliance measures.
- Extensibility (Plugin Architecture): Supports plugins or modular extensions, allowing developers to extend the platform with new features.
- Ecosystem and Marketplace Support: Provides ecosystem infrastructure including developer support, documentation, community forums, and marketplaces.
- Categories and Variations:
- Deployment Model:
- On-Premise: Installed locally within an organization's own infrastructure, requiring local hardware/software installations.
- Cloud-Based: Provided as an online service over the Internet, abstracting away infrastructure (e.g., Google App Engine, Heroku).
- System Architecture:
- Centralized: Operates under a central authority on unified infrastructure (e.g., Salesforce, AWS).
- Decentralized: Runs on a distributed network with no single controlling node (e.g., Ethereum blockchain platform).
- Application Scope:
- General-Purpose: Not tailored to any particular industry or use-case (e.g., Windows, Linux, AWS).
- Domain-Specific: Built with specialized features for particular fields (e.g., Salesforce Health Cloud, Unity3D).
- Complexity & Capability:
- Simple: Offers narrow set of functionalities, easy to learn but limited (e.g., basic website builder).
- Complex: Comprehensive suite of features supporting large systems (e.g., SAP Business Technology Platform, IBM Cloud).
- Ecosystem Model:
- Closed: Tightly controlled by provider, restricting what can run on it (e.g., Apple's iOS).
- Open: Allows third-party developers relatively free rein using published APIs (e.g., Android, the Web).
- Tenancy Model:
- Single-Tenant: Each customer gets isolated instance with separate data.
- Multi-Tenant: Single instance shared among multiple customer organizations (e.g., Salesforce CRM).
- Architecture Style:
- Monolithic: Built as one large unified codebase deployed together.
- Microservices-Based: Collection of small, independent services that work together (e.g., Netflix).
- Computational Paradigm:
- Traditional: May not include AI/ML by default.
- AI-Native: Has machine learning or AI capabilities deeply integrated (e.g., GitHub Copilot, PredicAire).
- Programming Model:
- Single-Language: Requires building in one specific programming language (e.g., early Google App Engine).
- Polyglot: Accommodates multiple programming languages (e.g., Heroku, AWS Lambda).
- Development Abstraction:
- Full-Code: Developers have full programming freedom using general-purpose languages.
- Low-Code/No-Code: Visual or declarative development environment with minimal hand-written code (e.g., OutSystems, Microsoft Power Apps).
- Deployment Model:
- Examples of Software Platforms:
- Operating System Platforms: Microsoft Windows, macOS, Linux, Android, iOS – manage hardware resources and provide services to application software.
- Cloud and Web Platforms: Amazon Web Services (AWS), Google Cloud Platform, Microsoft Azure, Heroku, IBM Cloud – provide on-demand services and Platform as a Service capabilities.
- Enterprise Application Platforms: Oracle Fusion Middleware, SAP Business Technology Platform, Salesforce Platform (Force.com), Red Hat OpenShift – integrated sets supporting large-scale business applications.
- Data and Analytics Platforms: Hadoop, Spark, Apache Kafka, Snowflake, Google BigQuery – specialize in data storage, processing, and analysis.
- AI and Machine Learning Platforms: TensorFlow Extended (TFX), PyTorch Lightning, Google Vertex AI, Azure Machine Learning Studio, AWS SageMaker – provide infrastructure for ML models.
- Industry-Specific Platforms: Healthcare platforms, IoT platforms like Azure IoT Hub, FinTech platforms, Gaming platforms – tailored for specific domains.
- Related Concepts and Counter-Examples:
- Standalone Applications vs. Platforms: A single software application not designed for others to build on is not a platform (e.g., basic calculator app, word processor).
- Software Libraries and Frameworks: A software library or framework is a building block within a platform, not the entire platform (e.g., React, Ruby on Rails).
- Operating Systems and Hardware: While foundational, an OS alone doesn't provide application-level frameworks or turnkey deployment for business solutions.
- Platform vs. Product: A software product delivers end-user functionality out-of-the-box, while a platform enables building custom functionality.
- Key Concepts:
- Citations:
[1] G.M. Research Knowledge Base – "Software Solution Platform" (2023) - http://www.gabormelli.com/RKB/Software_Solution_Platform [2] Wikipedia – "Computing platform" (retrieved 2023) - https://en.wikipedia.org/wiki/Computing_platform [3] Stack Overflow answer on software platforms (2018) - https://stackoverflow.com/a/31503953 [4] Coinbase – "What is Ethereum?" (2021) - https://www.coinbase.com/learn/crypto-basics/what-is-ethereum [5] Digital Guardian – "Single Tenant vs Multi-Tenant – What's the Difference?" (2019) - https://digitalguardian.com/blog/saas-single-tenant-vs-multi-tenant-whats-difference [6] Atlassian – "Microservices vs. Monolithic Architecture" (2020) - https://www.atlassian.com/microservices/microservices-architecture/microservices-vs-monolith [7] PredicAire Blog – "What Is AI-Native Software?" (2023) - https://www.predicaire.ai/blog/ai-native-and-plug-in-ai-digital-care-systems [8] Wikipedia – "Heroku" (2023) - https://en.wikipedia.org/wiki/Heroku [9] Microsoft Power Platform – "Low-Code vs. Traditional Development" (2022) - https://powerapps.microsoft.com/en-us/low-code/ [10] TiiQu (G. Gupta) – "Software vs Platform – solve this once and for all" (2020) - https://www.tiiqu.com/2020/03/software-vs-platform-lets-solve-this.html [11] Bridgera Blog – "What is a Software Platform? (Key takeaways)" (2020) - https://www.bridgera.com/blog/what-is-a-software-platform [12] GraphApp AI Blog – "What Is a Software Platform? Everything You Need to Know" (2025) - https://www.graphapp.ai/blog/what-is-a-software-platform
2024-12-19
- Deep Research https://chatgpt.com/share/6860559e-4050-8012-89d0-80473d02708a
- Question: What is a software platform, including its definition, characteristics, categories, and examples with counter-examples?
- Answer: A software platform is an integrated foundation of software components that enables other software applications to be developed, executed, and deployed. It serves as the environment or base upon which software systems run, providing standardized, reusable infrastructure so developers don't have to start from scratch for every new application.
- Key Concepts:
- Definition: A software platform is the stage on which programs operate, encompassing tools, frameworks, and services needed to create and run software.
- Alternative Names: Also known as IT platform, computing platform, digital platform, application platform, or technology platform.
- Core Purpose: Built to be built upon – provides pre-built elements like development libraries, APIs, runtime environments, and databases so developers can focus on business-specific code.
- Ecosystem Dynamics: Fosters ecosystems of third-party developers and complementary products, with the platform's value growing as more developers build on it.
- Platform vs. Application: Unlike standalone applications with predefined business logic, platforms provide flexible bases that support many different applications or use-cases.
- Typical Capabilities:
- Development Tools and Frameworks: Platforms offer frameworks, libraries, or SDKs that provide reusable building blocks for applications.
- Runtime Environment and Infrastructure: Includes necessary runtime environment to execute applications – operating system, language runtime (e.g. Java VM or .NET CLR), web servers, and database engines.
- APIs and Integration Services: Exposes application programming interfaces that allow software components to interact and integrate, facilitating interoperability across the platform.
- Deployment and Lifecycle Support: Includes tools for software deployment, configuration, and lifecycle management, including continuous integration/continuous delivery pipelines.
- Scalability and Resource Management: Manages resource allocation such as scaling up computing power or balancing load among servers when demand increases.
- Orchestration and Coordination: Provides orchestration services to manage workflows, messaging, or transactions across components.
- Security and User Management: Offers built-in security features including user authentication, authorization services, encryption, and compliance measures.
- Extensibility (Plugin Architecture): Supports plugins or modular extensions, allowing developers to extend the platform with new features.
- Ecosystem and Marketplace Support: Provides ecosystem infrastructure including developer support, documentation, community forums, and marketplaces.
- Categories and Variations:
- Deployment Model:
- On-Premise: Installed locally within an organization's own infrastructure, requiring local hardware/software installations.
- Cloud-Based: Provided as an online service over the Internet, abstracting away infrastructure (e.g., Google App Engine, Heroku).
- System Architecture:
- Centralized: Operates under a central authority on unified infrastructure (e.g., Salesforce, AWS).
- Decentralized: Runs on a distributed network with no single controlling node (e.g., Ethereum blockchain platform).
- Application Scope:
- General-Purpose: Not tailored to any particular industry or use-case (e.g., Windows, Linux, AWS).
- Domain-Specific: Built with specialized features for particular fields (e.g., Salesforce Health Cloud, Unity3D).
- Complexity & Capability:
- Simple: Offers narrow set of functionalities, easy to learn but limited (e.g., basic website builder).
- Complex: Comprehensive suite of features supporting large systems (e.g., SAP Business Technology Platform, IBM Cloud).
- Ecosystem Model:
- Closed: Tightly controlled by provider, restricting what can run on it (e.g., Apple's iOS).
- Open: Allows third-party developers relatively free rein using published APIs (e.g., Android, the Web).
- Tenancy Model:
- Single-Tenant: Each customer gets isolated instance with separate data.
- Multi-Tenant: Single instance shared among multiple customer organizations (e.g., Salesforce CRM).
- Architecture Style:
- Monolithic: Built as one large unified codebase deployed together.
- Microservices-Based: Collection of small, independent services that work together (e.g., Netflix).
- Computational Paradigm:
- Traditional: May not include AI/ML by default.
- AI-Native: Has machine learning or AI capabilities deeply integrated (e.g., GitHub Copilot, PredicAire).
- Programming Model:
- Single-Language: Requires building in one specific programming language (e.g., early Google App Engine).
- Polyglot: Accommodates multiple programming languages (e.g., Heroku, AWS Lambda).
- Development Abstraction:
- Full-Code: Developers have full programming freedom using general-purpose languages.
- Low-Code/No-Code: Visual or declarative development environment with minimal hand-written code (e.g., OutSystems, Microsoft Power Apps).
- Deployment Model:
- Examples of Software Platforms:
- Operating System Platforms: Microsoft Windows, macOS, Linux, Android, iOS – manage hardware resources and provide services to application software.
- Cloud and Web Platforms: Amazon Web Services (AWS), Google Cloud Platform, Microsoft Azure, Heroku, IBM Cloud – provide on-demand services and Platform as a Service capabilities.
- Enterprise Application Platforms: Oracle Fusion Middleware, SAP Business Technology Platform, Salesforce Platform (Force.com), Red Hat OpenShift – integrated sets supporting large-scale business applications.
- Data and Analytics Platforms: Hadoop, Spark, Apache Kafka, Snowflake, Google BigQuery – specialize in data storage, processing, and analysis.
- AI and Machine Learning Platforms: TensorFlow Extended (TFX), PyTorch Lightning, Google Vertex AI, Azure Machine Learning Studio, AWS SageMaker – provide infrastructure for ML models.
- Industry-Specific Platforms: Healthcare platforms, IoT platforms like Azure IoT Hub, FinTech platforms, Gaming platforms – tailored for specific domains.
- Related Concepts and Counter-Examples:
- Standalone Applications vs. Platforms: A single software application not designed for others to build on is not a platform (e.g., basic calculator app, word processor).
- Software Libraries and Frameworks: A software library or framework is a building block within a platform, not the entire platform (e.g., React, Ruby on Rails).
- Operating Systems and Hardware: While foundational, an OS alone doesn't provide application-level frameworks or turnkey deployment for business solutions.
- Platform vs. Product: A software product delivers end-user functionality out-of-the-box, while a platform enables building custom functionality.
- Key Concepts:
- Citations:
[1] G.M. Research Knowledge Base – "Software Solution Platform" (2023) - http://www.gabormelli.com/RKB/Software_Solution_Platform [2] Wikipedia – "Computing platform" (retrieved 2023) - https://en.wikipedia.org/wiki/Computing_platform [3] Stack Overflow answer on software platforms (2018) - https://stackoverflow.com/a/31503953 [4] Coinbase – "What is Ethereum?" (2021) - https://www.coinbase.com/learn/crypto-basics/what-is-ethereum [5] Digital Guardian – "Single Tenant vs Multi-Tenant – What's the Difference?" (2019) - https://digitalguardian.com/blog/saas-single-tenant-vs-multi-tenant-whats-difference [6] Atlassian – "Microservices vs. Monolithic Architecture" (2020) - https://www.atlassian.com/microservices/microservices-architecture/microservices-vs-monolith [7] PredicAire Blog – "What Is AI-Native Software?" (2023) - https://www.predicaire.ai/blog/ai-native-and-plug-in-ai-digital-care-systems [8] Wikipedia – "Heroku" (2023) - https://en.wikipedia.org/wiki/Heroku [9] Microsoft Power Platform – "Low-Code vs. Traditional Development" (2022) - https://powerapps.microsoft.com/en-us/low-code/ [10] TiiQu (G. Gupta) – "Software vs Platform – solve this once and for all" (2020) - https://www.tiiqu.com/2020/03/software-vs-platform-lets-solve-this.html [11] Bridgera Blog – "What is a Software Platform? (Key takeaways)" (2020) - https://www.bridgera.com/blog/what-is-a-software-platform [12] GraphApp AI Blog – "What Is a Software Platform? Everything You Need to Know" (2025) - https://www.graphapp.ai/blog/what-is-a-software-platform
2023
- (Wikipedia, 2023) ⇒ https://en.wikipedia.org/wiki/Computing_platform Retrieved:2023-7-27.
- A computing platform or digital platform or software platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed with it. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. [1] A computing platform is the stage on which computer programs can run.
A platform can be seen both as a constraint on the software development process, in that different platforms provide different functionality and restrictions; and as an assistant to the development process, in that they provide low-level functionality ready-made. For example, an OS may be a platform that abstracts the underlying differences in hardware and provides a generic command for saving files or accessing the network.
- A computing platform or digital platform or software platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed with it. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. [1] A computing platform is the stage on which computer programs can run.
2018
- https://stackoverflow.com/a/31503953
- QUOTE: A platform, on the other hand, provides both the hardware and the software tools needed to run an application - be it a standalone program or one which has been built on top of a framework. Mostly, it comes in the flavor of Platform-as-a-Service (PaaS), meaning that the code-basis of the platform software itself is not distributed or licensed. Rather, it is part of a hosted solution running in a cloud which can be accessed via APIs or GUIs.
Typically, platforms are built as scalable multi-tenancy systems, providing access to many users at the same time, thus using economies of scale to be able to offer services with an affordable price tag. Developers can then use platforms such as force.com or Google App Engine to build and run their own applications. In many cases, these applications are more light-weight than standalone programs because most of the business logic is contained in the platform.
- QUOTE: A platform, on the other hand, provides both the hardware and the software tools needed to run an application - be it a standalone program or one which has been built on top of a framework. Mostly, it comes in the flavor of Platform-as-a-Service (PaaS), meaning that the code-basis of the platform software itself is not distributed or licensed. Rather, it is part of a hosted solution running in a cloud which can be accessed via APIs or GUIs.
2015
- (Wikipedia, 2015) ⇒ http://en.wikipedia.org/wiki/computing_platform Retrieved:2015-7-20.
- A computing platform is, in the most general sense, whatever pre-existing environment a piece of computer software or code object is designed to run within, obeying its constraints, and making use of its facilities. The term computing platform can refer to different abstraction levels, including a certain hardware architecture, an operating system (OS), and runtime libraries. ...
2014
- (Wikipedia, 2014) ⇒ http://en.wikipedia.org/wiki/computing_platform Retrieved:2014-3-4.
- … Platforms may also include:
- Hardware alone, in the case of small embedded systems. Embedded systems can access hardware directly, without an OS.
- A browser in the case of web-based software. The browser itself runs on a hardware+OS platform, but this is not relevant to software running within the browser. [2]
- An application, such as a spreadsheet or word processor, which hosts software written in an application-specific scripting language, such as an Excel macro. This can be extended to writing fully-fledged applications with the Microsoft Office suite as a platform. [3]
- Software frameworks that provide ready-made functionality.
- Cloud computing and Platform as a Service. Extending the idea of a software framework, these allow application developers to build software out of components that are hosted not by the developer, but by the provider, with internet communication linking them together. [4] The social networking sites Twitter and facebook are also considered development platforms. [5] [6]
- A virtual machine (VM) such as the Java virtual machine. [7] Applications are compiled into a format similar to machine code, known as bytecode, which is then executed by the VM.
- A virtualized version of a complete system, including virtualized hardware, OS, software and storage. These allow, for instance, a typical windows program to run on what is physically a Mac. Some architectures have multiple layers, with each layer acting as a platform to the one above it. In general, a component only has to be adapted to the layer immediately beneath it. For instance, a java program has to be written to use the java virtual machine (JVM) and associated libraries as a platform, but does not have to be adapted to run for the Windows, Linux or Macintosh OS platforms. However, the JVM, the layer beneath the application, does have to be built separately for each OS. [8]
- … Platforms may also include: