Платформу можно рассматривать как ограничение процесса разработки программного обеспечения , поскольку разные платформы предоставляют разные функциональные возможности и ограничения; и в качестве помощника в процессе разработки, поскольку они предоставляют готовую низкоуровневую функциональность. Например, ОС может быть платформой, которая абстрагирует основные различия в оборудовании и предоставляет общие команды для сохранения файлов или доступа к сети .
Компоненты
Платформы также могут включать в себя:
Только аппаратное обеспечение в случае небольших встроенных систем . Встроенные системы могут получать доступ к оборудованию напрямую, без ОС; это называется работой на « голом железе ».
Браузер в случае веб-программного обеспечения . Сам браузер работает на платформе «аппаратное обеспечение + ОС», но это не относится к программному обеспечению, работающему в браузере. [3]
Приложение, такое как электронная таблица или текстовый процессор, в котором размещается программное обеспечение, написанное на языке сценариев , специфичном для приложения , например макрос Excel . Это можно распространить на написание полноценных приложений с использованием пакета Microsoft Office в качестве платформы. [4]
Облачные вычисления и платформа как услуга . Расширяя идею программной среды, они позволяют разработчикам приложений создавать программное обеспечение из компонентов, которые размещаются не у разработчика, а у поставщика, при этом интернет-связь связывает их вместе. [5] Социальные сети Twitter и Facebook также считаются платформами развития. [6] [7]
Виртуальная машина (ВМ), например виртуальная машина Java или .NET CLR . Приложения компилируются в формат, аналогичный машинному коду, известный как байт-код , который затем выполняется виртуальной машиной.
Виртуализированная версия полной системы, включая виртуализированное оборудование, ОС, программное обеспечение и хранилище . Они позволяют, например, запускать типичную программу Windows на компьютере Mac.
Некоторые архитектуры имеют несколько уровней, каждый из которых выступает в качестве платформы для предыдущего. Как правило, компонент необходимо адаптировать только к слою, находящемуся непосредственно под ним. Например, программа Java должна быть написана для использования виртуальной машины Java (JVM) и связанных с ней библиотек в качестве платформы, но не должна быть адаптирована для работы на платформах ОС Windows, Linux или Macintosh. Однако JVM, уровень ниже приложения, необходимо создавать отдельно для каждой ОС. [8]
API Mozilla WebExtensions создан по образцу API Google Chrome . [9] [10] [11] Таким образом, расширения Firefox теперь в значительной степени совместимы со своими аналогами Chrome. [12]
↑ Эндрю Бинсток (2 июля 2012 г.). «Переосмысление Google браузера как платформы». Доктор Доббс .
^ Чип Уилсон; Алан Джозефсон. «Microsoft Office как платформа для программного обеспечения + сервисов». Сеть разработчиков Microsoft .
^ «Что такое PAAS?». Интераут . Архивировано из оригинала 22 октября 2015 г. Проверено 28 января 2014 г.
^ «Платформа разработки Twitter - Разработчики Twitter» .
^ «Запуск платформы разработки Facebook…» Facebook . 15 августа 2006 г.
^ «Независимость от платформы в байт-коде Java». Переполнение стека .
^ «Будущее разработки дополнений Firefox» . Блог дополнений Mozilla . Проверено 15 декабря 2018 г.
^ «Предстоящие изменения в функциях совместимости» . Блог дополнений Mozilla . Проверено 15 декабря 2018 г.
^ «Как включить устаревшие расширения в Firefox 57 — технические новости gHacks» . www.ghacks.net . 12 августа 2017 года . Проверено 14 декабря 2018 г.
^ «Портирование расширения Google Chrome» . Мозилла . Проверено 30 декабря 2018 г.