My Web 2.0 stack
Posted on Wednesday, December 7, 2005
at 2:40 PM
(permalink)
I'm not sure when "stack" came to mean a list of languages/technical standards used to build an app, but it is a useful description. It helps convey the logical architecture within a multi-layered development environment. The best example of a useful stack is LAMP (Linux, Apache, MySQL, Perl or Python or PHP), which summed up what most of us used to build Web 1.0. I've spent the last few months reading and skimming as many new technology books as possible, and I've narrowed down the list of things I need to become proficient in to understand how Web 2.0 works. What I still need is a catchy acronym. Here's the list:
- XHTML. This is basically HTML with some really prissy rules, like case sensitivity, and needing to close all tags. There are said to be tools that will make this conversion for you, but I haven't tried any.
- CSS. Once you understand the basic rules, CSS is a fun way to design a site, especially if you start with a pre-written stylesheet, so you can just change things like colors and spacing.
- XML. While XML itself can be understood in minutes, the many, many ancillary standards and protocols make it tough to find a real-world entry point. I've found RSS programming to be a good starting place.
- Ruby. I've been programming with Ruby for a month, and I'm getting to like it more and more. I think it may have the same level of ease and productivity that made the dBASE language so popular in its time.
- SQL. Yes, its still here, and its still the same, which is the problem. The issue will be fitting the object-oriented data structures of XML into the tables of SQL. The consultants will be paying their mortgages on this one for years.
- Javascript. I could say Ajax instead to assure a higher rating on the Web 2.0 Validator, but Ajax really means Javascript that maintains contact with a server without reloading a page.
Frankly, its not as much as I expected when I started researching Web 2.0 this summer. The good part is that it all fits together easily, and none of the parts are particularly challenging. That's when I am most productive. By the time a language gets as richly, and complexly supported as Java, for example, I get bored and confused and move on.
Book Note: Ajax in Action
Posted on Saturday, November 5, 2005
at 9:09 AM
(permalink)
I've read the first two chapters, and this looks like exactly what I was looking for. It is aimed at someone who already knows how to do Web 1.0 type of development, what this book refers to as "classic web development" without any sense of irony. The first chapter is a very clear, executive summary style presentation of why you would want to use Ajax techniques. It addresses the prejudice that many programmers, including myself, developed against Javascript in the late Nineties, and makes a good argument for incorporating it within web applications today. If you are trying to convince your boss or your company to adopt Ajax, this chapter will answer many of their questions.
The second chapter quickly works through all the technologies necessary for Ajax, including CSS, Javascript, the Document Object Model, and XML. It is aimed at experienced programmers who have ignored many of these issues in favor of "classic" server-side web programming. I think the authors realize that there are many people who are either forced by their companies to stick with the older techniques, or like me abandoned web development after the dot-com crash. It is written in a "hello world" style, but it manages to integrate a wide range of key steps. It may be the most ambitious and best written hello world chapter I've ever read.
I especially appreciate the authors' sense of just what their target audience would already know and where the gaps might be. Instead of taking the "a memory variable is like a shoebox with a name on it" approach that so annoyed me with Teach Yourself Ruby in 21 Days, they only explain the details that might be new to someone who only knows Web 1.0 techniques. I have only read the second chapter through quickly, but I plan on going back and trying out each of the step-by-step examples in this chapter. To quote Spinal Tap, "There is a fine line between clever and stupid," and the examples in this chapter stay on the right side of that line, while still being simple enough to learn the underlying technique.
Book Note: Ajax in Action
Posted on Wednesday, November 2, 2005
at 7:20 PM
(permalink)
Ajax is so bleeding edge that I am reading a book on it from the future. I thought the rule in publishing was that you could use the next year for the copyright if it was printed in late November, but this book arrived November 2 with a copyright of 2006. After yesterday's Microsoft Live demonstration, it is clear that all forces are converging on client side programming with Javascript and DHTML. There have been many blog posts accusing Microsoft of being a follower rather than a leader in this area, but the irony is that Microsoft created the XMLHttpRequest functionality that is the heart of Ajax. Adam Bosworth has an interesting post on this history.
The idea of simulating a desktop app in a browser using DHTML and Javascript goes back further than the XMLHttpRequest. I designed just such a product called GifWorks in 1998. The goal was to create Photoshop in a web browser. It wasn't completely client-side though. The interface runs in the browser, but the image processing is done on a server.
I'm not sure what I will do first with Ajax, but the most likely candidate is some type of mashup with Google maps.