{"id":263,"date":"2022-03-07T10:35:10","date_gmt":"2022-03-07T10:35:10","guid":{"rendered":"https:\/\/www.normanbalberan.com\/blog\/?p=263"},"modified":"2022-03-05T00:48:13","modified_gmt":"2022-03-05T00:48:13","slug":"starting-hobby-web-development","status":"publish","type":"post","link":"https:\/\/www.normanbalberan.com\/blog\/starting-hobby-web-development\/","title":{"rendered":"Starting Hobby Web Development"},"content":{"rendered":"<figure id=\"attachment_264\" aria-describedby=\"caption-attachment-264\" style=\"width: 890px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-264\" src=\"https:\/\/www.normanbalberan.com\/blog\/wp-content\/uploads\/2016\/10\/web-development-hobby.jpg\" alt=\"web development hobby\" width=\"900\" height=\"479\" srcset=\"https:\/\/www.normanbalberan.com\/blog\/wp-content\/uploads\/2016\/10\/web-development-hobby.jpg 1200w, https:\/\/www.normanbalberan.com\/blog\/wp-content\/uploads\/2016\/10\/web-development-hobby-300x160.jpg 300w, https:\/\/www.normanbalberan.com\/blog\/wp-content\/uploads\/2016\/10\/web-development-hobby-768x409.jpg 768w, https:\/\/www.normanbalberan.com\/blog\/wp-content\/uploads\/2016\/10\/web-development-hobby-1024x545.jpg 1024w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><figcaption id=\"caption-attachment-264\" class=\"wp-caption-text\"><center><a href=\"https:\/\/pixabay.com\/en\/code-php-web-development-583795\/\" target=\"_blank\"><span style=\"font-size: small;\">simplu27 \/ Pixabay<\/span><\/a> \/ <a href=\"https:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/deed.en\" target=\"_blank\"><span style=\"font-size: small;\">CC0 1.0<\/span><\/a><\/center><\/figcaption><\/figure>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.normanbalberan.com\/blog\/starting-hobby-web-development\/#Working_the_Web_on_a_Budget\" >Working the Web on a Budget<\/a><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.normanbalberan.com\/blog\/starting-hobby-web-development\/#Languages\" >Languages<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.normanbalberan.com\/blog\/starting-hobby-web-development\/#Servers\" >Servers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.normanbalberan.com\/blog\/starting-hobby-web-development\/#Management_Tools\" >Management Tools<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.normanbalberan.com\/blog\/starting-hobby-web-development\/#Learning_Resources\" >Learning Resources<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h5 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Working_the_Web_on_a_Budget\"><\/span>Working the Web on a Budget<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p style=\"text-align: justify;\">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 \u2014 especially the internet. <strong>The Web was a massive, complex treasure chest of goodies<\/strong> 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\u2019ve gathered these fundamental and necessary tools to do all of my web development for free.<\/p>\n<h6 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Languages\"><\/span>Languages<span class=\"ez-toc-section-end\"><\/span><\/h6>\n<p style=\"text-align: justify;\">Before you can get into web development, you need to know what <strong>languages<\/strong> to work with. Every web page on the internet is written in <strong>HTML<\/strong> of one form or another. <strong>It\u2019s not a programming language, per se, but a set of instructions to tell your web browser how a page is laid out.<\/strong><\/p>\n<p style=\"text-align: justify;\">Although HTML has historically been rather lax when it comes to syntax, the <strong>World Wide Web Consortium (W3C)<\/strong> has been working since the 90\u2019s to make sure that developers had a way to make sure their web pages behaved the same way across all web browsers. <strong>Trust me, writing W3C-compliant code will make your job much easier and more enjoyable.<\/strong><\/p>\n<p style=\"text-align: justify;\">If you\u2019re interested in adding a little flair or extra functionality to your web pages, <strong>JavaScript<\/strong> 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.<\/p>\n<p style=\"text-align: justify;\"><strong>Knowing the fundamentals of JavaScript is essential to any modern internet site.<\/strong> If you want to take the dynamics up a notch, packages such as <a href=\"http:\/\/mootools.net\/\" target=\"_blank\">MooTools<\/a> and <a href=\"https:\/\/jquery.com\/\" target=\"_blank\">jQuery<\/a> can care for the hard stuff for you.<\/p>\n<p style=\"text-align: justify;\">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. <strong>A server-side language is a language used to process information from a user through the web server.<\/strong><\/p>\n<p style=\"text-align: justify;\">Unlike HTML and JavaScript, users of your website won\u2019t be able to see the server-side code. <strong>PHP and Ruby<\/strong> 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 <a href=\"https:\/\/cakephp.org\/\" target=\"_blank\">CakePHP<\/a> and <a href=\"http:\/\/rubyonrails.org\/\" target=\"_blank\">Ruby on Rails<\/a>. These frameworks simplify the programming process.<\/p>\n<h6 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Servers\"><\/span>Servers<span class=\"ez-toc-section-end\"><\/span><\/h6>\n<p style=\"text-align: justify;\">Most people would consider only subscribing to hosting services such as GoDaddy, 1&amp;1, or BlueHost; but since we\u2019re trying to save every penny that we can, we\u2019re going to put them aside for the moment and discuss the <strong>DIY method<\/strong>.<\/p>\n<p style=\"text-align: justify;\">Before you can start sending out web pages to the world, <strong>you\u2019ll need a web server<\/strong>. Installing your web server is not difficult nor costly. In fact, <a href=\"https:\/\/www.apache.org\/\" target=\"_blank\">Apache<\/a> (one of the most common web servers in use) is completely free. <strong>Apache is an open-sourced project, meaning that any programmer can download, modify, and distribute the program without breaking any laws.<\/strong> You can download it for free from the Apache website.<\/p>\n<p style=\"text-align: justify;\">Storing and retrieving information such as user accounts will require a database. <strong>Using a database requires familiarity with a type of programming language called SQL that lets you manipulate the data.<\/strong> One of the most commonly used is <a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\">MySQL<\/a>, another open-source program. Along with the software, the MySQL website offers extensive documentation on the SQL language that\u2019s helped me more times than I can count.<\/p>\n<p style=\"text-align: justify;\">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&#8217;re done.<strong> <a href=\"https:\/\/www.apachefriends.org\/index.html\" target=\"_blank\">XAMPP<\/a> is a self-contained web server and database with several scripting languages pre-installed.<\/strong> It\u2019s easy to install and runs on just about any operating system.<\/p>\n<p style=\"text-align: justify;\">You can host your website for the world to see with the right setup. <strong>Dynamic DNS services allow you to route a URL straight to your home computer<\/strong>, some free of charge. If you\u2019re not too tech-savvy, you might just want to resort to an ordinary hosting plan.<\/p>\n<h6 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Management_Tools\"><\/span>Management Tools<span class=\"ez-toc-section-end\"><\/span><\/h6>\n<p style=\"text-align: justify;\"><strong>Maintaining a large or complex website can be difficult for obvious reasons.<\/strong> 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 <strong><a href=\"https:\/\/www.drupal.org\/\" target=\"_blank\">Drupal<\/a>, <a href=\"https:\/\/www.joomla.org\/\" target=\"_blank\">Joomla<\/a>, and <a href=\"https:\/\/wordpress.org\/\" target=\"_blank\">WordPress<\/a>.<\/strong><\/p>\n<p style=\"text-align: justify;\">Joomla and Drupal are excellent for corporate or large sites. WordPress is the simplest since it\u2019s 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\u2019s capabilities. With enough experience, you can even develop your own.<\/p>\n<h6 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Learning_Resources\"><\/span>Learning Resources<span class=\"ez-toc-section-end\"><\/span><\/h6>\n<p style=\"text-align: justify;\"><strong>The very same internet you\u2019re about to tame also happens to be your best source for information.<\/strong> A quick search will reveal website upon website filled with tutorials, how-to\u2019s, and code snippets to get you started. One of the best is <a href=\"http:\/\/www.w3schools.com\/\" target=\"_blank\">w3schools<\/a> where you can learn how to write code for any website you\u2019ll encounter. For tips on style, user interface, and many more subjects, the online magazine <a href=\"http:\/\/alistapart.com\/\" target=\"_blank\">A List Apart<\/a> offers articles for beginners and experts alike.<\/p>\n<p style=\"text-align: justify;\">With these resources under your belt, you\u2019ll be well on your way to having your next favorite hobby. For me, <strong>web programming gave me an excellent way to make money.<\/strong> Perhaps you\u2019ll even give birth to a million-dollar idea with your new skills. Either way, you\u2019ll find that web development offers hours of challenging enjoyment and results you can show off to the whole world.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 \u2014 especially the internet. The Web was a massive, complex treasure chest of goodies over which any eleven-year-old would drool and became &#8230; <a title=\"Starting Hobby Web Development\" class=\"read-more\" href=\"https:\/\/www.normanbalberan.com\/blog\/starting-hobby-web-development\/\" aria-label=\"Read more about Starting Hobby Web Development\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":264,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,1],"tags":[185,184,183,182,181,160,180,173],"class_list":["post-263","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide","category-web-development","tag-apache","tag-budget","tag-languages","tag-learning-resources","tag-management-tools","tag-mysql","tag-servers","tag-web-dev"],"_links":{"self":[{"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/posts\/263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/comments?post=263"}],"version-history":[{"count":0,"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/posts\/263\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/media\/264"}],"wp:attachment":[{"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/media?parent=263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/categories?post=263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.normanbalberan.com\/blog\/wp-json\/wp\/v2\/tags?post=263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}