There is a distinct trend for websites to evolve from simple information sites to custom functionality incorporating the latest technology, increasingly business orientated software is being translated to the web.
The general public is probably familiar with the term 'web apps' or just 'apps' because of the explosion of mobile phone applications and usage in recent years. Similarly, there has been vastly increased usage of applications as services, such as webmail offered by Google and Yahoo for instance.
The concept of software as a service is very attractive. It is very convenient for the user, all that is required is a browser program and access to the internet. Software can be automatically upgraded at the server level requiring no intervention by the user in the aspect of updating and installing software.
Disadvantages of Web Based Applications
Generally, the split between browser and server, a model which has served the internet for some years, causes some issues not least of which, is the latency between user action and server response. Users tend to be impatient so this is a deep flaw.
The programming of applications is complicate by the multiplicity of languages available such as PHP, Ruby, and Python all interpreted languages. The is no uniform language which can be applied, most languages will allow most operations, all have their strengths and weaknesses.
There are considerable security issues where a user is required to login to perform an array of actions to create or amend documents or data base records
Future Prospects for Web Applications
This a particularly exciting time for developing web applications, in particular the browser server model may change dramatically to the point where applications are being run through the browser on a client computer. The server being updated purely in terms of data, meanwhile the host computer is responsible for the program and user interaction. That concept removes the issue of latency because as far as the user is aware the response to user interaction is immediate.
Scalability is a big issue when websites grow by user visits. What resources are needed and available now and what may needed in the near or middle term can be a difficult issue to resolve. No one wants to pay for unused resources on the other hand the site must function and be available as much as possible. Upgrading resources may involve improving resources by adding additional server memory or disk space or both such a virtual server. At what point will a dedicate server be required? Such issues can be resolved by hosting websites and their applications in the 'cloud'. Cloud computing is has the great advantage of distributed assets and those assets can be brought into use on demand.
It would be hoped that new efficient programming languages and frameworks come into being which allow a higher level of abstraction and re-usable building blocks
Web based applications become especially useful where collaboration is required over a wide geographic area and different need to be able to operate on one data source. User interfaces can be customised to allow only those people that need specific information are allowed access to that data. There can be a marked difference to the public aspect of a website and the administrative aspect which may and probably will, provide functions such as accounting, calendars, notes and other records which are not to be exposed in the public publishing area.