Traditionally, software applications have been written in some arcane textual language and machine translated into a binary language, with that bit stream installed on the machine where the application must run.
By "arcane" is meant that while the textual language is human-readable, it is only comprehensible to trained software professionals. The remaining steps of translation into binary and delivery and installation in a machine are also professional topics.
Web applications, from the beginning, are different.
The textual language is HTML, and there is no need for translation into a binary machine language. The "machine where the application must run" is the web browser and it displays the page described by the HTML code it receives.
The browser is itself an application that runs on a personal computer or device, as a native application. That device most likely has many other native applications. A web application is distinguished from a native application in that it runs in a browser.
The bad old days
This author's opinion is that the traditional methods of writing an application are "bad" in the sense that the person benefiting from an application has no insight at all into how it works. The web brought a breath of fresh air.
In the beginning was the web
The invention of the web not only brought the Internet into everyday usage, it also introduced a decade or so of "good" years, so far as software applications is concerned.
The HyperText Markup Language (HTML) is not only human-readable, but it can be learned by non-technical people. See, for example, HTML basics - Learn web development from the Mozilla Developer Network, and numerous other web pages that teach the markup language.
Furthermore, the browser has an option (on the right-click menu) to "View Page Source" which will show you the HTML of the page that you are visiting. From this you can learn how to code things of interest that you see on a web page (that is how the author gained his knowledge of HTML).
Early web applications
A static website consists of web pages written and marked up using HTML along with other assets. These are developed by an author using appropriate tools* and uploaded to the web server machine.
A web application is a program that produces an HTML document. It is often written in some arcane textual language, translated to binary to run on the application server. The web page it generates usually contains data from a database.
The web page such an application produces is simply HTML and thus the person viewing the generated pages can use the "View Page Source" option to see the markup and content of the page.
Into the third millennium
More recently, there has been a movement towards what is known as Single-page applications. Such applications are written in an arcane textual language and translated into a non-human-readable language (minified JavaScript (or, the even more arcane WebAssembly)) which is then delivered to the browser, which runs it.
This means that the "View Page Source" option no longer shows what is going on in the browser. The web application is no longer legible.
Progress or regression?
While many call these new techniques "modern" (and they are that), they are in this author's opinion throw-backs to the bad old days of software applications.
Notes
* Even in those early days of the web, there were tools for creating HTML that the author cannot recommend**. They seemed to promise a sort of WYSIWYG way of laying out pages, but generated HTML which was, again, arcane. Anyone trying to make sense of the pages they generate using the "View Page Source" option would quickly get lost.
** In 1997, a friend used Microsoft Front Page to show the author how he wanted his travel site to look and feel. The pages looked good. But the HTML the tool generated was really bad and unnecessarily complex. The author spent a few hours crafting by hand sleek HTML code that produced pages that looked almost exactly the same. We then spent some pleasant years collaborating on web applications to generate his travel website (until his passing in 2014).
This post made me think of Harry Potter and the Chamber of Secrets, where Mr. Weasley tells Ginny, "Never trust anything that can think for itself if you can't see where it keeps its brain!"
ReplyDeleteI like the idea of transparency for users.