<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://knowledgebase.pirho.net/index.php?action=history&amp;feed=atom&amp;title=The_Evolution_of_Application_Delivery</id>
	<title>The Evolution of Application Delivery - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://knowledgebase.pirho.net/index.php?action=history&amp;feed=atom&amp;title=The_Evolution_of_Application_Delivery"/>
	<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=The_Evolution_of_Application_Delivery&amp;action=history"/>
	<updated>2026-09-10T08:03:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://knowledgebase.pirho.net/index.php?title=The_Evolution_of_Application_Delivery&amp;diff=469&amp;oldid=prev</id>
		<title>Dex: Created page with &quot;&#039;&#039;&#039;Summary:&#039;&#039;&#039; The history of software development is, in many ways, the history of application delivery. For decades, developers have searched for the ideal balance between performance, portability, usability, security, maintainability, and deployment simplicity.  Each generation of application technology emerged to solve the limitations of the one before it. Some technologies disappeared, some evolved, and some continue to influence modern application design. Understan...&quot;</title>
		<link rel="alternate" type="text/html" href="https://knowledgebase.pirho.net/index.php?title=The_Evolution_of_Application_Delivery&amp;diff=469&amp;oldid=prev"/>
		<updated>2026-08-13T08:59:37Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Summary:&amp;#039;&amp;#039;&amp;#039; The history of software development is, in many ways, the history of application delivery. For decades, developers have searched for the ideal balance between performance, portability, usability, security, maintainability, and deployment simplicity.  Each generation of application technology emerged to solve the limitations of the one before it. Some technologies disappeared, some evolved, and some continue to influence modern application design. Understan...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Summary:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
The history of software development is, in many ways, the history of application delivery. For decades, developers have searched for the ideal balance between performance, portability, usability, security, maintainability, and deployment simplicity.&lt;br /&gt;
&lt;br /&gt;
Each generation of application technology emerged to solve the limitations of the one before it. Some technologies disappeared, some evolved, and some continue to influence modern application design. Understanding this evolution provides valuable insight into why modern application architectures look the way they do today.&lt;br /&gt;
&lt;br /&gt;
== Context ==&lt;br /&gt;
&lt;br /&gt;
Although technology changes rapidly, the challenges faced by software developers remain surprisingly consistent:&lt;br /&gt;
&lt;br /&gt;
* How do users obtain the application?&lt;br /&gt;
* How is the application updated?&lt;br /&gt;
* How portable is it?&lt;br /&gt;
* How much access does it need to the underlying system?&lt;br /&gt;
* How can development effort be reduced?&lt;br /&gt;
&lt;br /&gt;
Many &amp;quot;new&amp;quot; technologies are simply different answers to these same questions.&lt;br /&gt;
&lt;br /&gt;
== A Timeline of Application Delivery ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1990s&lt;br /&gt;
├── Native Desktop Apps&lt;br /&gt;
├── Browser Websites&lt;br /&gt;
└── HTAs&lt;br /&gt;
&lt;br /&gt;
2000s&lt;br /&gt;
├── Java Applets&lt;br /&gt;
├── Flash&lt;br /&gt;
├── AIR&lt;br /&gt;
├── Widgets&lt;br /&gt;
└── Silverlight&lt;br /&gt;
&lt;br /&gt;
2010s&lt;br /&gt;
├── Mobile Apps&lt;br /&gt;
├── SPAs&lt;br /&gt;
├── Electron&lt;br /&gt;
└── PWAs&lt;br /&gt;
&lt;br /&gt;
2020s&lt;br /&gt;
├── Cross Platform Frameworks&lt;br /&gt;
├── Web Runtime Environments&lt;br /&gt;
├── MAUI&lt;br /&gt;
└── Browser-hosted Applications&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each generation attempted to improve upon the strengths and weaknesses of its predecessors.&lt;br /&gt;
&lt;br /&gt;
== The 1990s: The Age of the Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== Native Desktop Applications ===&lt;br /&gt;
&lt;br /&gt;
During the 1990s, native desktop applications dominated personal computing.&lt;br /&gt;
&lt;br /&gt;
Examples included:&lt;br /&gt;
&lt;br /&gt;
* Microsoft Office&lt;br /&gt;
* Lotus Notes&lt;br /&gt;
* CorelDRAW&lt;br /&gt;
* Adobe Photoshop&lt;br /&gt;
&lt;br /&gt;
Applications were typically installed from:&lt;br /&gt;
&lt;br /&gt;
* Floppy disks&lt;br /&gt;
* CD-ROMs&lt;br /&gt;
* Corporate network shares&lt;br /&gt;
&lt;br /&gt;
Typical architecture:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application&lt;br /&gt;
     │&lt;br /&gt;
     ▼&lt;br /&gt;
