Software Development: A historical review to the present day
Software Development (SD) has had defining characteristics from its inception to the present day. From the beginning, the world of Software Development was divided into two: Free and Open Source Software Development and Proprietary and Closed Source Software Development.
And all of this, in turn, sparked a race in each DS world to produce similar types of software, eventually leading to diverse types of applications. Thus, DS gave rise to the first and still current System Software (SS), then to Programming Software (SP), and finally to Application Software (AS). And these latter applications, in turn, ranged from traditional Native Applications—that is, installable and specific to each Operating System (OS)—to the innovative Distributed Applications that run over the Internet on a Blockchain.

Software
At virtually the same time as the SS were born, which were basically the OS itself , and encompassed device drivers, system utilities and all those tools used for the specific control of the computer's characteristics, that is, all those programs that facilitated the management of the Hardware (HW) elements, such as: memory, disks, ports, devices and peripherals, the SP and SA were also born.
Software packages (SPs) included software products used by programmers to develop other computer programs using different programming languages ​​and/or databases. SPs generally include text editors, compilers, interpreters, linkers, and debuggers. They also include Integrated Development Environments (IDEs), which are software packages that group all the necessary tools, mentioned above, into a single environment (usually a graphical user interface, or GUI) to cover the complete program development lifecycle.
And the SA category encompasses the software used by (end) users to accomplish a task. SA generally includes office suites, graphic design or multimedia software, accounting or administrative software, to name just a small fraction of all the application categories we can find in this category. Therefore, SA, or simply an application, is about
Any program that allows an end user to perform different tasks on a computer, laptop, tablet, mobile phone or other types of equipment or technological platforms.

Applications
Applications (Apps) in the early days of computing were characterized by the essential requirement of installation for use, and only within a single, specific, native operating system. However, with time and the advancement of computer science and technology, apps evolved, acquiring features such as portability, cross-platform compatibility, modularity, and scalability. Thus, today we have many types of apps, ranging from traditional native apps to innovative distributed apps.
Home
Native applications, those developed specifically for a particular operating system, usually using a Software Development Kit (SDK), were the first to be created. The key characteristic of these apps is their complete integration with the functionalities and features of the device or platform, resulting in a better user experience. Therefore, they tend to look and perform better in their native environment, as well as run more smoothly and reliably. However, they often have a higher development cost if a new app is needed for each version of the native operating system.
As technology advanced, Web Applications, also known as WebApps, emerged . These are applications that run embedded within a web page or website through an internet browser. Therefore, they can run on virtually any internet browser and on any type of computer, device, or platform. And practically everything that can be done in their web format can be done in their installable native application format.
Hybrid Applications emerged from the combination of the two previous approaches. These are apps developed using languages ​​typical of WebApps, allowing their use on different platforms , but with the ability of Native Apps to access a large part of the hardware features of the computer, device, or platform where they run. In other words, they take full advantage of the versatility of web development and the hardware adaptability of Native Apps.
News
Today, Progressive Web Apps (PWAs) are being developed. These are essentially web pages that utilize Service Workers and other technologies, behaving more like Native Apps and less like Web Apps. While the Service Workers and other technologies run in the background, the application itself runs within the web browser.
Finally, current apps have been migrating to the format of Distributed Applications, also known as Decentralized Applications (DApps). These are decentralized apps that use a blockchain platform to allow users to directly interact and conduct transactions (agreements) without the mediation of a central entity managing the service. Consequently, in a DApp, each user is a node in a decentralized network where all nodes act collectively as a global notary of any transaction made on the platform.
Conclusion
The world of software development, being immersed in the very heart of science and technology, is constantly evolving and advancing. And so, from installable software (native apps), many other forms of applications emerged (web, hybrid, progressive, distributed).
Forms that will surely soon give way to new and innovative forms of Apps, which will be impacted by the use of current and changing technologies , such as Big Data, Deep Learning, Artificial Intelligence, and the still changing technologies such as Cloud Computing and Blockchain.