When Sir Tim Berners-Lee created the World Wide Web in 1991, he surely couldn’t have imagined how it would become inextricably enmeshed in our daily lives. Today, with 4G mobile broadband, smartphones packing dual core processors, and tablets offering 128 gigabytes of storage, the world (and its eponymous web) is quite literally in the palms of our hands.
Modern software utilises the incredible speed and flexibility of the web to run complex interactive applications through our web browsers. These applications can include software packages like Google Docs (effectively a full word processor, but hosted remotely), or web-based email packages like Yahoo, where users log into a webpage before being able to view messages and search for keywords. A web application should merge seamlessly with the basic website itself, and it seems a long time ago that most websites were passive, static affairs with clickable links as their only form of interactivity.
If you’re app-y and you know it…
Web applications are so commonplace nowadays that we barely even notice them, but their distinguishing characteristic is their interactivity. If they can only be used with an active internet connection, they can be described as a web app - examples of the genre include online shopping, website gaming, message boards, user-edited content sites and satellite mapping. One of the biggest attractions of a web application course is that the potential for developing new (or better) applications is almost boundless.
In the frame
If you visit enough websites, you might start to notice some similarities between the way web applications work. This is because they tend to use a set number of programming languages, but also because software developers have created a series of basic frameworks, to help the producers of apps to concentrate on the important (or bespoke) elements of their apps, while using off-the-shelf templates or mechanisms for elements like data entry fields. On the one hand, that makes a career as a web developer considerably easier, but on the other hand, it requires teams of crack programmers to create new templates and frameworks for future use by third parties.
These frameworks take the grind out of creating new web applications, enabling people to focus on the fun elements like aesthetics and interactivity. Web application courses will typically encourage students to use frameworks, saving time on programming and allowing people to design frontends – the parts of the site that are actually seen and used.
You’re speaking my language
Despite the rich diversity of web applications in current circulation, these apps tend to be written using one of a limited number of coding languages. Anyone interested in studying a web application course might also be advised to consider a supplementary course in one of these languages:
1. HTML5. Early versions of HTML were basic and functional, but HTML5 is the first generation of this iconic website programming language designed to provide full interactivity and functionality, rather than relying on third-party software like Adobe Flash. Hyper Text Markup Language is relatively easy to understand, and if you simultaneously press the CTRL and U buttons on your PC’s keyboard right now, you will see the HTML coding used for this page.
2. Java. This is based on another common programming language – C++. Java prides itself on universal compatibility, and the fact that programmers can create one application that will work on almost any device has seen Java become one of the most popular programming languages in the world.
4. PHP. Another common scripting language for web applications, PHP markets itself on being quick and flexible. It was launched in the same year as Java (1995), and the presence of thousands of different functions allows users to be as creative with their web applications as they wish.
On course for success
The variety and choice of web application courses on offer reflects the sheer diversity of apps themselves. Students may wish to study a specific package like Symfony, Grails or Apache MyFaces. They might want to learn about the programming languages underpinning these packages, as discussed in the previous section, or they may wish to specialise in performance-testing existing applications.
Choosing a shortlist of the most suitable or interesting web application courses may even depend on existing knowledge or experience in related areas. Anyone used to basic HTML coding will find HTML5 easy to understand, while a track record of involvement with C++ would stand anyone in good stead for working with Java or its AJAX off-shoot.
By Neil Cumins