Web Application Development

09:30 Fri 18 Aug 2006
[, , , ]

There’s something about it I really like. I’m not entirely sure what that is, but at this point I seem to like it more than other kinds of software development. I don’t think that this is merely because I’ve done more of it than anything else.

I started off doing web design and development, and initially focused more on design, before becoming a more-or-less dedicated web developer who might do some design stuff on the side. As the Web in general became more complex, I naturally drifted more towards web applications, which can be defined roughly as “web pages that connect interactively to some backend” (usually a database backend).

I find them a lot more interesting than static web pages, partly because they’re more complicated, and partly because they’re so much more powerful. The effects of this power are quite dramatic, in that a small amount of automation can have quite staggering results. Blogs are a perfect example. Many of the people who wrote early blogs were easily capable of hand-coding (pretty quickly) the HTML output of their blogs. But even for them, the slight convenience of having a tool manage updates made a big difference, and that more or less led to blogging’s explosion. (This is true for me too, as supported by the fact that this blog runs on WordPress and is not hand-coded every day.) I’m attracted to the idea of creating things that makeeasier or possible things I already wanted to do on the Web.

The shift towards great power on the backend means that it’s debatable whether “web development” exists anymore as a category without involving “web application development”. For the moment, I’ll keep holding onto “application” as a differentiator.

As opposed to other forms of development, I find web application development to be immediate. That is, when you are doing it, you can see the feedback right away. Even in the early stages of development, you can see the results, unlike other large software projects where you might have to get quite a lot of code together before you can really see what’s going on.

I find that there are many (valid!) ways to approach problems, in that you can choose to solve problems in several areas, such as the database, the backend, or the frontend. One of the reasons I’ve been more gung-ho about web application development recently is because there’s an increasing acceptance and utilization of the fact that the frontend has a rather powerful programming language, JavaScript, built into it. So there’s room for rich exploration and development on the database end, the server language (PHP, JSP, ASP, RoR—or plain Ruby, or Perl, or Python, or even some form of LISP, or almost anything you want) end, and the frontend. Also, as much as it can be painful at times, I like the mix of other technologies in there, such as Apache (which can do some great things on its own, e.g. Rewrites). This also suits my “Jack-of-all-trades” tendency.

I like the “public” aspect. That is, even when working on small projects, whatever I do is going to be used by a reasonable number of people, who will experience it directly and to whom it will be visible. Unlike, say, programming the gearbox for a BMW. More people will use that software, and it may have a greater impact on them, but it will be invisible to them, whereas web development will not. And for whatever reason, I like that.

I like the very open, pro-sharing atmosphere of most web development (including web application development). That atmostphere helped me to learn most of what I know, and continues to do so, and in general people are very willing to share creative and ingenious approaches to a variety of obstacles.

All in all, I currently feel that this is the kind of programming I want to do, and I have no real desire to move away from it, although I do want to explore the various facets of it more deeply.

« (previous)
(next) »

Leave a Reply