back

Technology analysis

Name: Judi Wilkinson
Student Number: 81299888

Introduction

My project will involve building a new website for a personal training/bootcamp business. The site will include:

While primarily my focus is on front end technologies, I envisage the home workouts library and access to it will require some development with server side technologies.

This technology analysis will focus on the key tools I will deploy to successfully complete this project and the reasons for my choices.

Client side technologies

HTML5

Macro analysis

HTML (Hyper-Text Mark-Up Language) is the authoring language used to create websites. It consists of short tags enclosing website content to simply define the structure of a web page. It is openly available with a large and supportive community.

First introduced in 1991 by world wide web creator Tim Berners-Lee, HTML is a standardised language moderated by the World Wide Web Consortium, (W3C). HTML5 is the fifth revision and began to grow in popularity from around 2006.

HTML5 is cross-browser friendly with all modern popular browsers supporting it. Older browsers such as IE6 will recognise the doctype but may not render newer code tags without some additional coding.

Micro analysis

HTML5 enhancements have simplified the task of developing interactive websites that enhance user experience. For my project the ability to simply create a responsive site with social media connections is a key consideration for this technology choice.

The future use of video on my site is also a possibility and HTML5 facilitates this.

Some of the key advantages of using HTML5 are:

The wealth of online information, support and tutorials are also deciding factors supporting my choice of HTML5.

Alternatives to HTML 5

An alternative would be to use XHTML 1.0 as my markup language. XHTML or Extensible Hyper Text Markup Language was 'developed to make HTML more extensible and increase interoperability with other data formats.' (W3C XHTML 1.0 Specification, Section 1.1, 2002)

XHTML is considered 'strict' code and therefore less forgiving of coding errors such as unclosed tags and incorrect capitalisation. The reasons I decided against using XHTML 1.0 are:

A drawback of using HTML5 may be the need to include some additional code like JavaScript library 'Modernizer' to ensure compatibility with older browsers.

CSS3

Macro analysis

CSS (Cascading Style Sheets) is another mark-up language, similar to HTML. Its role in rendering a website is to style the content that has been structured by the HTML.

CSS was introduced in 1997. It is open source and is widely used and supported. Code specifications are defined by the W3C and CSS3 is the most recent standard. CSS3 works seamlessly with HTML5 and other key web technologies. It is compatible with the majority of modern browsers, but not older versions of Internet Explorer.

CSS3 works with HTML yet is independent of it and can be used with any XML-based markup language. 'The separation of HTML from CSS makes it easier to maintain sites, share style sheets across pages, and tailor pages to different environments.' (W3C Standards 2013)

Micro analysis

One of the beauties of using CSS to build a website is that it can be coded in a separate document to page content and applied universally across a website. This means style remains consistent and site-wide changes can be executed with ease.

The choice of CSS3 for my project was an easy one because of;

Alternatives to CSS3

The key disadvantage of using CSS3 is that some key new features will not work for users of older IE browsers. An alternate would be to use the previous version of CSS, however this would mean more advanced coding to achieve the desired styling effect.

An alternative to CSS would be to use LESS or Learners CSS. LESS is an open source CSS pre-processor created in 2009. The LESS website, www.lesscss.org claims that 'it extends the CSS language, adding features that allow variables, mixins, functions and many other techniques that allow you to make CSS that is more maintainable, themable and extendable'. (Sellier, A. n.d.)

As LESS is not as widely used, support is not as prolific online. I am also unfamiliar with how it interacts with other technologies therefore the simple choice for me remains CSS3.

JavaScript and jQuery

Macro analysis

JavaScript is most commonly used as a client side scripting language to bring interactivity to web pages. JavaScript can also be used as a server-side technology however I do not envisage this occurring within my project.

Developed in 1995, JavaScript is open source code with standards and specifications moderated by industry body ECMA (European Computer Manufacturers Association).

jQuery is a lightweight JavaScript library designed to make it easier to use JavaScript on a website. jQuery is a good technology choice for my project due to my lack of JavaScript knowledge.

Some of the key advantages of using JavaScript with jQuery are;

Micro analysis

JavaScript allows for interactive elements to be included in a website by simplifying common tasks into methods that can be called with a single line of code. Combined with jQuery the possibilities to improve site user experience are greatly enhanced.

In my project this will include features such as;

As I am finding learning JavaScript a challenge, being able to take advantage of freely available jQuery solutions is essential for the success of my project.

Alternatives to JavaScript and jQuery

While less popular there are some alternatives to using JavaScript. Java is a programming language developed by Sun Microsystems. It creates 'applets' that execute within a web page and is cross-browser compatible.

ActiveX is a specification developed by Microsoft. It allows ordinary Windows programs to be run within a Web page but its major downfall is that it only works on a Windows platform.

Neither Java nor ActiveX appear to have anywhere near the level of online support or tutorials that are available for JavaScript. JavaScript elements are also included as part of the Bootstrap responsive framework that I have decided to use for my project.

There are a few viable alternatives to using the jQuery library including MooTools and DojoToolkit, both of which have been widely used to code plugins for Wordpress and other CMS tools. Using these ready-built plugins rather than developing my own would be a far simpler and less time consuming, however I am confident in this choice as jQuery is backed by a powerful community, supports plenty of functions and has comprehensive online documentation.

