What web design language should I learn?
December 5, 2006 7:44 PM   Subscribe

I want to learn web design. Not to be hired as a web designer but to design my own business site. I know some (a little) HTML. Is there another language that i should be focusing on that may be easier or better or do i pretty much start with HTML and get very good with that before moving on to something else...

I am in real estate and I would like to be able to have a page that is more interactive than what I am able to do with HTML. Can I move to JAVA or Ruby or something without being really good at HTML? If so which one should i focus on?
posted by Bjkokenos to Computers & Internet (18 answers total) 24 users marked this as a favorite
You'll want to know CSS and PHP.

posted by Milkman Dan at 7:49 PM on December 5, 2006

HTML, CSS, and Javascript are the things you need to know, because those are the things that actually get sent to the browser. It's good to have a basic understanding of how XML differs from HTML, so that you can use XML/XHTML tools. If you're doing fancy stuff you'll need a better understanding of XML.

The other languages --- Java, Ruby, PHP, Perl, Python, XSLT, and so on and so on --- you can pick and choose which ones you learn. Probably, you'll find some of them more to your liking than others. Odds are that you'll only do a little programming in these languages, but mostly use some sort of content management system written in one of these languages. Knowing the language your CMS is written in can be helpful, depending on this and that.

If you were hiring yourself out, you'd need to know more of the server-side languages, but since that's not your intention, I'd start with HTML and CSS, then once you have a handle on that, learn JavaScript and start looking at CMSs.

FYI, JavaScript and Java are unrelated languages (other than a common syntax derived from C). Netscape just chose that name to jump on the Java bandwagon.
posted by hattifattener at 8:01 PM on December 5, 2006

Learnd HTML and CSS first. These guys have a pretty tutorial for explaining what CSS is and how it relates to HTML.

Then you'll need to get into PHP/Mysql (or Java or Ruby)probably. As you're learning them, you'll want to get a CMS package. CMS stands for Content Management System.

Why do you want a CMS? Because it'll let you make templates to layout out the basic look and feel of your site. Once you're done that, you can just import/type data in, without having to do it manually every time. I.E. rather than having to build the HTML/CSS code for each listing, a CMS allows you design the look of a listing (or several for variety) and then you just fill out a webform for adding new listings. Plus the CMS will allow you to keep track of what you already and delete old stuff.

For instance, here's a CMS geared towards real estate: Property Site Manager. I've never used it, but just pointing it out as an example of what can be done.

Finally, while it's always good to learn, this might be some thing you want to hire out for, so you focus on your business.
posted by Brandon Blatcher at 8:03 PM on December 5, 2006

I second the CSS and PHP thing. To add to that... look at Content Management Software (CSS) like WordPress or Movable Type which is basically blogging software. I use WordPress for my sites and it let's you run a very complex sites that are easy to manipulate and maintain... and there are many professional free templates that are available from various sites. It really helps to know a little about CSS and PHP especially if you want to customize the design.
posted by randomthoughts at 8:04 PM on December 5, 2006

You only need to learn PHP if you're using something PHP-based on the server. I don't really like PHP, so I just want to make it clear that it's not the only game in town. Like I said in my earlier post, you'll probably like some languages better than others.
posted by hattifattener at 8:41 PM on December 5, 2006

Definitely CSS. Maybe a little Javascript, too.
posted by roomwithaview at 9:53 PM on December 5, 2006

Don't bother with JavaScript - although browser cross-compatibility has gotten a little better recently, you're still just asking for trouble and frustration if you try to do it right (so that it works well on all browsers) or embarassment you may never hear about if it doesn' t work well on all browsers. If you were learning more long-term, it might be worth it, but what you really want is a solid site that just works to communicate what you want.

If you really want something interactive, I'd strongly suggest hiring someone. There are a lot of things to know beyond just the technologies - it's very easy for a technology guru to make something unusable because he doesn't get color, typography considerations, or user interface principles.
posted by amtho at 10:55 PM on December 5, 2006

1. Print out the HTML cheat sheet and keep it handy.
2. Look at a few CSS tutorials and print out it's cheat sheet.
3. Download NVU and start building a page.
4. Javascript basics.

After you've become familiar with all of that (and it's a lot!):

To learn PHP, you'll probably want to set up a local server that includes Apache, MySql and PHP. There are packages that do this for you. This is also what you can to do in order to familiarize yourself with a CMS before dropping one on a server, where things can be more difficult to tool around with.

