Creating Websites – Programming Required

In a previous series, I discussed how you can build websites – no programming required. While you don’t need to program to setup  you’re own blog or wiki, you will need to program if you want to create or customize things beyond what your software has options for. In recent posts, I gave some tips for getting started with programming, and linked to some resources on Java and Python. This post will focus on the web languages – HTML, Javascript & PHP, and the final post will be on Ruby.

Before learning actual programming languages  you’ll want to get familiar with the basics of the web. Web pages are structured with HTML and styled with CSS, so you should quickly learn how they work. If you were editing pages before using a WYSIWYG tool like Expression Web, its time to start editing the actual HTML and CSS code. You can either do this in a simple program like Notepad++, or within Expression Web from the “code” view so you can still use some of its tools. To start learning HTML, you can go through a tutorial, such as one of the resources here from Mozilla. W3Schools often comes up on Google searches, and they have some useful interactive resources, but beware that they may contain a few inaccuracies. To get an idea of how HTML and CSS is used, you can view the source of any webpage you visit by clicking on “view source” in your browser. You can also play around with the HTML and CSS from within the Chrome developer tools or with Firebug on Firefox. This will let see how many different websites use CSS styles.

HTML on modern websites are not created by hand or by an HTML editor, but by web applications, such as a CMS. Web apps are written in programming languages, such as PHP or Ruby. As discussed, many web apps are written in PHP. So if you want to develop new components for your WordPress blog or wiki, you need to learn PHP.  W3schools has a fair amount of info on PHP, and I don’t think it has too many errors. WebMonkey looks like it has a good tutorial for beginners.  There aren’t many new interactive tutorials on PHP, but there are many books you can purchase.

If you’re more interested in front-end development (such as visual effects on a page), you need to learn Javascript. Unlike PHP, it is growing in popularity, so there are a ton of resources online to learn Javascript. Previously-mentioned Codecademy created their first tutorial for Javascript, and they have many courses on the topic. They have a bunch of competitors now, such as CodeAvengers, which seems geared at kids. Its good to go through a book too, and Eloquent Javascript is a great interactive resource. The key is to not just read, but to practice and build things, which is easy to quickly do in Javascript. Firebug and Chrome’s developer tools have great features for trying out your own javascript and exploring other website’s scripts also. After you know the basics of Javascript, you will be able to not only customize web pages, but also create other things like Chrome extensions. In fact, Javascript can now even be used to run the server-side of a website with Node.js (though its not for beginners). This means that you could conceivably create entire websites with javascript only. If you really want to learn Javascript well, you could consider attending Catalyst which is a new bootcamp that opened to train beginners.

Stay tuned for the next post on Ruby and Ruby and Rails, the most popular modern framework for creating websites.