Operating System&lt;br /&gt;
     │&lt;br /&gt;
     ▼&lt;br /&gt;
Hardware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Strengths ===&lt;br /&gt;
&lt;br /&gt;
* Excellent performance&lt;br /&gt;
* Rich user interfaces&lt;br /&gt;
* Deep hardware access&lt;br /&gt;
* Extensive operating system integration&lt;br /&gt;
&lt;br /&gt;
=== Challenges ===&lt;br /&gt;
&lt;br /&gt;
* Manual installation&lt;br /&gt;
* Difficult updates&lt;br /&gt;
* Platform dependency&lt;br /&gt;
* Software distribution costs&lt;br /&gt;
&lt;br /&gt;
=== Browser Websites ===&lt;br /&gt;
&lt;br /&gt;
As Internet access became widespread, websites evolved beyond static documents.&lt;br /&gt;
&lt;br /&gt;
Developers began building systems that accepted user input and generated dynamic content.&lt;br /&gt;
&lt;br /&gt;
Examples included:&lt;br /&gt;
&lt;br /&gt;
* Early webmail systems&lt;br /&gt;
* Online shopping platforms&lt;br /&gt;
* Corporate intranets&lt;br /&gt;
&lt;br /&gt;
This introduced a new concept:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The application lives on the server rather than the user&amp;#039;s computer.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This dramatically simplified deployment.&lt;br /&gt;
&lt;br /&gt;
=== HTML Applications (HTA) ===&lt;br /&gt;
&lt;br /&gt;
Microsoft recognised that many developers wanted the flexibility of web technologies with the power of desktop applications.&lt;br /&gt;
&lt;br /&gt;
HTAs attempted to bridge this gap.&lt;br /&gt;
&lt;br /&gt;
An HTA provided:&lt;br /&gt;
&lt;br /&gt;
* HTML user interfaces&lt;br /&gt;
* JavaScript and VBScript&lt;br /&gt;
* Desktop integration&lt;br /&gt;
* Reduced browser security restrictions&lt;br /&gt;
&lt;br /&gt;
Conceptually:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Web Technologies&lt;br /&gt;
        +&lt;br /&gt;
Desktop Trust&lt;br /&gt;
        =&lt;br /&gt;
HTA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many ideas later found in hybrid applications can be traced back to HTAs.&lt;br /&gt;
&lt;br /&gt;
== The 2000s: Rich Internet Applications ==&lt;br /&gt;
&lt;br /&gt;
As internet connectivity improved, developers sought to deliver richer experiences through the browser.&lt;br /&gt;
&lt;br /&gt;
This era became known as the age of the Rich Internet Application (RIA).&lt;br /&gt;
&lt;br /&gt;
=== Java Applets ===&lt;br /&gt;
&lt;br /&gt;
Java Applets promised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Write Once&lt;br /&gt;
Run Anywhere&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applications executed within the browser using the Java Runtime Environment.&lt;br /&gt;
&lt;br /&gt;
Developers could create:&lt;br /&gt;
&lt;br /&gt;
* Interactive interfaces&lt;br /&gt;
* Games&lt;br /&gt;
* Business applications&lt;br /&gt;
&lt;br /&gt;
However, browser compatibility, performance issues, and security concerns eventually reduced adoption.&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
&lt;br /&gt;
Adobe Flash became one of the most influential technologies of the era.&lt;br /&gt;
&lt;br /&gt;
Flash enabled:&lt;br /&gt;
&lt;br /&gt;
* Animation&lt;br /&gt;
* Video&lt;br /&gt;
* Interactive applications&lt;br /&gt;
* Browser games&lt;br /&gt;
&lt;br /&gt;
For many years, Flash offered capabilities that standard web technologies could not.&lt;br /&gt;
&lt;br /&gt;
Entire websites were sometimes built exclusively in Flash.&lt;br /&gt;
&lt;br /&gt;
=== Adobe AIR ===&lt;br /&gt;
&lt;br /&gt;
Adobe AIR extended Flash beyond the browser.&lt;br /&gt;
&lt;br /&gt;
Developers could create:&lt;br /&gt;
&lt;br /&gt;
* Desktop applications&lt;br /&gt;
* Media tools&lt;br /&gt;
* Business systems&lt;br /&gt;
&lt;br /&gt;
using familiar web technologies.&lt;br /&gt;
&lt;br /&gt;
Architecture:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application&lt;br /&gt;
      │&lt;br /&gt;
      ▼&lt;br /&gt;
 Adobe AIR&lt;br /&gt;
      │&lt;br /&gt;
      ▼&lt;br /&gt;
