What is a WebApp?
What is a Web Application, and how does it vary from a traditional website?
~ Aristotle Sabouni
Created: 2000-05-25 |
Basics[edit | edit source]
- There's a joke in tech, "there is no cloud: there's just somebody else's computer": in other words, you're either using your machine, or someone else's.
- A traditional website is just you browsing some files (in the HTML format) on someone else's computer.
- A Web Application is for things more complex than just reading files: the other computer has to be running an Application (remotely) to serve up some of the stuff you're asking for: like if you need to enter forms and have that do something, do complex lookups (searches of files), or basically do anything more complex than read/write information but interact it with in a more complex way. That's what Web Apps are for.
Web Sites[edit | edit source]
The very high level view is that you have a server (that has some IP address and domain name). You type in the URL (domain and path information) or click on a link, which gets directed to that server. The server sees that as a request, and it responds by sending a file that a web-browser can understand, parse, and display. Any link, is just a reference to another file to load. This request-response loop is what the http (Hyper Text Transfer Protocol) is all about.
NOTE: The request-response cycle is the whole conceptual foundation of the world wide web:
- Users request either by typing the URL, or clicking on a link or image, and the server responds by sending back the file(s) that they clicked on or requested
- These files are just remote viewing someone else’s drive remotely – with a little formatting (HTML) for presentation
- These files and pictures don’t change, unless someone goes in and edits them (changes them manually)
Web Apps[edit | edit source]
Now sometimes websites want to do more than just serve static pages. You do things like you want to search a directory or a database, you want to display information conditionally, based on the users preferences or information you know about them, or allow them to enter information (through a form), and so on. That is where Application Servers or Web Applications come in. You need a computer program (Application), that is listening to the requests, and processing them.
Application Servers are far more versatile than just serving static pages and images. With application servers some of things you click on (links) aren't just static files, they are actually programs running on the server, or those links pass information to those programs. This allows those links to do more than a "simple" request (that can only return a static file) -- instead they can do things like a database query (and retrieve information for you based on information you filled out), or they can calculate some results (and do real computer work), or can add information to the server (write information to a database or file) that you gave it, or just automatically logging and remembering user actions on that site (like what they’ve read, or have interest in).
Basically a Web Application allows a program to do anything an Application can do, with the only limitation being that your interface is what you can pass and return from a Web Browser using HTML. So regular web serving is about almost all output, serving pages, and limited input; while Application serving is about many more possibilities that includes real input and bidirectional communication -- making the user experience far more rich and powerful.
I can't stress the differences between web and application serving enough. Traditional Web Serving is about giving people books (many pages) on-line and letting them turn the page, or choose other related topics and so on. The added dynamic nature of static links is an improvement over old style books -- but not about fully utilizing the new medium (the Web). Putting static links on a page requires the web designer to psychically know what the user wants to do, and still the user is only given the ability to mutely point to link and grunt, "me want that one". Application serving allows for many, many more possibilities, and allows the user to offer real input. Users can ask very complex things, and send larger amounts of information back (that will be processed) and allows for far more growth over time. The server can be much more sophisticated and instead of serving static pages (the same pages to everyone), the experience (pages) can be customized for each user based on information leaned about them (by asking, watching their behavior, or based on information they enter). The pages served are more dynamic (they change based on the users needs) and this is analogous to the differences between watching a TV show versus having a video conference and interacting with with whoever is on the other side. Application Servers allow companies to use the new medium (the Web) to it's full advantage.
Application Serving can also save you in design and maintenance time. It allows designers to look for commonality, and instead of serving many near identical duplicates of the same page (that only vary slightly), they can have one page (common format) that fills in all the unique information based on variables, parameters and context. This means less duplication of effort, more code reuse, and higher degrees of consistency.
Lastly application serving allows web site creators a much greater ability to track information, control information, and get input based on browsing habits and so on. With application servers they can audit what the users are doing, where they are going, and how users are using the site. This allows designers the ability to make a better site -- which should result in a better user experience and more payoff for creating the site, which is what the Web is all about.
Conclusion[edit | edit source]
There's some blurriness in what technical is a Web App, since a web server is running an Application, and there's some automated function in that App, that can do some complex things. And many Web Apps are just serving files (not all of them have complex databases, or are talking to other apps, etc). So people can pick nits and call a WebApp a Website and vise versa. But I don't think it needs to be that hard.
Application Serving is about making the Web a far more useful experience than just stuffing out lots of static pages. Yes, some websites can plug into off-the-shelf apps/utilities to do more than "just" serving files. But basically, Websites are still unidirectional experiences -- you request information, it serves it. Where a WebApp is about making the Web a bidirectional experience -- where you (a business) can be collecting information as well as just spewing it out, and where you not only spew information blindly but instead send out the right information (information more likely to fit the context of what the user wants), and you have programs and databases on the back end doing those calculations.
👁️ See also
- Bots, Crawlers and Spiders, oh my! - Bots, crawlers and spiders are an important part of the way search engines work.
- Cookies - You've probably heard someone reference "cookies". What are cookies, how do they work?
- EMail - The Origins, history and evolution of eMaill, forums and live chat. Here's the basics of email.
- Network Casting and Subnets - Casting and Subnets are ways to send to many people at once, but not everyone.
- Never trust the Internet - Think of the internet as "the net of 1,000 lies". Never forget that free does not always mean "correct"!
- Web Basics - Have you ever wondered how the Web works? The majority of the Internet and computers are actually very simple to understand.
- Web Search Basics - The basics of searching the web, or how to use Google better.
- What is DNS? - What and how Domain Names work: how to turn a human readable Domain (like igeek.wiki) into computer readable IP address.
- Basics of BASIC - People ask me, "How do I get started programming?" Ther are a lot of choices, but BASIC is a pretty simple start.
- Big or Little Endian - What is Endian? How do you like your eggs (or counting systems)? Big or little end up?
- Command Line Interface - There is an ancient computer debate about command-lines versus a GUI (Graphical User Interfaces).
- Databases - What is a database? What are the kinds of databases? Why do you care?
- Digitized Sound - Digitized Sound: understanding samples, rates and digital audio is really pretty simple.
- Enterprise Tools - Enterprise, Opensource or Commercial tools, which is better and why? Of course the answer is, "it depends".
- FUD - FUD means "Fear, Uncertainty and Doubt", it was used by big companies to scare users away from small companies.
- Forward Compatibility - People talk about "Backwards" compatibility, but Forward Compatibility is often more important.
- Free Features - A free feature in software, is like a free lunch: and in case you don't know, there's no such thing as a free lunch.
- Hiring Programmers - Many Human Resources and Managers, don't know how to hire or utilize programmers; proven by their job reqs.
- History of Visual Basic - The History of Visual Basic is a bit of a history of early computers and Microsoft...
- How does compression work? - How does software Compression work? How do you make something smaller?
- MHz or GHz - MHz or GHz, what does it mean? It's just clock speed - but that doesn't mean what some people think.
- RISC or CISC - During the 80s and 90s there was a Computer Chip design war about RISC or CISC.
- Raster Images - What exactly does raster versus vector images mean? Here's the very basics of pictures or rasterized images.
- Software Consultants - I worked over a decade as a consultant, and used and managed them for a couple decades more.
- Software Development Life Cycle - There's a lot of variants of a Software Development Life Cycle.
- Synthesized Sound - Synthesized Sound is just making waves... sound waves.
- UNIX - UNIX is the old war-bird of Operating Systems -- which is ironic as it isn't an OS any more -- but more on that later.
- What is MP3? - What is MP3? It's just a compressed file format used for sound (that came from MPEG's version 3).
- What is a WebApp? - What is a Web Application, and how does it vary from a traditional website?
- Why is software so buggy? - Why are programs so buggy? They're not bugs, they're undocumented features... sorry, that's an old programmer joke.
🔗 More
| |
| |
| |
🔗 Links
- https://en.wikipedia.org/wiki/Web_application
- https://www.seguetech.com/website-vs-web-application-whats-the-difference/
- https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Client-Server_overview
Tags: Tech Programming Networking