Wednesday Jul 25, 2007

Front-End Quiz Part 2, The Philosophy of JavaScript


What is the underlying philosophy of JavaScript? (As used on the web)

  1. As a way to add interactivity to a page, as opposed to HTML alone, which is static.

    I think this is only partially true. The problem is, as a philosophy, "to add interactivity" doesn't go to the root of the issue. This definition, however, is a sufficient one for those not involved in architecting the front-end.

  2. JavaScript defines the behavior layer.

    This is where I set up camp. This way of thinking about JavaScript is now emerging as the Way of Enlightenment, often dubbed "Unobtrusive JavaScript." The web consists of three layers: Content, Presentation and Behavior. These correspond to HTML, CSS and JavaScript, and it's best to keep them separate, living in separate files. The HTML layer is considered the base-functionality layer, and the other layers are considered the enhancement layers. It's a very elegant paradigm.

  3. As a client-side programming language, as opposed to a server-side language.

    True, but it doesn't really get us anywhere. While not incorrect, I don't think this distinction is the most significant or useful way of thinking about JavaScript. Perhaps this definition is popular because many programmers code mainly for the server, and tend to contemplate JavaScript in comparison to that task.


Wednesday Jul 18, 2007

Test your Knowledge about Front-End Web Architecture

Here are some questions about front-end web architecture to test your knowledge of the craft. Sometimes the answers are fuzzy, so I'll throw out a few possible answers in quiz form, and then give my opinion about what I think the correct answers are and what my reasoning is. Feel free to disagree!


What is the underlying philosophy of CSS?

  1. To distill out the presentation layer so the markup can focus on content.

    As I see it, this is the underlying philosophy of CSS. With CSS managing the details of the presentation, HTML can shed the presentational encrustation it developed during the browser wars, making it more concise and powerful. There's a term for this: Plain Old Semantic HTML, or POSH for short. POSH is easy to produce, maintain, style and script against.

  2. Because HTML turned out to be a horrible presentation language.

    Yes, but I'd clarify this one thing: HTML wasn't supposed to be a visual formatting language in the first place. In fact, the world's first web browser, which Tim Berners-Lee wrote in 1991, actually used stylesheets for the specific purpose of handling presentation. Subsequently, HTML got hacked into the role of handling the presentation during the tumultuous early evolution of the web.

  3. To give visual designers better control over a website's look and feel.

    I would somewhat disagree with this for a couple of reasons. A) CSS was meant to control presentation in more than just visual media. For example it can control Aural and Braille presentations. The visual (screen) medium just happens to be the most widely-adopted way of using CSS. B) CSS doesn't necessarily give better control, so much as a better means of control. For better control, we'll have to wait for future versions of CSS to be finalized by the W3C and implemented by browsers.

  4. So visual designers wouldn't have to muck around with HTML.

    I would disagree with this. In my experience, if a visual designer is writing CSS, they must understand HTML on a very deep level, and will almost certainly have to muck with the HTML. If, on the other hand, a visual designer is just designing in Photoshop and handing off bitmap comps to front-enders, then CSS is irrelevant to the visual designer anyway.


About

My name is Greg Reimer and I'm a web technologist for the Sun.COM web design team.

Search

Categories
Archives
« March 2015
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    
       
Today