Web application facts for kids
A web application (or web app) is a computer program that you use through a web browser, like Chrome or Safari. Web apps started appearing in the late 1990s. Before web apps, websites were mostly "static" – they looked the same for everyone. Web apps made websites "dynamic," meaning they could change and respond to what you do.
Web apps are usually stored on special computers called web servers. They use different systems to talk between your web browser and the server where the data is kept. Each system works in its own way. It's very important for developers to make sure web apps are secure to protect your information.
Many web apps are built using special tools called web application frameworks. Some cool types are "Single-Page Apps" (SPAs) and "Progressive Web Apps" (PWAs). These apps feel a lot like regular apps you install on your phone or computer. They offer smooth navigation, can sometimes work offline, and respond quickly.
Web apps are often stored and run on remote cloud services. This means you usually need an internet connection to use them. They can replace traditional programs you install on your computer, like those for Microsoft Windows. This setup is often called software as a service (SaaS). It lets developers control how the app is used and billed. Modern browsers like Chrome keep each web app in its own secure "sandbox." This improves security and stops the app from getting into your computer's files. You don't need to install any software because the app runs right in your browser. This also means you can use a less powerful computer, like a thin client, because the heavy work is done on the cloud servers. The code for web apps can work on different devices and operating systems. This is thanks to responsive web design, which makes sure the app looks good on any screen. This saves a lot of time for developers.
How Web Apps Started
The idea of a "web application" first appeared in 1999 with the Java programming language. Around that time, JavaScript and XML were already developed. A new tool called XMLHttpRequest also came out, which helped web pages talk to servers without reloading the whole page.
In the early 2000s, popular apps like Myspace (2003), Gmail (2004), Digg (2004), and Google Maps (2005) started making their websites much more interactive. This way of letting a web page script contact the server to save or get data without downloading the whole page became known as Ajax in 2005. Later, this was replaced by web APIs using JSON, which allowed JavaScript to get data from the server in the background.
In older computer systems, like client-server models, a program had parts on the server and parts installed on each user's computer. If the server part was updated, the part on each user's computer also needed an update. This cost more to support and slowed things down. Also, these programs often only worked on specific types of computers or operating systems.
In 1995, Netscape introduced JavaScript. This allowed programmers to add "dynamic" parts to websites that ran directly in the user's browser. Instead of sending data to the server to create a whole new page, JavaScript could do things like check if you filled out a form correctly or show/hide parts of a page.
The term "Progressive Web Apps" was created in 2015. These apps use new features in modern browsers. They start in a browser tab but can later work offline and be launched like a regular app without typing in a web address.
How Web Apps Are Built
Regular computer programs usually sit only on your computer. But web apps are built in a way that uses multiple layers. The most common setup is called a three-tier system. These three layers are: presentation, application, and storage.
- The first layer, presentation, is your web browser. This is what you see and interact with.
- The second layer, application, is the "brain" of the web app. It uses technologies like PHP or Node.js to create dynamic web content.
- The third layer, storage, is a database. This is where all the app's data is kept.
When you use a three-tier system, your web browser sends requests to the application layer. The application layer then asks the database for information or tells it to save new data. After that, it creates the web page you see in your browser.
For very complex apps, a "three-tier" system might not be enough. They might use an "n-tiered" approach, which breaks down the application's logic into even smaller parts. This can also include an "integration tier" to make it easier to access data from the database. For example, instead of directly asking the database for client information, the app might just call a simple function like "list_clients()". This means the database can be changed later without affecting other parts of the app.
Some people see web apps as a "two-tier" system. This could be a "smart" client doing most of the work and talking to a "dumb" server, or a "dumb" client relying on a "smart" server. While this can make apps more flexible, it often isn't enough for very large or complex applications.
Keeping Web Apps Safe
Security is a big deal for web apps. They often handle important company information and private customer data. Protecting this information is a key part of building any web app. This includes making sure only the right people can log in (authentication), that they can only do what they're allowed to do (authorization), and that data is handled carefully. It also involves checking what users type into the app and keeping records of what happens (logging and auditing). Building security into apps from the very beginning is usually the best way to keep them safe.
Making Web Apps
Building web applications is made easier with web application frameworks. These frameworks help developers create apps quickly. They handle common tasks like managing user accounts, so the development team can focus on the unique parts of their app.
There's also a possibility for apps to be built on "Internet operating systems." However, there aren't many popular platforms like this right now.
See also
In Spanish: Aplicación web para niños
- Web API
- Software as a Service (SaaS)
- Web 2.0
- Web engineering
- Web GIS
- Web services
- Web sciences
- Web widget