Robert Felty: Web Development & Design

Technologies

I have used the following technologies in my experience in web design:

PHP
Pre-Hypertext Processor is a server-side scripting language which allows one to build dynamic and transactional websites. It can be used to process form data from users, and it can also be used to interface with a database, or update webpages as new information is submitted. The date of last modification and the selection of pages for this site are controlled by PHP.
Javascript
Javascript is a client-side scripting language, which also can make websites more dynamic. The advantage of a client-side scripting language is that changes can be made to a page without reconnecting to a server, which can result in a significant improvement. The font resizing function on this site is implemented in javascript.
(x)html
The web is mostly based on html (Hypertext Markup Language). Markup languages allow one to specify additional traits about how text should be formatted. For example, if one wants to emphasize some text, one can simply mark up the text like so:
<em>emphasized text</em>
xhtml refers to the new standard as set by the w3. It has a stricter syntax than previous versions of html, which aims to make the web browsing experience better. The hope is that website authors (and authoring programs), will all adhere to this syntax, and then web browsers (and other devices such as phones, screen readers etc.) will all be able to correctly handle the content.
mysql
mysql is an open-source relational database. It is one of the most popular databases currently in use. Essentially a database is a way to store information in a structured way, which makes accessing it quick and easy. One can think of a database as a collection of spreadsheets, with various tables, rows and columns. Using databases in websites affords several advantages.
  1. With a database comes searchability. While many websites offer users the option to search their site using google or some other search engine, this does not work well for sites that are updated frequently. Search engines have to crawl the entire web, which can take a long time. On smaller sites, search engines might only come around once a month or so. By having an internal database, searches always include all the content on the site
  2. Databases provide an abstraction layer. While someone has to create a well-structured database to begin with, once that is in place, users can create content without having to worry about where it should go. This makes it much easier to collaborate as well.
CSS
Cascading Style Sheets provide an elegant and clear way to style webpages. While html should provide structure to the document, for example by specifying the title of the document, and different sections of the document, CSS can be used to dictate how the content should be styled. One great advantage of CSS is that it can be changed very easily. If one has a website with 30 pages, and in each of these pages, the title is specified to be colored red, but suddenly someone decides they look better in blue, then one has to edit each page individually. If, however, one simply specifies the title for each page, one only has to change one CSS rule to change all the pages. Frequently when people redesign a website, they mostly redesign the style, not the content. Keeping these two separate makes for a cleaner website, and one that is much more ready for the future. The style setting function in this site uses CSS. As you can see, simply changing the style can substantially change the look of the site. Allowing users to choose their own style offers them more flexibility, and an enhanced browsing experience.
Apache
Apache is the most widely used webserver today. It is a great success story of an open-source project. Apache is a fast, robust, secure, and flexible webserver. Though most people don't know it, clicking on a link to a website has many hidden operations behind it. Once this request is received by a server, the webserver must parse the request, and find the requested file and any related files necessary (images, scripts, stylesheets etc.). Apache also has many other capabilities. PHP can run as an Apache module. Apache can also handle authentication and authorization, restricting access to certain parts of websites. One of Apache's extended functionalities that I use on this website is the ability to rewrite urls. In your browser you see a very nice and informative url. This does not actually correspond to a file on the server though. Apache takes this url and finds the necessary files according to a rule I have specified.
last modified
2008.06.12 21:55:40 EDT
Valid XHTML 1.1! Valid
  CSS!