If you're in a hurry, there are always the big editors like Dreamweaver and GoLive (this one can be a bear). These will do quite a few for you but it's very important to understand what's going on under the hood when things break (and they will).

It's also very important to understand exactly what type of interactivity you're after and how it's accomplished before you decide which tools to use. So what are you doing back here? Get started!
posted by IronLizard at 11:10 PM on December 5, 2006 [3 favorites]

BTW, any examples of what you're trying to accomplish?
posted by IronLizard at 11:15 PM on December 5, 2006

HTML can be learned fairly quickly, and yes it's the only game in town as far as you're concerned. Just keep reminding yourself to think in terms of semantics -- what each piece of content is and what purpose its serves within the document -- rather than the temptation to start assigning tags arbitarily for their looks. You'll do fine.

(Good, cross-browser) CSS and JavaScript on the other hand are advanced topics. If making the site accessible to all is any kind of concern (and it usually has to be for a business site), be prepared for this project to take a good while to be launch-worthy. Totally worth the patience and education, but know too that there will be many nights spent cursing the day Internet Explorer was born.

If you just want to get a DIY website up quick(ish), tools like Dreamweaver can do a good job of facilitating the process without requiring deep skills.

"Interactivity" can mean almost anything. What exactly are you planning to add? The appropriateness of different solutions will depend on the specific need. Could be JavaScript, PHP, Java, Flash, etc.

Web design by the way is whole other kettle of fish. The art of engaging and communicating visually. For that you'll want to focus more on topic like graphic design, user interfaces, and usability.
posted by nakedcodemonkey at 11:59 PM on December 5, 2006

To clarify:

Yep, HTML is the foundation skill. There's no substitute language or an alternate starting place that would be easier. Sorry.
posted by nakedcodemonkey at 12:10 AM on December 6, 2006 [1 favorite]

There is a big disconnect between "I want to learn to design" and "what languages should I learn?"

That's like saying "I want to design a house; what kind of power tools should I buy?"

You don't use languages, let alone HTML or CSS or PHP or whatever, to DESIGN anything. You use them, maybe, to implement a design.

You learn to design by first learning how to see.

Small steps, grasshopper!
posted by rokusan at 1:56 AM on December 6, 2006

If your only reason is to develop your site it's not worth it - make some drawings and pay someone. If you have an underlying desire to do more then maybe it is. The only way to make web pages without being intimately familiar with HTML is to use a WYSIWYG editor like Dreamweaver but you won't be able to do much programming that way - all the web languages manipulate and generate html and trying to write code inside html you don't understand will likely be too frustrating.
posted by alizarin at 5:23 AM on December 6, 2006

HTML is the BASIC of website development. It is as simple as it gets.

If you use a good WYSIWYG editor, you don't even have to know much in the way of scripting unless you want to get fancy.
posted by JJ86 at 7:27 AM on December 6, 2006

i remember asking a similar question to a cs guy and he kind of laughed at me and made me feel stupid. anywho, i second most things said here about css, javascript, and php. but i also recommend trying out an open source cms such as wordpress. wordpress looks kindo of bloggy, but you can practice your html and css skills to make it look more home-pagey. goodluk
posted by localhuman at 8:11 AM on December 6, 2006

Just to avoid some confusion, I'd like to take a few more intertube bits and explain something about HTML/CSS/JS and scripting languages.

Your browser is designed to take a source HTML file and render it into the pretty green background you see here. The browser, essentially, doesn't care how that HTML got where it is. It could have been written manually, derived from a template, cached from a dynamic action or even generated entirely dynamically on request.

If you're interested in a small, mostly unchanging site, you only need to know HTML and CSS. Those other things like ruby, php, mysql are for making your pages more dynamic. You don't care about that.

I'd suggest, unless you have some design experience, just paying someone else to do it, or finding an open-source design you like and going with that.
posted by Skorgu at 8:58 AM on December 6, 2006

I second the advice to learn about design as well as the nuts and bolts of html and css.

A great way to learn how a design works is to try to recreate it. Find a website you really like, make a screenshot, print that out, then try to do the HTML/CSS to recreate it.

You'll learn a ton about design and markup -- much more than if you just do a "view source," and waymore than if you try implementing your own designs right off the bat.

BTW, lynda.com has some good HTML and CSS tutorials, but there is a small subscription fee.
posted by purplegenie at 9:06 AM on December 6, 2006 [1 favorite]

« Older how to quit job and then freelance for the...   |   Cleaning smoke from paintings Newer »
This thread is closed to new comments.