Разработка программного обеспечения: исторический обзор до наших дней
Разработка программного обеспечения (SD) с момента своего зарождения и до наших дней имела определяющие характеристики. С самого начала мир разработки программного обеспечения делился на две части: разработка свободного и открытого программного обеспечения и разработка проприетарного и закрытого программного обеспечения.
Всё это, в свою очередь, породило в каждом мире распределенных систем (DS) гонку за созданием похожих типов программного обеспечения, что в конечном итоге привело к появлению разнообразных типов приложений. Таким образом, в мире распределенных систем возникло первое и до сих пор существующее системное программное обеспечение (SS), затем программное обеспечение для программирования (SP) и, наконец, прикладное программное обеспечение (AS). И эти последние приложения, в свою очередь, варьировались от традиционных нативных приложений — то есть устанавливаемых и специфичных для каждой операционной системы (OS) — до инновационных распределенных приложений, работающих через Интернет на основе блокчейна.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Практически одновременно с появлением системных модулей (SS), которые, по сути, представляли собой сами операционные системы и включали в себя драйверы устройств, системные утилиты и все те инструменты, которые использовались для специфического управления характеристиками компьютера, то есть все те программы, которые облегчали управление аппаратными элементами (HW), такими как: память, диски, порты, устройства и периферийные устройства, появились также программные модули (SP) и системы автоматизации (SA).
Программные пакеты (СП) включают в себя программные продукты, используемые программистами для разработки других компьютерных программ с использованием различных языков программирования и/или баз данных. К СП обычно относятся текстовые редакторы, компиляторы, интерпретаторы, компоновщики и отладчики. Они также включают в себя интегрированные среды разработки (IDE), которые представляют собой программные пакеты, объединяющие все необходимые инструменты, упомянутые выше, в единую среду (обычно графический пользовательский интерфейс, или GUI) для охвата полного жизненного цикла разработки программы.
Категория «приложения» (SA) включает в себя программное обеспечение, используемое (конечными) пользователями для выполнения задач. К приложениям обычно относятся офисные пакеты, программное обеспечение для графического дизайна или мультимедиа, бухгалтерское или административное программное обеспечение — это лишь малая часть всех категорий приложений, которые можно найти в этой категории. Таким образом, приложение, или просто приложение, — это…
Любая программа, которая позволяет конечному пользователю выполнять различные задачи на компьютере, ноутбуке, планшете, мобильном или другом оборудовании или технологических платформах.

Приложения
На заре развития вычислительной техники приложения (Apps) характеризовались обязательным требованием установки для использования и принадлежностью только к одной конкретной операционной системе. Однако со временем и с развитием компьютерных наук и технологий приложения эволюционировали, приобретая такие характеристики, как портативность, кроссплатформенная совместимость, модульность и масштабируемость. Таким образом, сегодня существует множество типов приложений, от традиционных нативных приложений до инновационных распределенных приложений.
Главная
Нативные приложения, разработанные специально для конкретной операционной системы, обычно с использованием комплекта разработки программного обеспечения (SDK), были первыми. Ключевой характеристикой этих приложений является их полная интеграция с функциональными возможностями устройства или платформы, что приводит к улучшению пользовательского опыта. Поэтому они, как правило, лучше выглядят и работают в своей нативной среде, а также функционируют более плавно и надежно. Однако разработка таких приложений часто обходится дороже, если для каждой версии нативной операционной системы требуется новое приложение.
С развитием технологий появились веб-приложения, также известные как WebApps . Это приложения, которые запускаются, встроенные в веб-страницу или веб-сайт, через интернет-браузер. Следовательно, они могут работать практически в любом интернет-браузере и на любом типе компьютера, устройства или платформы. И практически все, что можно сделать в их веб-формате, можно сделать и в их устанавливаемом формате нативного приложения.
Гибридные приложения возникли в результате объединения двух предыдущих подходов. Это приложения, разработанные с использованием языков, типичных для веб-приложений, что позволяет использовать их на разных платформах , но при этом они обладают возможностью доступа к значительной части аппаратных возможностей компьютера, устройства или платформы, на которой они работают, как и нативные приложения. Другими словами, они в полной мере используют универсальность веб-разработки и аппаратную адаптивность нативных приложений.
настоящее время
Сегодня разрабатываются прогрессивные веб-приложения (PWA). По сути, это веб-страницы, использующие сервис-воркеры и другие технологии, которые ведут себя скорее как нативные приложения, чем как веб-приложения. В то время как сервис-воркеры и другие технологии работают в фоновом режиме, само приложение работает в веб-браузере.
Наконец, современные приложения все чаще переходят в формат распределенных приложений, также известных как децентрализованные приложения (DApps). Это децентрализованные приложения, использующие платформу блокчейн, позволяющую пользователям напрямую взаимодействовать и совершать транзакции (соглашения) без посредничества центральной организации, управляющей сервисом. Следовательно, в DApp каждый пользователь является узлом в децентрализованной сети, где все узлы коллективно выступают в качестве глобального нотариуса любой транзакции, совершенной на платформе.
Заключение
Мир разработки программного обеспечения, находясь в самом сердце науки и техники, постоянно развивается и совершенствуется. Таким образом, от устанавливаемого программного обеспечения (нативные приложения) возникло множество других форм приложений (веб, гибридные, прогрессивные, распределенные).
Эти формы приложений, несомненно, вскоре уступят место новым и инновационным формам, на которые повлияет использование современных и меняющихся технологий , таких как большие данные, глубокое обучение, искусственный интеллект, а также все еще развивающихся технологий, таких как облачные вычисления и блокчейн.