So I feel I need to start on the basics in order to grasp the types of technologies that are out there in the big wide world of the net. I want to be able to select a tool set that is clearly intrinsic to both how a digital project is put together and the final outcome. As the web is constantly evolving, I want to discover the basic tools that developers need in order to create sites and apps.

What I have learned thus far…

From the beginning web pages were written in HTML. This language is what tells the web browser the content and structure of the page. The HTML elements on a web page are defined by tags, usually having a start tag, for example, <p> for paragraph tag, and a closing tag </p>. The tags are not displayed, however they tell the web browser how the information should be displayed. For example, an <img> tag is to show an image. These HTML elements can also be linked to Cascading Style Sheets (CSS) to tell a web browser how to style the appearance of web pages. The introduction to CSS meant web pages were visually more expressive and the layout of a page was finally taken into consideration.

The idea of a dynamic webpage began with the scripting language Javascript, which meant that browsers could incorporate real-time interactions. For example, something on a page could be altered without needing to reload the entire page. As a result, web apps became faster and more responsive. In essence, Javascript is a language that helps create interactive websites, through the use of dynamic content, and runs on the web browser. Javascript falls under the umbrella of Client-Side Scripting Language, which enables (supports) interaction within a webpage. The code required to process user-input is downloaded and compiled by the browser or plug in. An example is a “rollover” which is typically triggered when choosing a navigation option.

jQuery is a multi-browser JavaScript library designed to simplify the creation of dynamic and interactive web content. It is free, open source software, and is designed to make it easier to find and manipulate elements and events on a web page. jQuery also, overcomes the need to refresh pages to view updated content. For example, it could be used to catch a mouse click on a certain area of a page that will then tell the web browser to hide or display some web content or pictures.

Web programmers often refer to the combination of JavaScript, XHR, CSS and several other web technologies as AJAX (Asynchronous JavaScript and XML). So Ajax is not a single technology, but a group of technologies used on the client side to create asynchronous web applications.

HTML has also continued to evolve as more features and improvements are incorporated into new versions of the HTML standard.The Latest version is HTML5 which incorporates a set of capabilities that give developers the ability to create great online applications, especially with video. So in early web, users had to install plug-ins in order to watch video in their browsers. As video became more and more sort after it became apparent for the need to embed the video within a page without any additional software. The HTML5 video tag does this. You can read in further detail other features of HTML5, in “28 HTML5 Features, Tips, and Techniques you Must Know”, by Jeffery Way.

As listed in the above article, HTML5 embodies some of the best aspects of the web, like working across multi-platform devices. One downfall at this stage is that HTML5 is not compatible with some browsers like Internet Explorer since it is still in a development stage and due to this reason, the features are still not fully defined. But even then it is very useful for the extra features it already provides which are absent in the previous version.

Another core technology is Server Side Scripting Language which involves completing an activity and then sending that information to another server to be processed. The server then runs a program that process the information and returns the results, typically a webpage. A great example, is a search engine. The keyword is typed in and then a program on a server matches the word entered against an index of website content.

Server-side scripting languages include ASP, PHP, Perl and much more. A good article which outlines the differences between the languages is “Which Server-Side Language Is Right For You?”, written by Kevin Yank. Another article on the topic can be found HERE.

For the purposes of the website we need to build for this assignment, I think I am going to go with PHP. I like the core idea that the server processes PHP commands – not the web browser. It can also be embedded into HTML which means the two are interchangeable within the page. As outlined in an article “Why Use PHP”, by Angela Bradley, it tells how PHP while adding some new features to your site, its basic appearance is still all created with HTML. It is great for things like users adding items to a shopping basket, as PHP can then store this information in a database for future reference. PHP is free and can generally be installed on all operating systems and web server platforms, which makes it highly available.

SQL is programming language designed for managing data in relational database management systems. It is basic language for all databases and is often called “Sequel”. As described by Wikipedia, a relational database means relationships are formed between pieces of data so all data should be significant. In essence, a relational database represents how things are connected. For example, a user could ask the database to construct a report of financial activity for the specific month. The output would simply be sent to SQL screen or saved in to particular file. An interesting article that explains SQL can be found HERE. It lists a number of DBMS (or “Back-end” systems), including DB2, Oracle, Microsoft’s SQL Server and Access, Sybase, Informix, MySQL, mSQL. Using SQL, we can store data, manipulate and retrieve from the database.

MySQL is one type of DBMS providing access to stored data. Many web applications use PHP and MySQL in partnership to provide feature rich websites: Joomla, WordPress and phpBB are all successful web applications that are highly available due to them being free and easily installed on web servers.