Operating System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AIR demonstrated that web technologies could be used for desktop application development.&lt;br /&gt;
&lt;br /&gt;
=== Widgets ===&lt;br /&gt;
&lt;br /&gt;
Widgets represented a different approach.&lt;br /&gt;
&lt;br /&gt;
Instead of building large applications, developers created small, focused applications designed to perform a specific function.&lt;br /&gt;
&lt;br /&gt;
Examples included:&lt;br /&gt;
&lt;br /&gt;
* Weather widgets&lt;br /&gt;
* RSS readers&lt;br /&gt;
* Clocks&lt;br /&gt;
* System monitors&lt;br /&gt;
&lt;br /&gt;
Platforms included:&lt;br /&gt;
&lt;br /&gt;
* Opera Widgets&lt;br /&gt;
* Yahoo Widgets&lt;br /&gt;
* Apple Dashboard Widgets&lt;br /&gt;
* W3C Widget specifications&lt;br /&gt;
&lt;br /&gt;
Many widget concepts later influenced modern component-based application design.&lt;br /&gt;
&lt;br /&gt;
=== Silverlight ===&lt;br /&gt;
&lt;br /&gt;
Microsoft Silverlight attempted to provide a .NET-based alternative to Flash.&lt;br /&gt;
&lt;br /&gt;
Features included:&lt;br /&gt;
&lt;br /&gt;
* Rich interfaces&lt;br /&gt;
* Multimedia support&lt;br /&gt;
* C# development&lt;br /&gt;
* Browser integration&lt;br /&gt;
&lt;br /&gt;
Silverlight gained significant enterprise adoption before HTML5 ultimately reduced the need for browser plugins.&lt;br /&gt;
&lt;br /&gt;
== The 2010s: Mobile and the Return of the Application ==&lt;br /&gt;
&lt;br /&gt;
The introduction of smartphones fundamentally changed software delivery.&lt;br /&gt;
&lt;br /&gt;
=== Mobile Applications ===&lt;br /&gt;
&lt;br /&gt;
Apple&amp;#039;s App Store and Google&amp;#039;s Play Store transformed application distribution.&lt;br /&gt;
&lt;br /&gt;
Advantages included:&lt;br /&gt;
&lt;br /&gt;
* Easy installation&lt;br /&gt;
* Automatic updates&lt;br /&gt;
* Device integration&lt;br /&gt;
* App monetisation&lt;br /&gt;
&lt;br /&gt;
This period saw a return to native application development.&lt;br /&gt;
&lt;br /&gt;
Developers often maintained separate:&lt;br /&gt;
&lt;br /&gt;
* iOS applications&lt;br /&gt;
* Android applications&lt;br /&gt;
* Web applications&lt;br /&gt;
&lt;br /&gt;
This increased development costs considerably.&lt;br /&gt;
&lt;br /&gt;
=== Single Page Applications (SPAs) ===&lt;br /&gt;
&lt;br /&gt;
Meanwhile, web applications continued to evolve.&lt;br /&gt;
&lt;br /&gt;
SPAs moved much of the application logic into the browser.&lt;br /&gt;
&lt;br /&gt;
Popular frameworks included:&lt;br /&gt;
&lt;br /&gt;
* Angular&lt;br /&gt;
* React&lt;br /&gt;
* Vue&lt;br /&gt;
&lt;br /&gt;
This produced experiences that felt increasingly similar to desktop applications.&lt;br /&gt;
&lt;br /&gt;
Architecture shifted from:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Page → Request → Page&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application → API → Data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Electron ===&lt;br /&gt;
&lt;br /&gt;
Developers soon realised that modern web applications looked and behaved remarkably like desktop software.&lt;br /&gt;
&lt;br /&gt;
Electron formalised this idea.&lt;br /&gt;
&lt;br /&gt;
By combining:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Web Application&lt;br /&gt;
      +&lt;br /&gt;
