Working the Web on a Budget
When I was in late elementary school, my family bought our first desktop computer. From the day we got it, I was fascinated by how it worked — especially the internet. The Web was a massive, complex treasure chest of goodies over which any eleven-year-old would drool and became my inspiration for becoming a programmer to this day. Like when I was a 5th grader, I never actually grew a taste for $400 development environments, so after many years of exploring and experimenting, I’ve gathered these fundamental and necessary tools to do all of my web development for free.
Before you can get into web development, you need to know what languages to work with. Every web page on the internet is written in HTML of one form or another. It’s not a programming language, per se, but a set of instructions to tell your web browser how a page is laid out.
Although HTML has historically been rather lax when it comes to syntax, the World Wide Web Consortium (W3C) has been working since the 90’s to make sure that developers had a way to make sure their web pages behaved the same way across all web browsers. Trust me, writing W3C-compliant code will make your job much easier and more enjoyable.
Making your website truly dynamic requires a little something extra. Message boards, email forms, user accounts, and more require knowing at least one server-side scripting language. A server-side language is a language used to process information from a user through the web server.
Most people would consider only subscribing to hosting services such as GoDaddy, 1&1, or BlueHost; but since we’re trying to save every penny that we can, we’re going to put them aside for the moment and discuss the DIY method.
Before you can start sending out web pages to the world, you’ll need a web server. Installing your web server is not difficult nor costly. In fact, Apache (one of the most common web servers in use) is completely free. Apache is an open-sourced project, meaning that any programmer can download, modify, and distribute the program without breaking any laws. You can download it for free from the Apache website.
Storing and retrieving information such as user accounts will require a database. Using a database requires familiarity with a type of programming language called SQL that lets you manipulate the data. One of the most commonly used is MySQL, another open-source program. Along with the software, the MySQL website offers extensive documentation on the SQL language that’s helped me more times than I can count.
Installing Apache and MySQL individually can be complex, especially since you still have to download and install the scripting languages you want to work with when you’re done. XAMPP is a self-contained web server and database with several scripting languages pre-installed. It’s easy to install and runs on just about any operating system.
You can host your website for the world to see with the right setup. Dynamic DNS services allow you to route a URL straight to your home computer, some free of charge. If you’re not too tech-savvy, you might just want to resort to an ordinary hosting plan.
Maintaining a large or complex website can be difficult for obvious reasons. Luckily, many programmers from across the world have worked together to make things a little simpler. When it comes to running a website, for example, there are numerous free content management systems available that let you throw together a website in a matter of minutes including Drupal, Joomla, and WordPress.
Joomla and Drupal are excellent for corporate or large sites. WordPress is the simplest since it’s focused mainly on the task of blogging, although you can expand it to do much more. Many themes and extensions allow you to expand each system’s capabilities. With enough experience, you can even develop your own.
The very same internet you’re about to tame also happens to be your best source for information. A quick search will reveal website upon website filled with tutorials, how-to’s, and code snippets to get you started. One of the best is w3schools where you can learn how to write code for any website you’ll encounter. For tips on style, user interface, and many more subjects, the online magazine A List Apart offers articles for beginners and experts alike.
With these resources under your belt, you’ll be well on your way to having your next favorite hobby. For me, web programming gave me an excellent way to make money. Perhaps you’ll even give birth to a million-dollar idea with your new skills. Either way, you’ll find that web development offers hours of challenging enjoyment and results you can show off to the whole world.