Web applications are software programs hosted on servers that can be operated remotely by means of browsers. One example of a web application would be Outlook.com, the advanced web-based email program that started with Microsoft’s purchase of Hotmail in the 1990s. These days, Outlook.com is an integral part of the MS Office Online suite of web applications that offer significant functionality in terms of spreadsheets, word processing, project management, presentations, and business communications through a browser interface.
In the case of advanced web applications suites such as Google Apps or Microsoft Office Online, their high levels of functionality and convenience prompt users to think about their web browsers and internet-connected devices as the only tools they need to accomplish many tasks. Let’s say a freelance journalist is assigned to cover a city council meeting; she only brings a Microsoft Surface hybrid to report, record video and take photos. Once she is connected to the internet, she can access MS Office Online to write her story, edit photos, attach video, and even create an invoice for her services; she can accomplish all these tasks directly on her browser thanks to modern web applications.
For the most part, web applications follow the traditional client-server model of computing, wherein the client is a modern browser that can communicate with servers that host applications developed within frameworks such as JavaScript, Ajax, Ruby on Rails, and others. Many web applications tend to be dynamic; they require a web server to handle the taking of requests plus an app server to complete the actual tasks. Highly advanced web applications such as Google Assistant utilize artificial intelligence and machine learning routines that may be handled by other servers.
Over the last two decades, web applications have come to redefine the overall functionality of the internet. Although web apps have been around since the late 1980s, they truly came of age with the Web 2.0 and cloud computing paradigms of the 21st century. A major aspect of the Web 2.0 philosophy is that the internet must be approached as a platform that offers more than just communications; for example, reading news stories on CNN.com is a Web 1.0 activity, and the same could be said about an individual who downloads video of a city council meeting to be played offline by software such as VLC or Windows Media Player. With Web 2.0, the same individual can access her online RSS account, click or tap on the city council meeting story and stream the HTML5 video directly on her browser thanks to web applications; she will not need to download separate videos or to launch software programs.
With the ongoing mobile device revolution, a slight rift has unfolded in terms of pitting mobile apps against web apps. There are two schools of thought in this regard: some argue that mobile apps cancel out web apps and vice versa. One example would be a scientific calculator for smartphones; what is the merit of installing such a smartphone app if users can simply launch their mobile browsers, navigate to Google.com and enter “online scientific calculator” to use a similar web application?
Cross-platform functionality is the main driver of web application development these days. A customer relationship management system that resides in the cloud should be able to be accessed from just about any modern browser; this is the great promise of web apps, particularly those that offer some level of offline functionality as well as data synchronicity.