Chromium&lt;br /&gt;
      +&lt;br /&gt;
Node.js&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
developers could deploy desktop applications using web technologies.&lt;br /&gt;
&lt;br /&gt;
Electron became popular because organisations could reuse existing web development skills.&lt;br /&gt;
&lt;br /&gt;
=== Progressive Web Applications ===&lt;br /&gt;
&lt;br /&gt;
PWAs represented a different response to the same challenge.&lt;br /&gt;
&lt;br /&gt;
Instead of bringing browsers to the desktop, they brought desktop-like capabilities to web applications.&lt;br /&gt;
&lt;br /&gt;
Features included:&lt;br /&gt;
&lt;br /&gt;
* Offline support&lt;br /&gt;
* Push notifications&lt;br /&gt;
* Home screen installation&lt;br /&gt;
* Background synchronisation&lt;br /&gt;
&lt;br /&gt;
A PWA remained fundamentally a web application while behaving more like a traditional app.&lt;br /&gt;
&lt;br /&gt;
== The 2020s: Convergence ==&lt;br /&gt;
&lt;br /&gt;
Modern application development is increasingly focused on platform convergence.&lt;br /&gt;
&lt;br /&gt;
The distinction between native, web, and hybrid applications continues to blur.&lt;br /&gt;
&lt;br /&gt;
=== Cross Platform Frameworks ===&lt;br /&gt;
&lt;br /&gt;
Modern frameworks attempt to reduce duplicated effort.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Flutter&lt;br /&gt;
* React Native&lt;br /&gt;
* Uno Platform&lt;br /&gt;
* Avalonia&lt;br /&gt;
&lt;br /&gt;
The objective remains:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
One codebase, multiple platforms.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Runtime Environments ===&lt;br /&gt;
&lt;br /&gt;
A growing trend is the use of runtime environments that host applications and abstract platform differences.&lt;br /&gt;
&lt;br /&gt;
In this model:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application&lt;br /&gt;
      │&lt;br /&gt;
      ▼&lt;br /&gt;
 Web APIs&lt;br /&gt;
      │&lt;br /&gt;
      ▼&lt;br /&gt;
 Runtime Environment&lt;br /&gt;
      │&lt;br /&gt;
      ▼&lt;br /&gt;
Operating System&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The application primarily targets a consistent API surface rather than individual operating systems.&lt;br /&gt;
&lt;br /&gt;
This approach continues the ideas explored by browsers, HTAs, AIR, Electron, and hybrid frameworks.&lt;br /&gt;
&lt;br /&gt;
=== .NET MAUI ===&lt;br /&gt;
&lt;br /&gt;
.NET MAUI represents Microsoft&amp;#039;s current approach to unified application development.&lt;br /&gt;
&lt;br /&gt;
Applications can target:&lt;br /&gt;
&lt;br /&gt;
* Windows&lt;br /&gt;
* Android&lt;br /&gt;
* iOS&lt;br /&gt;
* macOS&lt;br /&gt;
&lt;br /&gt;
from a shared codebase.&lt;br /&gt;
&lt;br /&gt;
MAUI reflects the industry&amp;#039;s continuing pursuit of platform-independent development.&lt;br /&gt;
&lt;br /&gt;
=== Browser-Hosted Applications ===&lt;br /&gt;
&lt;br /&gt;
Browsers have evolved into highly capable application platforms.&lt;br /&gt;
&lt;br /&gt;
Modern browsers provide:&lt;br /&gt;
&lt;br /&gt;
* Local storage&lt;br /&gt;
* Offline caching&lt;br /&gt;
* Device integration&lt;br /&gt;
* Notifications&lt;br /&gt;
* Hardware acceleration&lt;br /&gt;
&lt;br /&gt;
As a result, many applications that once required native deployment can now execute entirely within a browser.&lt;br /&gt;
&lt;br /&gt;
== Recurring Themes Throughout History ==&lt;br /&gt;
&lt;br /&gt;
Several patterns repeatedly appear throughout the evolution of application delivery.&lt;br /&gt;
&lt;br /&gt;
=== Reduce Deployment Friction ===&lt;br /&gt;
&lt;br /&gt;
Every generation attempts to make deployment easier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Floppy Disk&lt;br /&gt;
    ↓&lt;br /&gt;
