Starting Hobby Web Development

Reading Time - 5 minutes
web development hobby
simplu27 / Pixabay / CC0 1.0
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.

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 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.

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 language 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 internet site. If you want to take the dynamics up a notch, packages such as MooTools and jQuery can care for the hard stuff for you.

Related:  How To: Run a WebSite

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 the server-side code. PHP and Ruby are the most popular and run popular websites such as Facebook and Twitter. Mastering either of these languages will empower you to make any 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 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.

Related:  Why Go for PHP Web Development?

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.


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 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.

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 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.

Related:  The Top 10 Web Site Design Mistakes

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.

About Norman Anthony Balberan

I am a Bachelor of Science in Pharmacy graduate turned full-time web developer and designer. Although my professional background is in pharmacy and tech, I have a passion for writing and am excited to share my insights and thoughts through my blog. I write about various topics that I am knowledgeable and passionate about, and I hope to engage and connect with my readers through my writing.



Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.