Starting Hobby Web Development

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 really 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. Languages 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 layed 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-complaint code will make your job much easier and more enjoyable. If you’re interested in adding a little flair or extra functionality to your web pages, JavaScript is your next tool. JavaScript is a more traditional programming languages filled with control structures, variables, timers, bells, and whistles that let you dynamically change the content on your websites. Knowing the fundamentals of JavaScript is essential to any modern website. If you really want to take the dynamics up a notch, modern packages such as MooTools and jQuery can take care of the hard stuff for you. 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. Unlike HTML and JavaScript, users of your website won’t be able to see server-side code. PHP and Ruby are the most popular and run famous websites such as facebook and Twitter. Mastering either of these languages will empower you to make any kind of website you please. To make development go faster, become familiar with CakePHP and Ruby on Rails. These frameworks simplify the programming process. Servers Most people would consider simply subscribing to hosting services such as GoDaddy, 1 amp;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 own 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 your’e 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 actually host your own 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. Management Tools 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 managment 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 websites. WordPress is the simplest since it’s focused mainly on the task of blogging, although you can expand it to do much more. There are many themes and extensions that allow you to expand each system’s capabilities. With enough experience, you can even develop your own. Learning Resources 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 definitely w3schools where you can learn how to write code for any kind of 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 a great way to make money through college. 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.