CD-ROM&lt;br /&gt;
    ↓&lt;br /&gt;
Download&lt;br /&gt;
    ↓&lt;br /&gt;
Browser&lt;br /&gt;
    ↓&lt;br /&gt;
App Store&lt;br /&gt;
    ↓&lt;br /&gt;
Cloud Service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Increase Portability ===&lt;br /&gt;
&lt;br /&gt;
Technology continually moves toward platform independence.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Platform Specific&lt;br /&gt;
        ↓&lt;br /&gt;
Cross Platform&lt;br /&gt;
        ↓&lt;br /&gt;
Platform Agnostic&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Balance Power and Security ===&lt;br /&gt;
&lt;br /&gt;
Every application model must balance:&lt;br /&gt;
&lt;br /&gt;
* User convenience&lt;br /&gt;
* System access&lt;br /&gt;
* Security&lt;br /&gt;
&lt;br /&gt;
Many technologies declined because they became difficult to secure.&lt;br /&gt;
&lt;br /&gt;
=== Reuse Existing Skills ===&lt;br /&gt;
&lt;br /&gt;
A recurring industry goal is reducing the need to maintain multiple codebases and specialist teams.&lt;br /&gt;
&lt;br /&gt;
Many modern frameworks exist primarily to maximise code reuse across platforms.&lt;br /&gt;
&lt;br /&gt;
== Have We Solved The Problem? ==&lt;br /&gt;
&lt;br /&gt;
Not entirely.&lt;br /&gt;
&lt;br /&gt;
The software industry continues to search for the ideal balance between:&lt;br /&gt;
&lt;br /&gt;
* Native performance&lt;br /&gt;
* Web portability&lt;br /&gt;
* Development efficiency&lt;br /&gt;
* Security&lt;br /&gt;
* User experience&lt;br /&gt;
&lt;br /&gt;
Every generation offers improvements, but no approach completely eliminates trade-offs.&lt;br /&gt;
&lt;br /&gt;
Consequently, application delivery continues to evolve.&lt;br /&gt;
&lt;br /&gt;
== Key Takeaways ==&lt;br /&gt;
&lt;br /&gt;
* Most application technologies emerged in response to specific limitations of previous generations.&lt;br /&gt;
* The industry frequently alternates between local execution and browser-hosted execution models.&lt;br /&gt;
* Many modern technologies revisit ideas first explored decades earlier.&lt;br /&gt;
* Cross-platform development remains a consistent objective throughout computing history.&lt;br /&gt;
* Application delivery mechanisms change, but the underlying challenges remain remarkably similar.&lt;br /&gt;
* Understanding historical solutions helps architects avoid repeating past mistakes and identify genuinely new innovations.&lt;br /&gt;
&lt;br /&gt;
== Related Topics ==&lt;br /&gt;
&lt;br /&gt;
* [[Applications Demystified]]&lt;br /&gt;
* [[Progressive Web Applications]]&lt;br /&gt;
* [[Single Page Applications]]&lt;br /&gt;
* [[Cross Platform Development]]&lt;br /&gt;
* [[Runtime Environments]]&lt;br /&gt;
* [[Hybrid Applications]]&lt;br /&gt;
* [[Software Architecture]]&lt;br /&gt;
* [[Web Runtime Environments]]&lt;/div&gt;</summary>
		<author><name>Dex</name></author>
	</entry>
</feed>