Web Site Designing | What Languages Do I Need to Learn?


What Languages Do I Need to Learn?

If you are a visual designer who spends time in Photoshop and Illustrator, you
may be put off by needing to learn how to create your designs with text, but I
assure you, it’s pretty simple to get started. There are also authoring tools that
speed up the production process, as we’ll discuss later in this chapter.
The following is a list of technologies associated with web development.
Which languages and technologies you learn will depend on the role you
see yourself in within the web design process. However, I advise everyone
involved in building websites to know their way around HTML and
Cascading Style Sheets, and if you want to do frontend web development
for a living, JavaScript know-how is pretty much a job requirement. More
technically inclined web professionals may take on server configurations,
databases, and site performance, but these are generally not frontend developer
tasks (although a basic familiarity with the backend issues never hurts).

Hypertext Markup Language (HTML)

HTML (HyperText Markup Language) is the language used to create web
page documents. There are a few versions of HTML in use today: HTML
4.01 is the most firmly established and the newer, more robust HTML5
is gaining steam and browser support. Both versions have a stricter implementation
called XHTML (eXtensible HTML), which is essentially the same
language with much stricter syntax rules.

Cascading Style Sheets (CSS )

While HTML is used to describe the content in a web page, it is Cascading
Style Sheets (CSS) that describe how that content should look. In the web
design biz, the way the page looks is known as its presentation. That means
fonts, colors, background images, line spacing, page layout, and so on…
all controlled with CSS. With the newest version (CSS3), you can even add
special effects and basic animation to your page.
CSS also provides methods for controlling how documents will be presented
in contexts other than the traditional desktop browser, such as in print and or
on devices with small screen widths. It also has rules for specifying the nonvisual
presentation of documents, such as how they will sound when read by
a screen reader (although those are not well supported).
Style sheets are also a great tool for automating production because you can
change the way an element looks across all the pages in your site by editing
a single style sheet document. Style sheets are supported to some degree by
all modern browsers.
Although it is possible to publish web pages using HTML alone, you’ll
probably want to take on style sheets so you’re not stuck with the browser’s
default styles. If you’re looking into designing websites professionally, proficiency
at style sheets is mandatory.

JavaScript/DOM scripting

JavaScript is a scripting language that is used to add interactivity and behaviors
to web pages, including these (just to name a few):
• Checking form entries for valid entries
• Swapping out styles for an element or an entire site
• Making the browser remember information about the user for the next
time she visits
• Building interface widgets, such as expanding menus
JavaScript is used to manipulate the elements on the web page, the styles
applied to them, or even the browser itself. There are other web scripting
languages, but JavaScript (also called ECMAScript) is the standard and most
ubiquitous.
You may also hear the term DOM scripting used in relation to JavaScript.
DOM stands for Document Object Model, and it refers to the standardized
list of web page elements that can be accessed and manipulated using
JavaScript (or another scripting language). DOM scripting is an updated
term for what used to be referred to as DHTML (Dynamic HTML), now
considered an obsolete approach.
Writing JavaScript is a type of programming, so it may be time-consuming
to learn if you have no prior programming experience. Many people teach
themselves JavaScript by reading books and following and modifying existing
examples.

Server-side programming

Some simple websites are collections of static HTML documents and image
files, but most commercial sites have more advanced functionality such as
forms handling, dynamically generated pages, shopping carts, content management
systems, databases, and so on. These functions are handled by web
applications running on the server. There are a number of programming
languages and frameworks (listed in parentheses) that are used to create web
applications, including:
• PHP (CakePHP, CodeIngniter, Drupal)
• Python (Django, TurboGears)