Прикладное программное обеспечение — это любая компьютерная программа , предназначенная для использования конечным пользователем , а не для эксплуатации , администрирования или программирования компьютера. Приложение ( приложение , прикладная программа , программное приложение ) — это любая программа, которая может быть отнесена к категории прикладного программного обеспечения. [1] [2] Распространенные типы приложений включают текстовый процессор , медиаплеер и бухгалтерское программное обеспечение .
Термин «прикладное программное обеспечение» относится ко всем приложениям в совокупности [3] и может использоваться для отличия от системного и служебного программного обеспечения.
Приложения могут быть связаны с компьютером и его системным программным обеспечением или опубликованы отдельно. Приложения могут быть проприетарными или с открытым исходным кодом . [4]
Термин «short term app» (введен в 1981 году или ранее [5] ) стал популярным с появлением в 2008 году iOS App Store для обозначения приложений для мобильных устройств , таких как смартфоны и планшеты . Позднее, с появлением Mac App Store (в 2010 году) и Windows Store (в 2011 году), этот термин был расширен в популярном использовании, включив в него настольные приложения.
Однако разграничение между системным программным обеспечением, таким как операционные системы , и прикладным программным обеспечением не является точным и иногда становится предметом споров. [6] Например, одним из ключевых вопросов в антимонопольном разбирательстве по делу США против Microsoft Corp. был вопрос о том, является ли веб-браузер Internet Explorer частью операционной системы Windows или отдельной частью прикладного программного обеспечения. В качестве другого примера, спор об именовании GNU/Linux отчасти обусловлен разногласиями по поводу взаимосвязи между ядром Linux и операционными системами, созданными на основе этого ядра . В некоторых типах встраиваемых систем прикладное программное обеспечение и программное обеспечение операционной системы могут быть неотличимы от пользователя, как в случае программного обеспечения, используемого для управления видеомагнитофоном , DVD- плеером или микроволновой печью . Приведенные выше определения могут исключать некоторые приложения, которые могут существовать на некоторых компьютерах в крупных организациях. Альтернативное определение приложения: см. Управление портфелем приложений .
При использовании в качестве прилагательного, приложение не ограничивается значением: прикладного программного обеспечения или программного обеспечения на нем. [6] Например, такие концепции, как интерфейс прикладного программирования (API), сервер приложений , виртуализация приложений , управление жизненным циклом приложений и переносимое приложение, применяются ко всем компьютерным программам в равной степени, а не только к прикладному программному обеспечению.
Иногда появляется новое и популярное приложение, которое работает только на одной платформе , что приводит к увеличению желательности этой платформы. Это называется killer application или killer app , придуманное в конце 1980-х годов. [7] [8] Например, VisiCalc был первым современным программным обеспечением для электронных таблиц для Apple II и помог продать новые тогда персональные компьютеры в офисы. Для BlackBerry это было его программное обеспечение для электронной почты .
Некоторые приложения доступны для нескольких платформ, в то время как другие работают только на одной и поэтому называются, например, географическое приложение для Microsoft Windows , или приложение Android для образования , или игра для Linux .
Существует множество различных и альтернативных способов классификации прикладного программного обеспечения.
С юридической точки зрения прикладное программное обеспечение в основном классифицируется по принципу «черного ящика» в отношении прав его конечных пользователей или подписчиков (с возможными промежуточными и многоуровневыми уровнями подписки).
Программные приложения также классифицируются по языку программирования, на котором написан или выполнен исходный код, а также по их назначению и результатам.
Прикладное программное обеспечение обычно подразделяется на два основных класса: приложения с закрытым и открытым исходным кодом, а также бесплатные или проприетарные приложения.
Проприетарное программное обеспечение находится под исключительным авторским правом, а лицензия на программное обеспечение предоставляет ограниченные права использования. Принцип открытости-закрытости гласит, что программное обеспечение может быть «открыто только для расширения, но не для модификации». Такие приложения могут получать только дополнения от третьих лиц.
Бесплатное программное обеспечение с открытым исходным кодом (FOSS) может использоваться, распространяться, продаваться или расширяться в любых целях и, будучи открытым, может изменяться или отменяться таким же образом.
Приложения FOSS, выпущенные по свободной лицензии, могут быть бессрочными , а также безвозмездными . Возможно, владелец , держатель или сторонний исполнитель любого права ( авторское право , товарный знак , патент или право собственности на чужое имущество ) имеют право добавлять исключения, ограничения, сроки действия или даты истечения срока действия в условия использования лицензии.
Общедоступное программное обеспечение — это тип FOSS, который является бесплатным и — открыто или ограниченно — может запускаться, распространяться, изменяться, отменяться, переиздаваться или создаваться в производных работах без указания авторских прав и, следовательно, отзыва . Его даже можно продавать, но без передачи права собственности на общественное достояние другим отдельным субъектам. Общедоступное ПО может быть выпущено в соответствии с юридическим заявлением о (не)лицензировании, которое обеспечивает соблюдение этих положений и условий на неопределенный срок (на всю жизнь или навсегда).
С момента разработки и почти всеобщего принятия Интернета , появилось важное различие между веб-приложениями — написанными с использованием HTML , JavaScript и других веб-технологий, обычно требующих подключения к Интернету и запуска веб-браузера , — и более традиционными нативными приложениями, написанными на любых языках, доступных для конкретного типа компьютера . В компьютерном сообществе ведутся споры относительно замены веб-приложений нативными для многих целей, особенно на мобильных устройствах, таких как смартфоны и планшеты . Веб-приложения действительно значительно возросли в популярности для некоторых целей, но преимущества приложений делают маловероятным их скорое исчезновение, если вообще когда-либо произойдет. Кроме того, эти два приложения могут быть взаимодополняющими и даже интегрированными. [9] [10] [11]
Прикладное программное обеспечение также можно рассматривать как горизонтальное или вертикальное . [12] [13] Горизонтальные приложения более популярны и широко распространены, поскольку они являются универсальными, например, текстовые процессоры или базы данных. Вертикальные приложения являются нишевыми продуктами , разработанными для определенного типа отрасли или бизнеса, или отдела в организации. Интегрированные пакеты программного обеспечения будут пытаться обрабатывать каждый конкретный возможный аспект, например, производственного или банковского работника, бухгалтерского учета или обслуживания клиентов.
Существует много типов прикладного программного обеспечения: [14]
Приложения также можно классифицировать по вычислительным платформам, например, настольные приложения для определенной операционной системы , [16] по сети доставки, например, в облачных вычислениях и приложениях Web 2.0 , или по устройствам доставки, например, мобильные приложения для мобильных устройств .
Сама операционная система может считаться прикладным программным обеспечением при выполнении простых вычислений, измерений, рендеринга и задач обработки текста, не используемых для управления оборудованием через интерфейс командной строки или графический пользовательский интерфейс . Это не включает прикладное программное обеспечение, встроенное в операционные системы, такое как программный калькулятор или текстовый редактор .
Происхождение killer app 1985–1990