Server side technologies

PHP

Macro analysis

PHP is an open source scripting language that can be embedded into HTML documents. It is a server side technology with code executed on the server, generating HTML which is then sent to the client.

Originally made available in 1995, PHP 5.6 was recently released as a development preview by the team responsible for the code - the PHP Group. PHP scripts can be used to collect form data, add or modify database information, generate dynamic page content and allow secure page logins using encrypted data.

PHP runs on various platforms (Windows, Linux, Mac OS X etc), is compatible with most servers and supports a wide range of databases.

Micro analysis

PHP comes pre-installed on most web servers, including those owned by Digital Pacific, the web host for my site. Additionally the pre-installed phpMyAdmin tool allows for simple database management via the site Cpanel.

I intend to use a database to store the home workout library and also potentially create a Q&A or discussion tool for members.

I envisage the PHP will allow for;

Alternatives to PHP

ColdFusion, Python and Ruby are all alternatives to using PHP. As I have worked with ColdFusion and online forms for a decade, this has taught me that ColdFusion online resources are not nearly as extensive as those on offer for PHP. While my learning curve for PHP may be a little slower, the two languages are similar enough for me to transition across with the help of online tutorials.

Python and Ruby while also widely used and supported, do not come pre-installed on the web servers provided by host Digital Pacific. With no server side experience I am hesitant in attempting this installation therefore have chosen PHP.

SQL with MySQL

Macro analysis

SQL stands for structured query language which is used for the management of relational databases. While there are database alternatives available, due to my limited knowledge of these SQL is the standard I will adopt for my project and this analysis will look at the system I will use to execute it - namely MySQL.

MySQL is an open source relational database management system that uses structured query language. It is server side technology that allows for the secure central storage and retrieval of data in data tables using basic data queries working together with PHP or similar scripting languages.

Originating in 1995, MySQL is currently owned by the Oracle Corporation who maintain documentation and also offer an upgraded paid version. MySQL runs on all key system platforms including OS X, Linux and Microsoft Windows.

Some of the advantages of using MySQL include:

Micro analysis

MySQL and the MySQL Database Wizard tool are pre-installed on the Cpanel provided by my web host Digital Pacific. The ease of accessing these plus the fact that I have used MySQL in the past have strongly influenced this technology choice.

On my site MySQL database tables will primarily be used for storage/retrieval of;

Alternatives to MySQL

There are viable alternatives to using MySQL including direct competitor MariaDB, developed by the original creators of MySQL. There is some growing concern that the Oracle Corporation will not always continue to offer MySQL as open source. However given my familiarity with using MySQL, and the fact that it is pre-installed by my web host, I am willing to take this risk in the short term.

Proprietary SQL management systems such as Microsoft SQL server are also viable alternatives for MySQL, however I do not have the budget to purchase this for my project.

Conclusion

This technology analysis has attempted to explain and justify the technology choices I have made for my web project. I should stress that this list is not definitive - there may be other technologies I encounter along the way that I find suitable to include in my project, and some of the technologies discussed above may not end up being required.

At this stage in my project planning however, I believe that these are the key technologies and methods I will deploy to achieve my goal of creating a simple, clean coded and responsive web site.

 

References

Raggett, D., Lam, J., Alexander, I. & Kmiec, M. 1998, Raggett on HTML 4, Addison Wesley Longman, Essex, UK.

Castro, E. & Hyslop, B. 2014, HTML and CSS (Eighth Edition), Peachpit Press, USA.

Lloyd, I. 2011, Build your own website the right way using HTML & CSS (3rd edition), Sitepoint Pty Ltd, Collingwood, Australia.

World Wide Web Consortium 2002, XHTML 1.0 The Extensible HyperText Markup Language (Second Edition), 1 August 2002, viewed 17 April 2014, <http://www.w3.org/TR/xhtml1/>

Grogan, N. 2013, 'HTML5 vs XHTML 1.0: Who is winning the race?', Downgraf design weblog for designers, weblog, viewed 17 April 2014,<http://www.downgraf.com/all-articles/html5-xhtml/>

World Wide Web Consortium 2013, Standards HTML & CSS, viewed 17 April 2014, <http://www.w3.org/standards/webdesign/htmlcss>

Sellier, A., n.d., About less, viewed 17 April 2014 <http://www.lesscss.org/about>

w3schools 2014, jQuery Introduction, viewed 17 April 2014, <http://www.w3schools.com/jquery/jquery_intro.asp>

Taub, M. 2013, Teach yourself jQuery Mobile in 24 hours, Sams Publishing, Indianapolis, USA.

The PHP Group 2014, What is PHP?, viewed 18 April 2014, <http://www.php.net/manual/en/intro-whatis.php>

Valade, J. 2004, PHP5 for Dummies, Wiley Publishing Inc., Hoboken, USA.

Oracle Corporation 2014, MySQL, viewed 18 April 2014 <http://www.mysql.com/>

Wikipedia 2014, MariaDB, April 2014, viewed 18 April 2014, <http://en.wikipedia.org/wiki/MariaDB>